gitx.do 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/cli/commands/blame.d.ts +259 -0
  2. package/dist/cli/commands/blame.d.ts.map +1 -0
  3. package/dist/cli/commands/blame.js +609 -0
  4. package/dist/cli/commands/blame.js.map +1 -0
  5. package/dist/cli/commands/branch.d.ts +249 -0
  6. package/dist/cli/commands/branch.d.ts.map +1 -0
  7. package/dist/cli/commands/branch.js +693 -0
  8. package/dist/cli/commands/branch.js.map +1 -0
  9. package/dist/cli/commands/commit.d.ts +182 -0
  10. package/dist/cli/commands/commit.d.ts.map +1 -0
  11. package/dist/cli/commands/commit.js +437 -0
  12. package/dist/cli/commands/commit.js.map +1 -0
  13. package/dist/cli/commands/diff.d.ts +464 -0
  14. package/dist/cli/commands/diff.d.ts.map +1 -0
  15. package/dist/cli/commands/diff.js +958 -0
  16. package/dist/cli/commands/diff.js.map +1 -0
  17. package/dist/cli/commands/log.d.ts +239 -0
  18. package/dist/cli/commands/log.d.ts.map +1 -0
  19. package/dist/cli/commands/log.js +535 -0
  20. package/dist/cli/commands/log.js.map +1 -0
  21. package/dist/cli/commands/review.d.ts +457 -0
  22. package/dist/cli/commands/review.d.ts.map +1 -0
  23. package/dist/cli/commands/review.js +533 -0
  24. package/dist/cli/commands/review.js.map +1 -0
  25. package/dist/cli/commands/status.d.ts +269 -0
  26. package/dist/cli/commands/status.d.ts.map +1 -0
  27. package/dist/cli/commands/status.js +493 -0
  28. package/dist/cli/commands/status.js.map +1 -0
  29. package/dist/cli/commands/web.d.ts +199 -0
  30. package/dist/cli/commands/web.d.ts.map +1 -0
  31. package/dist/cli/commands/web.js +696 -0
  32. package/dist/cli/commands/web.js.map +1 -0
  33. package/dist/cli/fs-adapter.d.ts +656 -0
  34. package/dist/cli/fs-adapter.d.ts.map +1 -0
  35. package/dist/cli/fs-adapter.js +1179 -0
  36. package/dist/cli/fs-adapter.js.map +1 -0
  37. package/dist/cli/index.d.ts +387 -0
  38. package/dist/cli/index.d.ts.map +1 -0
  39. package/dist/cli/index.js +523 -0
  40. package/dist/cli/index.js.map +1 -0
  41. package/dist/cli/ui/components/DiffView.d.ts +7 -0
  42. package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
  43. package/dist/cli/ui/components/DiffView.js +11 -0
  44. package/dist/cli/ui/components/DiffView.js.map +1 -0
  45. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
  46. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
  47. package/dist/cli/ui/components/ErrorDisplay.js +11 -0
  48. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
  49. package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
  50. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
  51. package/dist/cli/ui/components/FuzzySearch.js +12 -0
  52. package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
  53. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
  54. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
  55. package/dist/cli/ui/components/LoadingSpinner.js +10 -0
  56. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
  57. package/dist/cli/ui/components/NavigationList.d.ts +9 -0
  58. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
  59. package/dist/cli/ui/components/NavigationList.js +11 -0
  60. package/dist/cli/ui/components/NavigationList.js.map +1 -0
  61. package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
  62. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
  63. package/dist/cli/ui/components/ScrollableContent.js +11 -0
  64. package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
  65. package/dist/cli/ui/components/index.d.ts +7 -0
  66. package/dist/cli/ui/components/index.d.ts.map +1 -0
  67. package/dist/cli/ui/components/index.js +9 -0
  68. package/dist/cli/ui/components/index.js.map +1 -0
  69. package/dist/cli/ui/terminal-ui.d.ts +52 -0
  70. package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
  71. package/dist/cli/ui/terminal-ui.js +121 -0
  72. package/dist/cli/ui/terminal-ui.js.map +1 -0
  73. package/dist/durable-object/object-store.d.ts +401 -23
  74. package/dist/durable-object/object-store.d.ts.map +1 -1
  75. package/dist/durable-object/object-store.js +414 -25
  76. package/dist/durable-object/object-store.js.map +1 -1
  77. package/dist/durable-object/schema.d.ts +188 -0
  78. package/dist/durable-object/schema.d.ts.map +1 -1
  79. package/dist/durable-object/schema.js +160 -0
  80. package/dist/durable-object/schema.js.map +1 -1
  81. package/dist/durable-object/wal.d.ts +336 -31
  82. package/dist/durable-object/wal.d.ts.map +1 -1
  83. package/dist/durable-object/wal.js +272 -27
  84. package/dist/durable-object/wal.js.map +1 -1
  85. package/dist/index.d.ts +379 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +379 -7
  88. package/dist/index.js.map +1 -1
  89. package/dist/mcp/adapter.d.ts +579 -38
  90. package/dist/mcp/adapter.d.ts.map +1 -1
  91. package/dist/mcp/adapter.js +426 -33
  92. package/dist/mcp/adapter.js.map +1 -1
  93. package/dist/mcp/sandbox.d.ts +532 -29
  94. package/dist/mcp/sandbox.d.ts.map +1 -1
  95. package/dist/mcp/sandbox.js +389 -22
  96. package/dist/mcp/sandbox.js.map +1 -1
  97. package/dist/mcp/sdk-adapter.d.ts +478 -56
  98. package/dist/mcp/sdk-adapter.d.ts.map +1 -1
  99. package/dist/mcp/sdk-adapter.js +346 -44
  100. package/dist/mcp/sdk-adapter.js.map +1 -1
  101. package/dist/mcp/tools.d.ts +445 -30
  102. package/dist/mcp/tools.d.ts.map +1 -1
  103. package/dist/mcp/tools.js +363 -33
  104. package/dist/mcp/tools.js.map +1 -1
  105. package/dist/ops/blame.d.ts +424 -21
  106. package/dist/ops/blame.d.ts.map +1 -1
  107. package/dist/ops/blame.js +303 -20
  108. package/dist/ops/blame.js.map +1 -1
  109. package/dist/ops/branch.d.ts +583 -32
  110. package/dist/ops/branch.d.ts.map +1 -1
  111. package/dist/ops/branch.js +365 -23
  112. package/dist/ops/branch.js.map +1 -1
  113. package/dist/ops/commit-traversal.d.ts +164 -24
  114. package/dist/ops/commit-traversal.d.ts.map +1 -1
  115. package/dist/ops/commit-traversal.js +68 -2
  116. package/dist/ops/commit-traversal.js.map +1 -1
  117. package/dist/ops/commit.d.ts +387 -53
  118. package/dist/ops/commit.d.ts.map +1 -1
  119. package/dist/ops/commit.js +249 -29
  120. package/dist/ops/commit.js.map +1 -1
  121. package/dist/ops/merge-base.d.ts +195 -21
  122. package/dist/ops/merge-base.d.ts.map +1 -1
  123. package/dist/ops/merge-base.js +122 -12
  124. package/dist/ops/merge-base.js.map +1 -1
  125. package/dist/ops/merge.d.ts +600 -130
  126. package/dist/ops/merge.d.ts.map +1 -1
  127. package/dist/ops/merge.js +408 -60
  128. package/dist/ops/merge.js.map +1 -1
  129. package/dist/ops/tag.d.ts +67 -2
  130. package/dist/ops/tag.d.ts.map +1 -1
  131. package/dist/ops/tag.js +42 -1
  132. package/dist/ops/tag.js.map +1 -1
  133. package/dist/ops/tree-builder.d.ts +102 -6
  134. package/dist/ops/tree-builder.d.ts.map +1 -1
  135. package/dist/ops/tree-builder.js +30 -5
  136. package/dist/ops/tree-builder.js.map +1 -1
  137. package/dist/ops/tree-diff.d.ts +50 -2
  138. package/dist/ops/tree-diff.d.ts.map +1 -1
  139. package/dist/ops/tree-diff.js +50 -2
  140. package/dist/ops/tree-diff.js.map +1 -1
  141. package/dist/pack/delta.d.ts +211 -39
  142. package/dist/pack/delta.d.ts.map +1 -1
  143. package/dist/pack/delta.js +232 -46
  144. package/dist/pack/delta.js.map +1 -1
  145. package/dist/pack/format.d.ts +390 -28
  146. package/dist/pack/format.d.ts.map +1 -1
  147. package/dist/pack/format.js +344 -33
  148. package/dist/pack/format.js.map +1 -1
  149. package/dist/pack/full-generation.d.ts +313 -28
  150. package/dist/pack/full-generation.d.ts.map +1 -1
  151. package/dist/pack/full-generation.js +238 -19
  152. package/dist/pack/full-generation.js.map +1 -1
  153. package/dist/pack/generation.d.ts +346 -23
  154. package/dist/pack/generation.d.ts.map +1 -1
  155. package/dist/pack/generation.js +269 -21
  156. package/dist/pack/generation.js.map +1 -1
  157. package/dist/pack/index.d.ts +407 -86
  158. package/dist/pack/index.d.ts.map +1 -1
  159. package/dist/pack/index.js +351 -70
  160. package/dist/pack/index.js.map +1 -1
  161. package/dist/refs/branch.d.ts +517 -71
  162. package/dist/refs/branch.d.ts.map +1 -1
  163. package/dist/refs/branch.js +410 -26
  164. package/dist/refs/branch.js.map +1 -1
  165. package/dist/refs/storage.d.ts +610 -57
  166. package/dist/refs/storage.d.ts.map +1 -1
  167. package/dist/refs/storage.js +481 -29
  168. package/dist/refs/storage.js.map +1 -1
  169. package/dist/refs/tag.d.ts +677 -67
  170. package/dist/refs/tag.d.ts.map +1 -1
  171. package/dist/refs/tag.js +497 -30
  172. package/dist/refs/tag.js.map +1 -1
  173. package/dist/storage/lru-cache.d.ts +556 -53
  174. package/dist/storage/lru-cache.d.ts.map +1 -1
  175. package/dist/storage/lru-cache.js +439 -36
  176. package/dist/storage/lru-cache.js.map +1 -1
  177. package/dist/storage/object-index.d.ts +483 -38
  178. package/dist/storage/object-index.d.ts.map +1 -1
  179. package/dist/storage/object-index.js +388 -22
  180. package/dist/storage/object-index.js.map +1 -1
  181. package/dist/storage/r2-pack.d.ts +957 -94
  182. package/dist/storage/r2-pack.d.ts.map +1 -1
  183. package/dist/storage/r2-pack.js +756 -48
  184. package/dist/storage/r2-pack.js.map +1 -1
  185. package/dist/tiered/cdc-pipeline.d.ts +1610 -38
  186. package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
  187. package/dist/tiered/cdc-pipeline.js +1131 -22
  188. package/dist/tiered/cdc-pipeline.js.map +1 -1
  189. package/dist/tiered/migration.d.ts +903 -41
  190. package/dist/tiered/migration.d.ts.map +1 -1
  191. package/dist/tiered/migration.js +646 -24
  192. package/dist/tiered/migration.js.map +1 -1
  193. package/dist/tiered/parquet-writer.d.ts +944 -47
  194. package/dist/tiered/parquet-writer.d.ts.map +1 -1
  195. package/dist/tiered/parquet-writer.js +667 -39
  196. package/dist/tiered/parquet-writer.js.map +1 -1
  197. package/dist/tiered/read-path.d.ts +728 -34
  198. package/dist/tiered/read-path.d.ts.map +1 -1
  199. package/dist/tiered/read-path.js +310 -27
  200. package/dist/tiered/read-path.js.map +1 -1
  201. package/dist/types/objects.d.ts +457 -0
  202. package/dist/types/objects.d.ts.map +1 -1
  203. package/dist/types/objects.js +305 -4
  204. package/dist/types/objects.js.map +1 -1
  205. package/dist/types/storage.d.ts +407 -35
  206. package/dist/types/storage.d.ts.map +1 -1
  207. package/dist/types/storage.js +27 -3
  208. package/dist/types/storage.js.map +1 -1
  209. package/dist/utils/hash.d.ts +133 -12
  210. package/dist/utils/hash.d.ts.map +1 -1
  211. package/dist/utils/hash.js +133 -12
  212. package/dist/utils/hash.js.map +1 -1
  213. package/dist/utils/sha1.d.ts +102 -9
  214. package/dist/utils/sha1.d.ts.map +1 -1
  215. package/dist/utils/sha1.js +114 -11
  216. package/dist/utils/sha1.js.map +1 -1
  217. package/dist/wire/capabilities.d.ts +896 -88
  218. package/dist/wire/capabilities.d.ts.map +1 -1
  219. package/dist/wire/capabilities.js +566 -62
  220. package/dist/wire/capabilities.js.map +1 -1
  221. package/dist/wire/pkt-line.d.ts +293 -15
  222. package/dist/wire/pkt-line.d.ts.map +1 -1
  223. package/dist/wire/pkt-line.js +251 -15
  224. package/dist/wire/pkt-line.js.map +1 -1
  225. package/dist/wire/receive-pack.d.ts +814 -64
  226. package/dist/wire/receive-pack.d.ts.map +1 -1
  227. package/dist/wire/receive-pack.js +542 -41
  228. package/dist/wire/receive-pack.js.map +1 -1
  229. package/dist/wire/smart-http.d.ts +575 -97
  230. package/dist/wire/smart-http.d.ts.map +1 -1
  231. package/dist/wire/smart-http.js +337 -46
  232. package/dist/wire/smart-http.js.map +1 -1
  233. package/dist/wire/upload-pack.d.ts +492 -98
  234. package/dist/wire/upload-pack.d.ts.map +1 -1
  235. package/dist/wire/upload-pack.js +347 -59
  236. package/dist/wire/upload-pack.js.map +1 -1
  237. package/package.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/refs/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.d.ts","sourceRoot":"","sources":["../../src/refs/branch.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,63 @@
1
1
  /**
2
- * Git Branch Operations
2
+ * @fileoverview Git Branch Operations
3
3
  *
4
- * Handles branch creation, deletion, renaming, listing, and tracking.
5
- * Works with the RefStorage system for underlying ref management.
4
+ * This module provides comprehensive branch management functionality including
5
+ * creation, deletion, renaming, listing, and upstream tracking configuration.
6
+ *
7
+ * Branches in Git are simply refs under `refs/heads/` that point to commits.
8
+ * This module provides a higher-level API that handles the ref manipulation
9
+ * and adds branch-specific features like tracking information.
10
+ *
11
+ * **Key Features**:
12
+ * - Branch CRUD operations (create, read, update, delete)
13
+ * - Upstream tracking configuration
14
+ * - Merge status checking
15
+ * - Branch name validation and normalization
16
+ *
17
+ * @module refs/branch
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { BranchManager, createBranch, listBranches } from './refs/branch'
22
+ *
23
+ * // Using the manager
24
+ * const manager = new BranchManager(refStorage)
25
+ * const branch = await manager.createBranch('feature/new-thing', { startPoint: 'main' })
26
+ *
27
+ * // Or using convenience functions
28
+ * const branches = await listBranches(refStorage)
29
+ * ```
6
30
  */
7
31
  /**
8
- * Error thrown when a branch operation fails
32
+ * Error thrown when a branch operation fails.
33
+ *
34
+ * @description
35
+ * Provides structured error information with error code
36
+ * for programmatic error handling.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * try {
41
+ * await manager.deleteBranch('main')
42
+ * } catch (e) {
43
+ * if (e instanceof BranchError) {
44
+ * if (e.code === 'CANNOT_DELETE_CURRENT') {
45
+ * console.log('Cannot delete the branch you are on')
46
+ * }
47
+ * }
48
+ * }
49
+ * ```
9
50
  */
10
51
  export class BranchError extends Error {
11
52
  code;
12
53
  branchName;
54
+ /**
55
+ * Create a new BranchError.
56
+ *
57
+ * @param message - Human-readable error description
58
+ * @param code - Error code for programmatic handling
59
+ * @param branchName - The branch that caused the error
60
+ */
13
61
  constructor(message, code, branchName) {
14
62
  super(message);
15
63
  this.code = code;
@@ -17,151 +65,487 @@ export class BranchError extends Error {
17
65
  this.name = 'BranchError';
18
66
  }
19
67
  }
68
+ // ============================================================================
69
+ // BranchManager Class
70
+ // ============================================================================
20
71
  /**
21
- * Branch manager for performing branch operations
72
+ * Branch manager for performing Git branch operations.
73
+ *
74
+ * @description
75
+ * Provides a comprehensive API for branch management. Uses RefStorage
76
+ * internally for ref manipulation.
77
+ *
78
+ * Note: Many methods are currently stubs (TODO) and will throw 'Not implemented'.
79
+ * These will be implemented in the GREEN phase of TDD development.
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const manager = new BranchManager(refStorage)
84
+ *
85
+ * // Create a feature branch
86
+ * const branch = await manager.createBranch('feature/auth', {
87
+ * startPoint: 'main',
88
+ * track: true
89
+ * })
90
+ *
91
+ * // List all branches
92
+ * const branches = await manager.listBranches({ includeRemotes: true })
93
+ *
94
+ * // Delete a merged branch
95
+ * await manager.deleteBranch('feature/auth')
96
+ * ```
22
97
  */
23
98
  export class BranchManager {
99
+ /**
100
+ * Create a new BranchManager.
101
+ *
102
+ * @param storage - RefStorage instance for ref operations
103
+ */
24
104
  constructor(storage) {
25
105
  void storage; // Suppress unused variable warning until implementation
26
106
  // TODO: Implement in GREEN phase
27
107
  }
28
108
  /**
29
- * Create a new branch
109
+ * Create a new branch.
110
+ *
111
+ * @description
112
+ * Creates a new branch pointing to the specified start point.
113
+ * By default, the branch starts at HEAD.
114
+ *
115
+ * @param name - Branch name (without refs/heads/ prefix)
116
+ * @param options - Creation options
117
+ * @returns The created branch
118
+ * @throws BranchError with code 'INVALID_NAME' if name is invalid
119
+ * @throws BranchError with code 'ALREADY_EXISTS' if branch exists and not forcing
120
+ * @throws BranchError with code 'INVALID_START_POINT' if start point is invalid
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * // Create from HEAD
125
+ * const branch = await manager.createBranch('feature')
126
+ *
127
+ * // Create from specific commit
128
+ * const branch = await manager.createBranch('hotfix', { startPoint: 'abc123' })
129
+ *
130
+ * // Force overwrite existing
131
+ * const branch = await manager.createBranch('main', { force: true, startPoint: 'HEAD' })
132
+ * ```
30
133
  */
31
134
  async createBranch(_name, _options) {
32
135
  // TODO: Implement in GREEN phase
33
136
  throw new Error('Not implemented');
34
137
  }
35
138
  /**
36
- * Delete a branch
139
+ * Delete a branch.
140
+ *
141
+ * @description
142
+ * Removes a branch ref. By default, refuses to delete unmerged branches.
143
+ *
144
+ * @param name - Branch name to delete
145
+ * @param options - Deletion options
146
+ * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
147
+ * @throws BranchError with code 'CANNOT_DELETE_CURRENT' if branch is checked out
148
+ * @throws BranchError with code 'NOT_FULLY_MERGED' if branch has unmerged commits
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Safe delete (only if merged)
153
+ * await manager.deleteBranch('feature')
154
+ *
155
+ * // Force delete
156
+ * await manager.deleteBranch('experiment', { force: true })
157
+ * ```
37
158
  */
38
159
  async deleteBranch(_name, _options) {
39
160
  // TODO: Implement in GREEN phase
40
161
  throw new Error('Not implemented');
41
162
  }
42
163
  /**
43
- * Rename a branch
164
+ * Rename a branch.
165
+ *
166
+ * @description
167
+ * Renames a branch, updating the ref name. If the branch is the current
168
+ * branch, HEAD is updated accordingly.
169
+ *
170
+ * @param oldName - Current branch name
171
+ * @param newName - New branch name
172
+ * @param options - Rename options
173
+ * @returns The renamed branch
174
+ * @throws BranchError with code 'NOT_FOUND' if old branch doesn't exist
175
+ * @throws BranchError with code 'ALREADY_EXISTS' if new name exists and not forcing
176
+ * @throws BranchError with code 'INVALID_NAME' if new name is invalid
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const branch = await manager.renameBranch('old-name', 'new-name')
181
+ * ```
44
182
  */
45
183
  async renameBranch(_oldName, _newName, _options) {
46
184
  // TODO: Implement in GREEN phase
47
185
  throw new Error('Not implemented');
48
186
  }
49
187
  /**
50
- * List all branches
188
+ * List all branches.
189
+ *
190
+ * @description
191
+ * Returns branches matching the specified criteria.
192
+ * By default, returns only local branches.
193
+ *
194
+ * @param options - Listing options
195
+ * @returns Array of branches matching criteria
196
+ *
197
+ * @example
198
+ * ```typescript
199
+ * // List local branches
200
+ * const local = await manager.listBranches()
201
+ *
202
+ * // List all branches including remotes
203
+ * const all = await manager.listBranches({ includeRemotes: true })
204
+ *
205
+ * // List merged branches
206
+ * const merged = await manager.listBranches({ mergedInto: 'main' })
207
+ * ```
51
208
  */
52
209
  async listBranches(_options) {
53
210
  // TODO: Implement in GREEN phase
54
211
  throw new Error('Not implemented');
55
212
  }
56
213
  /**
57
- * Get the current branch
214
+ * Get the current branch.
215
+ *
216
+ * @description
217
+ * Returns the branch that HEAD points to, or null if HEAD is detached.
218
+ *
219
+ * @returns Current branch or null if detached
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * const current = await manager.getCurrentBranch()
224
+ * if (current) {
225
+ * console.log(`On branch: ${current.name}`)
226
+ * } else {
227
+ * console.log('HEAD is detached')
228
+ * }
229
+ * ```
58
230
  */
59
231
  async getCurrentBranch() {
60
232
  // TODO: Implement in GREEN phase
61
233
  throw new Error('Not implemented');
62
234
  }
63
235
  /**
64
- * Get a specific branch by name
236
+ * Get a specific branch by name.
237
+ *
238
+ * @description
239
+ * Retrieves branch information for a specific branch.
240
+ *
241
+ * @param name - Branch name
242
+ * @returns Branch info or null if not found
243
+ *
244
+ * @example
245
+ * ```typescript
246
+ * const branch = await manager.getBranch('main')
247
+ * if (branch) {
248
+ * console.log(`main is at ${branch.sha}`)
249
+ * }
250
+ * ```
65
251
  */
66
252
  async getBranch(_name) {
67
253
  // TODO: Implement in GREEN phase
68
254
  throw new Error('Not implemented');
69
255
  }
70
256
  /**
71
- * Check if a branch exists
257
+ * Check if a branch exists.
258
+ *
259
+ * @description
260
+ * Quick check for branch existence without fetching full info.
261
+ *
262
+ * @param name - Branch name
263
+ * @returns True if branch exists
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * if (await manager.branchExists('feature')) {
268
+ * console.log('Branch already exists')
269
+ * }
270
+ * ```
72
271
  */
73
272
  async branchExists(_name) {
74
273
  // TODO: Implement in GREEN phase
75
274
  throw new Error('Not implemented');
76
275
  }
77
276
  /**
78
- * Set upstream branch for tracking
277
+ * Set upstream branch for tracking.
278
+ *
279
+ * @description
280
+ * Configures or removes upstream tracking for a branch.
281
+ *
282
+ * @param branchName - Local branch to configure
283
+ * @param options - Tracking options
284
+ * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
285
+ *
286
+ * @example
287
+ * ```typescript
288
+ * // Set upstream
289
+ * await manager.setUpstream('feature', {
290
+ * remote: 'origin',
291
+ * remoteBranch: 'feature'
292
+ * })
293
+ *
294
+ * // Remove upstream
295
+ * await manager.setUpstream('feature', { unset: true })
296
+ * ```
79
297
  */
80
298
  async setUpstream(_branchName, _options) {
81
299
  // TODO: Implement in GREEN phase
82
300
  throw new Error('Not implemented');
83
301
  }
84
302
  /**
85
- * Get tracking info for a branch
303
+ * Get tracking info for a branch.
304
+ *
305
+ * @description
306
+ * Returns upstream tracking information including ahead/behind counts.
307
+ *
308
+ * @param branchName - Branch to check
309
+ * @returns Tracking info or null if not tracking
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * const tracking = await manager.getTrackingInfo('main')
314
+ * if (tracking) {
315
+ * console.log(`${tracking.ahead} ahead, ${tracking.behind} behind ${tracking.remoteBranch}`)
316
+ * }
317
+ * ```
86
318
  */
87
319
  async getTrackingInfo(_branchName) {
88
320
  // TODO: Implement in GREEN phase
89
321
  throw new Error('Not implemented');
90
322
  }
91
323
  /**
92
- * Check if a branch is fully merged into another branch
324
+ * Check if a branch is fully merged into another branch.
325
+ *
326
+ * @description
327
+ * Determines if all commits on the branch are reachable from the target.
328
+ *
329
+ * @param branchName - Branch to check
330
+ * @param into - Target branch (defaults to current branch)
331
+ * @returns True if fully merged
332
+ *
333
+ * @example
334
+ * ```typescript
335
+ * if (await manager.isMerged('feature', 'main')) {
336
+ * console.log('Safe to delete feature branch')
337
+ * }
338
+ * ```
93
339
  */
94
340
  async isMerged(_branchName, _into) {
95
341
  // TODO: Implement in GREEN phase
96
342
  throw new Error('Not implemented');
97
343
  }
98
344
  /**
99
- * Force delete an unmerged branch
345
+ * Force delete an unmerged branch.
346
+ *
347
+ * @description
348
+ * Deletes a branch even if it has unmerged commits. Use with caution
349
+ * as this can result in lost commits.
350
+ *
351
+ * @param name - Branch name to delete
352
+ * @throws BranchError with code 'NOT_FOUND' if branch doesn't exist
353
+ * @throws BranchError with code 'CANNOT_DELETE_CURRENT' if branch is checked out
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * await manager.forceDeleteBranch('abandoned-feature')
358
+ * ```
100
359
  */
101
360
  async forceDeleteBranch(_name) {
102
361
  // TODO: Implement in GREEN phase
103
362
  throw new Error('Not implemented');
104
363
  }
105
364
  }
365
+ // ============================================================================
366
+ // Validation Functions
367
+ // ============================================================================
106
368
  /**
107
- * Validate a branch name according to Git rules
108
- * See: https://git-scm.com/docs/git-check-ref-format
369
+ * Validate a branch name according to Git rules.
370
+ *
371
+ * @description
372
+ * Checks if a branch name is valid and returns detailed validation results
373
+ * including the normalized form of the name.
374
+ *
375
+ * Note: This is a stub implementation. Full validation will be added in GREEN phase.
376
+ *
377
+ * @param name - Branch name to validate
378
+ * @returns Validation result with valid flag, error message, and normalized name
379
+ *
380
+ * @see https://git-scm.com/docs/git-check-ref-format
381
+ *
382
+ * @example
383
+ * ```typescript
384
+ * const result = validateBranchName('feature/auth')
385
+ * if (result.valid) {
386
+ * console.log(`Valid: ${result.normalized}`)
387
+ * } else {
388
+ * console.log(`Invalid: ${result.error}`)
389
+ * }
390
+ * ```
109
391
  */
110
392
  export function validateBranchName(_name) {
111
393
  // TODO: Implement in GREEN phase
112
394
  throw new Error('Not implemented');
113
395
  }
114
396
  /**
115
- * Check if a string is a valid branch name
397
+ * Check if a string is a valid branch name.
398
+ *
399
+ * @description
400
+ * Simple boolean check for branch name validity.
401
+ *
402
+ * @param name - Branch name to check
403
+ * @returns True if valid
404
+ *
405
+ * @example
406
+ * ```typescript
407
+ * if (isValidBranchName('feature/new')) {
408
+ * // Create the branch
409
+ * }
410
+ * ```
116
411
  */
117
412
  export function isValidBranchName(_name) {
118
413
  // TODO: Implement in GREEN phase
119
414
  throw new Error('Not implemented');
120
415
  }
121
416
  /**
122
- * Normalize a branch name (remove refs/heads/ prefix, etc.)
417
+ * Normalize a branch name.
418
+ *
419
+ * @description
420
+ * Removes refs/heads/ prefix if present, cleans up the name.
421
+ *
422
+ * @param name - Branch name or ref
423
+ * @returns Normalized short branch name
424
+ *
425
+ * @example
426
+ * ```typescript
427
+ * normalizeBranchName('refs/heads/main') // 'main'
428
+ * normalizeBranchName('main') // 'main'
429
+ * ```
123
430
  */
124
431
  export function normalizeBranchName(_name) {
125
432
  // TODO: Implement in GREEN phase
126
433
  throw new Error('Not implemented');
127
434
  }
128
435
  /**
129
- * Get the full ref name for a branch
436
+ * Get the full ref name for a branch.
437
+ *
438
+ * @description
439
+ * Adds refs/heads/ prefix if not present.
440
+ *
441
+ * @param name - Short branch name
442
+ * @returns Full ref name
443
+ *
444
+ * @example
445
+ * ```typescript
446
+ * getBranchRefName('main') // 'refs/heads/main'
447
+ * getBranchRefName('refs/heads/main') // 'refs/heads/main'
448
+ * ```
130
449
  */
131
450
  export function getBranchRefName(_name) {
132
451
  // TODO: Implement in GREEN phase
133
452
  throw new Error('Not implemented');
134
453
  }
454
+ // ============================================================================
455
+ // Convenience Functions
456
+ // ============================================================================
135
457
  /**
136
- * Create a new branch (convenience function)
458
+ * Create a new branch.
459
+ *
460
+ * @description
461
+ * Convenience function that creates a BranchManager and calls createBranch.
462
+ *
463
+ * @param storage - RefStorage instance
464
+ * @param name - Branch name
465
+ * @param options - Creation options
466
+ * @returns Created branch
467
+ *
468
+ * @example
469
+ * ```typescript
470
+ * const branch = await createBranch(storage, 'feature', { startPoint: 'main' })
471
+ * ```
137
472
  */
138
473
  export async function createBranch(_storage, _name, _options) {
139
474
  // TODO: Implement in GREEN phase
140
475
  throw new Error('Not implemented');
141
476
  }
142
477
  /**
143
- * Delete a branch (convenience function)
478
+ * Delete a branch.
479
+ *
480
+ * @description
481
+ * Convenience function that creates a BranchManager and calls deleteBranch.
482
+ *
483
+ * @param storage - RefStorage instance
484
+ * @param name - Branch name to delete
485
+ * @param options - Deletion options
486
+ *
487
+ * @example
488
+ * ```typescript
489
+ * await deleteBranch(storage, 'feature', { force: true })
490
+ * ```
144
491
  */
145
492
  export async function deleteBranch(_storage, _name, _options) {
146
493
  // TODO: Implement in GREEN phase
147
494
  throw new Error('Not implemented');
148
495
  }
149
496
  /**
150
- * Rename a branch (convenience function)
497
+ * Rename a branch.
498
+ *
499
+ * @description
500
+ * Convenience function that creates a BranchManager and calls renameBranch.
501
+ *
502
+ * @param storage - RefStorage instance
503
+ * @param oldName - Current branch name
504
+ * @param newName - New branch name
505
+ * @param options - Rename options
506
+ * @returns Renamed branch
507
+ *
508
+ * @example
509
+ * ```typescript
510
+ * const branch = await renameBranch(storage, 'old', 'new')
511
+ * ```
151
512
  */
152
513
  export async function renameBranch(_storage, _oldName, _newName, _options) {
153
514
  // TODO: Implement in GREEN phase
154
515
  throw new Error('Not implemented');
155
516
  }
156
517
  /**
157
- * List all branches (convenience function)
518
+ * List all branches.
519
+ *
520
+ * @description
521
+ * Convenience function that creates a BranchManager and calls listBranches.
522
+ *
523
+ * @param storage - RefStorage instance
524
+ * @param options - Listing options
525
+ * @returns Array of branches
526
+ *
527
+ * @example
528
+ * ```typescript
529
+ * const branches = await listBranches(storage, { includeRemotes: true })
530
+ * ```
158
531
  */
159
532
  export async function listBranches(_storage, _options) {
160
533
  // TODO: Implement in GREEN phase
161
534
  throw new Error('Not implemented');
162
535
  }
163
536
  /**
164
- * Get the current branch (convenience function)
537
+ * Get the current branch.
538
+ *
539
+ * @description
540
+ * Convenience function that creates a BranchManager and calls getCurrentBranch.
541
+ *
542
+ * @param storage - RefStorage instance
543
+ * @returns Current branch or null if detached
544
+ *
545
+ * @example
546
+ * ```typescript
547
+ * const current = await getCurrentBranch(storage)
548
+ * ```
165
549
  */
166
550
  export async function getCurrentBranch(_storage) {
167
551
  // TODO: Implement in GREEN phase
@@ -1 +1 @@
1
- {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/refs/branch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch.js","sourceRoot":"","sources":["../../src/refs/branch.ts"],"names":[],"mappings":"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"}