@ibgib/vcs-gib 0.0.30 → 0.0.33

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 (216) hide show
  1. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  2. package/dist/AUTO-GENERATED-version.mjs +1 -1
  3. package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
  4. package/dist/bootstrap/node-bootstrap.mjs +7 -21
  5. package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
  6. package/dist/cli/commands/{add-cmd.d.mts → cli-add-cmd.d.mts} +3 -4
  7. package/dist/cli/commands/cli-add-cmd.d.mts.map +1 -0
  8. package/dist/cli/commands/cli-add-cmd.mjs +45 -0
  9. package/dist/cli/commands/cli-add-cmd.mjs.map +1 -0
  10. package/dist/cli/commands/{branch-cmd.d.mts → cli-branch-cmd.d.mts} +9 -9
  11. package/dist/cli/commands/cli-branch-cmd.d.mts.map +1 -0
  12. package/dist/cli/commands/cli-branch-cmd.mjs +59 -0
  13. package/dist/cli/commands/cli-branch-cmd.mjs.map +1 -0
  14. package/dist/cli/commands/cli-checkout-cmd.d.mts +20 -0
  15. package/dist/cli/commands/cli-checkout-cmd.d.mts.map +1 -0
  16. package/dist/cli/commands/cli-checkout-cmd.mjs +50 -0
  17. package/dist/cli/commands/cli-checkout-cmd.mjs.map +1 -0
  18. package/dist/cli/commands/cli-commit-cmd.d.mts +23 -0
  19. package/dist/cli/commands/cli-commit-cmd.d.mts.map +1 -0
  20. package/dist/cli/commands/cli-commit-cmd.mjs +52 -0
  21. package/dist/cli/commands/cli-commit-cmd.mjs.map +1 -0
  22. package/dist/cli/commands/{generate-comment-cmd.d.mts → cli-generate-comment-cmd.d.mts} +1 -1
  23. package/dist/cli/commands/cli-generate-comment-cmd.d.mts.map +1 -0
  24. package/dist/cli/commands/{generate-comment-cmd.mjs → cli-generate-comment-cmd.mjs} +11 -6
  25. package/dist/cli/commands/cli-generate-comment-cmd.mjs.map +1 -0
  26. package/dist/cli/commands/{init-cmd.d.mts → cli-init-cmd.d.mts} +3 -3
  27. package/dist/cli/commands/cli-init-cmd.d.mts.map +1 -0
  28. package/dist/cli/commands/cli-init-cmd.mjs +47 -0
  29. package/dist/cli/commands/cli-init-cmd.mjs.map +1 -0
  30. package/dist/cli/commands/{log-cmd.d.mts → cli-log-cmd.d.mts} +3 -4
  31. package/dist/cli/commands/cli-log-cmd.d.mts.map +1 -0
  32. package/dist/cli/commands/cli-log-cmd.mjs +90 -0
  33. package/dist/cli/commands/cli-log-cmd.mjs.map +1 -0
  34. package/dist/cli/commands/cli-merge-cmd.d.mts +22 -0
  35. package/dist/cli/commands/cli-merge-cmd.d.mts.map +1 -0
  36. package/dist/cli/commands/cli-merge-cmd.mjs +66 -0
  37. package/dist/cli/commands/cli-merge-cmd.mjs.map +1 -0
  38. package/dist/cli/commands/{reset-cmd.d.mts → cli-reset-cmd.d.mts} +2 -2
  39. package/dist/cli/commands/cli-reset-cmd.d.mts.map +1 -0
  40. package/dist/cli/commands/cli-reset-cmd.mjs +63 -0
  41. package/dist/cli/commands/cli-reset-cmd.mjs.map +1 -0
  42. package/dist/cli/commands/cli-restore-cmd.d.mts +23 -0
  43. package/dist/cli/commands/cli-restore-cmd.d.mts.map +1 -0
  44. package/dist/cli/commands/cli-restore-cmd.mjs +55 -0
  45. package/dist/cli/commands/cli-restore-cmd.mjs.map +1 -0
  46. package/dist/cli/commands/{status-cmd.d.mts → cli-status-cmd.d.mts} +3 -3
  47. package/dist/cli/commands/cli-status-cmd.d.mts.map +1 -0
  48. package/dist/cli/commands/cli-status-cmd.mjs +96 -0
  49. package/dist/cli/commands/cli-status-cmd.mjs.map +1 -0
  50. package/dist/cli/vcs-cli-main.d.mts.map +1 -1
  51. package/dist/cli/vcs-cli-main.mjs +18 -15
  52. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  53. package/dist/cli/vcs-projection-helper.d.mts +23 -0
  54. package/dist/cli/vcs-projection-helper.d.mts.map +1 -0
  55. package/dist/cli/vcs-projection-helper.mjs +91 -0
  56. package/dist/cli/vcs-projection-helper.mjs.map +1 -0
  57. package/dist/cli/vcs-repo-helper.d.mts +19 -0
  58. package/dist/cli/vcs-repo-helper.d.mts.map +1 -0
  59. package/dist/cli/vcs-repo-helper.mjs +74 -0
  60. package/dist/cli/vcs-repo-helper.mjs.map +1 -0
  61. package/dist/test/test-helpers.d.mts +11 -2
  62. package/dist/test/test-helpers.d.mts.map +1 -1
  63. package/dist/test/test-helpers.mjs +35 -0
  64. package/dist/test/test-helpers.mjs.map +1 -1
  65. package/package.json +6 -6
  66. package/src/AUTO-GENERATED-version.mts +1 -1
  67. package/src/bootstrap/node-bootstrap.mts +7 -21
  68. package/src/bootstrap/node-bootstrap.respec.mts +2 -2
  69. package/src/cli/cli-arg-parser.respec.mts +2 -2
  70. package/src/cli/cli-e2e.respec.mts +12 -12
  71. package/src/cli/commands/branch-checkout-cmd.respec.mts +426 -412
  72. package/src/cli/commands/cli-add-cmd.mts +65 -0
  73. package/src/cli/commands/cli-branch-cmd.mts +87 -0
  74. package/src/cli/commands/cli-checkout-cmd.mts +72 -0
  75. package/src/cli/commands/cli-commit-cmd.mts +77 -0
  76. package/src/cli/commands/{generate-comment-cmd.mts → cli-generate-comment-cmd.mts} +12 -6
  77. package/src/cli/commands/cli-init-cmd.mts +78 -0
  78. package/src/cli/commands/cli-log-cmd.mts +126 -0
  79. package/src/cli/commands/cli-merge-cmd.mts +99 -0
  80. package/src/cli/commands/cli-reset-cmd.mts +94 -0
  81. package/src/cli/commands/cli-restore-cmd.mts +87 -0
  82. package/src/cli/commands/cli-status-cmd.mts +131 -0
  83. package/src/cli/commands/commit-log-cmd.respec.mts +85 -28
  84. package/src/cli/commands/init-cmd.respec.mts +3 -3
  85. package/src/cli/commands/reset-restore-cmd.respec.mts +9 -9
  86. package/src/cli/commands/status-add-cmd.respec.mts +21 -17
  87. package/src/cli/vcs-cli-main.mts +18 -15
  88. package/src/cli/vcs-projection-helper.mts +112 -0
  89. package/src/cli/vcs-repo-helper.mts +99 -0
  90. package/src/engine/branch/branch-space.respec.mts +23 -21
  91. package/src/engine/merge/b2tfs-sync-comments.respec.mts +11 -11
  92. package/src/test/test-helpers.mts +50 -2
  93. package/src/vcs-gib.respec.mts +25 -16
  94. package/tsconfig.test.tsbuildinfo +1 -1
  95. package/tsconfig.tsbuildinfo +1 -1
  96. package/vcs-gib_test_output.md +58 -0
  97. package/dist/cli/commands/add-cmd.d.mts.map +0 -1
  98. package/dist/cli/commands/add-cmd.mjs +0 -346
  99. package/dist/cli/commands/add-cmd.mjs.map +0 -1
  100. package/dist/cli/commands/branch-cmd.d.mts.map +0 -1
  101. package/dist/cli/commands/branch-cmd.mjs +0 -238
  102. package/dist/cli/commands/branch-cmd.mjs.map +0 -1
  103. package/dist/cli/commands/checkout-cmd.d.mts +0 -21
  104. package/dist/cli/commands/checkout-cmd.d.mts.map +0 -1
  105. package/dist/cli/commands/checkout-cmd.mjs +0 -174
  106. package/dist/cli/commands/checkout-cmd.mjs.map +0 -1
  107. package/dist/cli/commands/commit-cmd.d.mts +0 -24
  108. package/dist/cli/commands/commit-cmd.d.mts.map +0 -1
  109. package/dist/cli/commands/commit-cmd.mjs +0 -449
  110. package/dist/cli/commands/commit-cmd.mjs.map +0 -1
  111. package/dist/cli/commands/generate-comment-cmd.d.mts.map +0 -1
  112. package/dist/cli/commands/generate-comment-cmd.mjs.map +0 -1
  113. package/dist/cli/commands/init-cmd.d.mts.map +0 -1
  114. package/dist/cli/commands/init-cmd.mjs +0 -119
  115. package/dist/cli/commands/init-cmd.mjs.map +0 -1
  116. package/dist/cli/commands/log-cmd.d.mts.map +0 -1
  117. package/dist/cli/commands/log-cmd.mjs +0 -349
  118. package/dist/cli/commands/log-cmd.mjs.map +0 -1
  119. package/dist/cli/commands/merge-cmd.d.mts +0 -36
  120. package/dist/cli/commands/merge-cmd.d.mts.map +0 -1
  121. package/dist/cli/commands/merge-cmd.mjs +0 -292
  122. package/dist/cli/commands/merge-cmd.mjs.map +0 -1
  123. package/dist/cli/commands/reset-cmd.d.mts.map +0 -1
  124. package/dist/cli/commands/reset-cmd.mjs +0 -93
  125. package/dist/cli/commands/reset-cmd.mjs.map +0 -1
  126. package/dist/cli/commands/restore-cmd.d.mts +0 -22
  127. package/dist/cli/commands/restore-cmd.d.mts.map +0 -1
  128. package/dist/cli/commands/restore-cmd.mjs +0 -115
  129. package/dist/cli/commands/restore-cmd.mjs.map +0 -1
  130. package/dist/cli/commands/status-cmd.d.mts.map +0 -1
  131. package/dist/cli/commands/status-cmd.mjs +0 -132
  132. package/dist/cli/commands/status-cmd.mjs.map +0 -1
  133. package/dist/engine/branch/branch-graph-helper.d.mts +0 -28
  134. package/dist/engine/branch/branch-graph-helper.d.mts.map +0 -1
  135. package/dist/engine/branch/branch-graph-helper.mjs +0 -81
  136. package/dist/engine/branch/branch-graph-helper.mjs.map +0 -1
  137. package/dist/engine/branch/branch-helper.d.mts +0 -40
  138. package/dist/engine/branch/branch-helper.d.mts.map +0 -1
  139. package/dist/engine/branch/branch-helper.mjs +0 -78
  140. package/dist/engine/branch/branch-helper.mjs.map +0 -1
  141. package/dist/engine/branch/branch-space-helper.d.mts +0 -23
  142. package/dist/engine/branch/branch-space-helper.d.mts.map +0 -1
  143. package/dist/engine/branch/branch-space-helper.mjs +0 -78
  144. package/dist/engine/branch/branch-space-helper.mjs.map +0 -1
  145. package/dist/engine/branch/branch-types.d.mts +0 -26
  146. package/dist/engine/branch/branch-types.d.mts.map +0 -1
  147. package/dist/engine/branch/branch-types.mjs +0 -7
  148. package/dist/engine/branch/branch-types.mjs.map +0 -1
  149. package/dist/engine/diff/line-diff-helper.d.mts +0 -76
  150. package/dist/engine/diff/line-diff-helper.d.mts.map +0 -1
  151. package/dist/engine/diff/line-diff-helper.mjs +0 -144
  152. package/dist/engine/diff/line-diff-helper.mjs.map +0 -1
  153. package/dist/engine/filter/glob-helper.d.mts +0 -51
  154. package/dist/engine/filter/glob-helper.d.mts.map +0 -1
  155. package/dist/engine/filter/glob-helper.mjs +0 -132
  156. package/dist/engine/filter/glob-helper.mjs.map +0 -1
  157. package/dist/engine/index/index-helper.d.mts +0 -113
  158. package/dist/engine/index/index-helper.d.mts.map +0 -1
  159. package/dist/engine/index/index-helper.mjs +0 -533
  160. package/dist/engine/index/index-helper.mjs.map +0 -1
  161. package/dist/engine/index/index-types.d.mts +0 -63
  162. package/dist/engine/index/index-types.d.mts.map +0 -1
  163. package/dist/engine/index/index-types.mjs +0 -7
  164. package/dist/engine/index/index-types.mjs.map +0 -1
  165. package/dist/engine/item/item-atom-helper.d.mts +0 -20
  166. package/dist/engine/item/item-atom-helper.d.mts.map +0 -1
  167. package/dist/engine/item/item-atom-helper.mjs +0 -30
  168. package/dist/engine/item/item-atom-helper.mjs.map +0 -1
  169. package/dist/engine/item/item-helper.d.mts +0 -94
  170. package/dist/engine/item/item-helper.d.mts.map +0 -1
  171. package/dist/engine/item/item-helper.mjs +0 -424
  172. package/dist/engine/item/item-helper.mjs.map +0 -1
  173. package/dist/engine/item/item-types.d.mts +0 -128
  174. package/dist/engine/item/item-types.d.mts.map +0 -1
  175. package/dist/engine/item/item-types.mjs +0 -16
  176. package/dist/engine/item/item-types.mjs.map +0 -1
  177. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts +0 -74
  178. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +0 -1
  179. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs +0 -570
  180. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +0 -1
  181. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts +0 -34
  182. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +0 -1
  183. package/dist/engine/merge/b2tfs-3way-graft-types.mjs +0 -2
  184. package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +0 -1
  185. package/dist/engine/status/status-helper.d.mts +0 -90
  186. package/dist/engine/status/status-helper.d.mts.map +0 -1
  187. package/dist/engine/status/status-helper.mjs +0 -286
  188. package/dist/engine/status/status-helper.mjs.map +0 -1
  189. package/src/cli/commands/add-cmd.mts +0 -435
  190. package/src/cli/commands/branch-cmd.mts +0 -311
  191. package/src/cli/commands/checkout-cmd.mts +0 -227
  192. package/src/cli/commands/commit-cmd.mts +0 -557
  193. package/src/cli/commands/init-cmd.mts +0 -152
  194. package/src/cli/commands/log-cmd.mts +0 -449
  195. package/src/cli/commands/merge-cmd.mts +0 -363
  196. package/src/cli/commands/reset-cmd.mts +0 -128
  197. package/src/cli/commands/restore-cmd.mts +0 -155
  198. package/src/cli/commands/status-cmd.mts +0 -168
  199. package/src/engine/branch/branch-graph-helper.mts +0 -117
  200. package/src/engine/branch/branch-helper.mts +0 -112
  201. package/src/engine/branch/branch-space-helper.mts +0 -110
  202. package/src/engine/branch/branch-types.mts +0 -29
  203. package/src/engine/diff/line-diff-helper.mts +0 -210
  204. package/src/engine/diff/line-diff-helper.respec.mts +0 -84
  205. package/src/engine/filter/glob-helper.mts +0 -165
  206. package/src/engine/filter/glob-helper.respec.mts +0 -94
  207. package/src/engine/index/index-helper.mts +0 -705
  208. package/src/engine/index/index-types.mts +0 -66
  209. package/src/engine/item/item-atom-helper.mts +0 -30
  210. package/src/engine/item/item-helper.mts +0 -544
  211. package/src/engine/item/item-types.mts +0 -137
  212. package/src/engine/item/item.respec.mts +0 -92
  213. package/src/engine/merge/b2tfs-3way-graft-strategy.mts +0 -630
  214. package/src/engine/merge/b2tfs-3way-graft-strategy.respec.mts +0 -346
  215. package/src/engine/merge/b2tfs-3way-graft-types.mts +0 -34
  216. package/src/engine/status/status-helper.mts +0 -383
@@ -1,346 +0,0 @@
1
- /**
2
- * @module add-cmd
3
- *
4
- * Command handler for `vcs add <path...>`.
5
- * Stages files and directories into candidate B2tFSItemIbGib_V1 and BinIbGib_V1 graph nodes
6
- * and updates B2tFSIndexIbGib_V1 in localSpace.
7
- */
8
- import path from 'node:path';
9
- import fs from 'node:fs/promises';
10
- import crypto from 'node:crypto';
11
- import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
12
- import { getGib } from '@ibgib/ts-gib/dist/V1/transforms/transform-helper.mjs';
13
- import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
14
- import { putInSpace, persistTransformResult } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
15
- import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
16
- import { getOrCreateBranchSpace } from '../../engine/branch/branch-space-helper.mjs';
17
- import { resolveContextualBranchName } from '../../engine/branch/branch-helper.mjs';
18
- import { isCommentMetadataFilename } from '../../engine/status/status-helper.mjs';
19
- import { B2TFS_CHILD_ITEM_REL8N_NAME } from '../../engine/item/item-types.mjs';
20
- import { getIbGibWithMetaspaceFallback, createB2tFSItemIbGib, evolveB2tFSItemIbGib } from '../../engine/item/item-helper.mjs';
21
- import { isPathFiltered, parseFilterFileContent, globToRegExp } from '../../engine/filter/glob-helper.mjs';
22
- import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib } from '../../engine/index/index-helper.mjs';
23
- import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
24
- const lcFile = `[add-cmd]`;
25
- const logalot = GLOBAL_LOG_A_LOT;
26
- export async function executeAddCmd({ paths = [], targetDir = process.cwd(), vcsFolderName = '.vcsgib', all = false, quiet = false, } = {}) {
27
- const lc = `${lcFile}[${executeAddCmd.name}]`;
28
- try {
29
- if (logalot) {
30
- console.log(`${lc} starting... (I: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
31
- }
32
- const absTargetDir = path.resolve(targetDir);
33
- const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
34
- repoPath: absTargetDir,
35
- vcsFolderName,
36
- });
37
- // Verify repo exists
38
- try {
39
- await fs.access(vcsPath);
40
- }
41
- catch {
42
- throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d)`);
43
- }
44
- // Retrieve authoritative B2tFSIndexIbGib_V1 from space
45
- const indexIbGib = await getB2tFSIndexIbGib({ space: localSpace, vcsPath });
46
- if (!indexIbGib) {
47
- throw new Error(`Repository not initialized. Run 'vcs init' first. (E: 2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e)`);
48
- }
49
- const activeBranch = resolveContextualBranchName({
50
- targetDir: absTargetDir,
51
- repoRoot,
52
- indexIbGib,
53
- });
54
- const activeWorktreeDir = activeBranch === 'main' ? repoRoot : path.join(repoRoot, 'b', activeBranch);
55
- // Target active branch space b2s_<activeBranch>
56
- const { space: activeSpace } = await getOrCreateBranchSpace({
57
- metaspace,
58
- vcsPath,
59
- branchName: activeBranch,
60
- });
61
- // Read .ibgibignore if present in active worktree
62
- let filterPatterns = [];
63
- const ignorePath = path.join(activeWorktreeDir, '.ibgibignore');
64
- try {
65
- const ignoreContent = await fs.readFile(ignorePath, 'utf8');
66
- filterPatterns = parseFilterFileContent(ignoreContent);
67
- }
68
- catch {
69
- // Ignore file not found is fine
70
- }
71
- // Walk active branch graph items to find committed files in snapshot
72
- const committedBranchItemsMap = new Map();
73
- const branchAddrs = [
74
- ...(indexIbGib?.rel8ns?.branch || []),
75
- ...(indexIbGib?.rel8ns?.branch_tjp || []),
76
- ];
77
- if (branchAddrs.length > 0) {
78
- let branchIbGibs = [];
79
- for (const bAddr of branchAddrs) {
80
- const bIbGib = await getIbGibWithMetaspaceFallback({
81
- addr: bAddr,
82
- space: activeSpace,
83
- metaspace,
84
- });
85
- if (bIbGib) {
86
- branchIbGibs.push(bIbGib);
87
- }
88
- }
89
- const activeBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === activeBranch) || branchIbGibs.at(-1);
90
- const rootItemAddr = activeBranchIbGib?.rel8ns?.b2tfs_item?.at(-1);
91
- if (rootItemAddr) {
92
- const rootItem = await getIbGibWithMetaspaceFallback({
93
- addr: rootItemAddr,
94
- space: activeSpace,
95
- metaspace,
96
- });
97
- if (rootItem) {
98
- await addCmd_walkBranchGraph({
99
- item: rootItem,
100
- space: activeSpace,
101
- metaspace,
102
- currentRelPath: '',
103
- outMap: committedBranchItemsMap,
104
- });
105
- }
106
- }
107
- }
108
- // Determine candidate file paths to stage
109
- const targetFilePaths = [];
110
- if (all || paths.length === 0 || (paths.length === 1 && paths[0] === '.')) {
111
- await addCmd_collectFilesRecursively({
112
- dirPath: activeWorktreeDir,
113
- baseDir: activeWorktreeDir,
114
- vcsFolderName,
115
- filterPatterns,
116
- outFiles: targetFilePaths,
117
- });
118
- }
119
- else {
120
- for (const relOrAbs of paths) {
121
- if (relOrAbs.includes('*') || relOrAbs.includes('?')) {
122
- const rx = globToRegExp(relOrAbs);
123
- const candidateFiles = [];
124
- await addCmd_collectFilesRecursively({
125
- dirPath: activeWorktreeDir,
126
- baseDir: activeWorktreeDir,
127
- vcsFolderName,
128
- filterPatterns,
129
- outFiles: candidateFiles,
130
- });
131
- let matchedCount = 0;
132
- for (const candidateAbsPath of candidateFiles) {
133
- const candidateRelPath = path.relative(activeWorktreeDir, candidateAbsPath).replace(/\\/g, '/');
134
- const pathBasename = candidateRelPath.split('/').pop() || candidateRelPath;
135
- if (rx.test(candidateRelPath) || rx.test(pathBasename)) {
136
- if (!targetFilePaths.includes(candidateAbsPath)) {
137
- targetFilePaths.push(candidateAbsPath);
138
- }
139
- matchedCount++;
140
- }
141
- }
142
- if (matchedCount === 0) {
143
- throw new Error(`No files matched glob pattern: ${relOrAbs} (E: e23d4c5f6a7b8c9d0e1f2a3b4c5d6e7f)`);
144
- }
145
- }
146
- else {
147
- const fullPath = path.isAbsolute(relOrAbs) ? relOrAbs : path.resolve(absTargetDir, relOrAbs);
148
- let stat;
149
- try {
150
- stat = await fs.stat(fullPath);
151
- }
152
- catch {
153
- throw new Error(`Path does not exist: ${relOrAbs} (E: 10c11d12e13f14a15b16c17d18e19f20)`);
154
- }
155
- const relPath = path.relative(activeWorktreeDir, fullPath).replace(/\\/g, '/');
156
- if (relPath.startsWith('..') || path.isAbsolute(relPath)) {
157
- throw new Error(`Path '${relOrAbs}' is outside of active worktree repository (E: 7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f)`);
158
- }
159
- if (isPathFiltered({ relativePath: relPath, isDirectory: stat.isDirectory(), filterPatterns })) {
160
- continue;
161
- }
162
- if (stat.isDirectory()) {
163
- await addCmd_collectFilesRecursively({
164
- dirPath: fullPath,
165
- baseDir: activeWorktreeDir,
166
- vcsFolderName,
167
- filterPatterns,
168
- outFiles: targetFilePaths,
169
- });
170
- }
171
- else if (stat.isFile()) {
172
- if (!targetFilePaths.includes(fullPath)) {
173
- targetFilePaths.push(fullPath);
174
- }
175
- }
176
- }
177
- }
178
- }
179
- const stagedItemAddrs = [...(indexIbGib.data?.staged_item || [])];
180
- const stagedPathsMap = { ...(indexIbGib.data?.stagedPaths || {}) };
181
- const newlyStagedPaths = [];
182
- for (const absFilePath of targetFilePaths) {
183
- const relPath = path.relative(activeWorktreeDir, absFilePath).replace(/\\/g, '/');
184
- // Read file data & compute hash
185
- const fileData = await fs.readFile(absFilePath);
186
- const fileHash = crypto.createHash('sha256').update(fileData).digest('hex');
187
- // Skip staging if candidate file matches active branch committed snapshot
188
- const committedItem = committedBranchItemsMap.get(relPath);
189
- if (committedItem && committedItem.fileHash && committedItem.fileHash === fileHash) {
190
- continue;
191
- }
192
- // 1. Create BinIbGib_V1 graph node as Uint8Array
193
- const binData = new Uint8Array(fileData);
194
- const binIb = `bin ${fileHash}`;
195
- const binGib = await getGib({ ibGib: { ib: binIb, data: binData } });
196
- const binIbGib = {
197
- ib: binIb,
198
- gib: binGib,
199
- data: binData,
200
- };
201
- const binAddr = getIbGibAddr({ ibGib: binIbGib });
202
- await putInSpace({ ibGib: binIbGib, space: activeSpace });
203
- await metaspace.registerNewIbGib({ ibGib: binIbGib, space: activeSpace });
204
- // 2. Create or Evolve B2tFSItemIbGib_V1 candidate graph node
205
- const fileName = path.basename(absFilePath);
206
- const nameHash = crypto.createHash('sha256').update(fileName).digest('hex');
207
- let itemRes;
208
- if (committedItem && committedItem.item) {
209
- itemRes = await evolveB2tFSItemIbGib({
210
- existingItem: committedItem.item,
211
- dataToUpdate: {
212
- fileHash,
213
- },
214
- rel8nsToUpdate: {
215
- bin: [binAddr],
216
- },
217
- });
218
- }
219
- else {
220
- itemRes = await createB2tFSItemIbGib({
221
- fsType: 'file',
222
- name: fileName,
223
- data: {
224
- nameHash,
225
- fileHash,
226
- fileEncoding: 'utf8',
227
- },
228
- rel8ns: {
229
- bin: [binAddr],
230
- },
231
- });
232
- }
233
- const itemIbGib = itemRes.newIbGib;
234
- const itemAddr = getIbGibAddr({ ibGib: itemIbGib });
235
- await persistTransformResult({ resTransform: itemRes, space: activeSpace });
236
- await metaspace.registerNewIbGib({ ibGib: itemIbGib, space: activeSpace });
237
- if (!stagedItemAddrs.includes(itemAddr)) {
238
- stagedItemAddrs.push(itemAddr);
239
- }
240
- stagedPathsMap[relPath] = {
241
- itemAddr,
242
- binAddr,
243
- fileHash,
244
- fsType: 'file',
245
- stagedAt: new Date().toISOString(),
246
- };
247
- newlyStagedPaths.push(relPath);
248
- if (!quiet) {
249
- console.log(`staged: ${relPath}`);
250
- }
251
- }
252
- // 3. Update B2tFSIndexIbGib_V1 in activeSpace & localSpace
253
- const updatedIndex = await updateB2tFSIndexIbGib({
254
- space: activeSpace,
255
- metaspace,
256
- indexIbGib,
257
- dataToUpdate: {
258
- stagedPaths: stagedPathsMap,
259
- staged_item: stagedItemAddrs,
260
- },
261
- vcsPath,
262
- });
263
- if (localSpace !== activeSpace) {
264
- await putInSpace({ space: localSpace, ibGib: updatedIndex });
265
- }
266
- return {
267
- stagedPaths: newlyStagedPaths,
268
- stagedCount: newlyStagedPaths.length,
269
- };
270
- }
271
- catch (error) {
272
- console.error(`${lc} ${extractErrorMsg(error)} (E: 3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f)`);
273
- throw error;
274
- }
275
- finally {
276
- if (logalot) {
277
- console.log(`${lc} complete. (I: 4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a)`);
278
- }
279
- }
280
- }
281
- // #region addCmd_walkBranchGraph
282
- async function addCmd_walkBranchGraph({ item, space, metaspace, currentRelPath, outMap, }) {
283
- if (!item || !item.data) {
284
- return;
285
- }
286
- const { fsType, fileHash } = item.data;
287
- if (currentRelPath) {
288
- outMap.set(currentRelPath, { relPath: currentRelPath, fileHash, fsType, item });
289
- }
290
- if (fsType === 'folder') {
291
- const childAddrs = item.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
292
- for (const childAddr of childAddrs) {
293
- const childItem = await getIbGibWithMetaspaceFallback({
294
- addr: childAddr,
295
- space,
296
- metaspace,
297
- });
298
- if (childItem && childItem.data) {
299
- const childRelPath = currentRelPath
300
- ? `${currentRelPath}/${childItem.data.name}`
301
- : childItem.data.name;
302
- await addCmd_walkBranchGraph({
303
- item: childItem,
304
- space,
305
- metaspace,
306
- currentRelPath: childRelPath,
307
- outMap,
308
- });
309
- }
310
- }
311
- }
312
- }
313
- // #endregion addCmd_walkBranchGraph
314
- // #region addCmd_collectFilesRecursively
315
- async function addCmd_collectFilesRecursively({ dirPath, baseDir, vcsFolderName, filterPatterns, outFiles, }) {
316
- const entries = await fs.readdir(dirPath, { withFileTypes: true });
317
- for (const entry of entries) {
318
- const fullPath = path.join(dirPath, entry.name);
319
- const relPath = path.relative(baseDir, fullPath).replace(/\\/g, '/');
320
- // Ignore vcs storage folder, .git, and worktrees folder b
321
- if (relPath === vcsFolderName || relPath.startsWith(vcsFolderName + '/') ||
322
- relPath === '.git' || relPath.startsWith('.git/') ||
323
- relPath === 'b' || relPath.startsWith('b/')) {
324
- continue;
325
- }
326
- if (isPathFiltered({ relativePath: relPath, isDirectory: entry.isDirectory(), filterPatterns })) {
327
- continue;
328
- }
329
- if (entry.isDirectory()) {
330
- await addCmd_collectFilesRecursively({
331
- dirPath: fullPath,
332
- baseDir,
333
- vcsFolderName,
334
- filterPatterns,
335
- outFiles,
336
- });
337
- }
338
- else if (entry.isFile()) {
339
- if (!isCommentMetadataFilename(entry.name)) {
340
- outFiles.push(fullPath);
341
- }
342
- }
343
- }
344
- }
345
- // #endregion addCmd_collectFilesRecursively
346
- //# sourceMappingURL=add-cmd.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/add-cmd.mts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/branch-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,EACnC,UAAU,EACV,QAAQ,EACR,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+M/C"}
@@ -1,238 +0,0 @@
1
- /**
2
- * @module branch-cmd
3
- *
4
- * Command handler for `vcs branch [branchName]`.
5
- * Lists registered branches or creates a new B2tFSBranchIbGib_V1 node registered in B2tFSIndexIbGib_V1.
6
- */
7
- import path from 'node:path';
8
- import fs from 'node:fs/promises';
9
- import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
10
- import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
11
- import { putInSpace } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
12
- import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
13
- import { createB2tFSBranchIbGib } from '../../engine/branch/branch-helper.mjs';
14
- import { getOrCreateBranchSpace } from '../../engine/branch/branch-space-helper.mjs';
15
- import { populateBranchSpaceFromGraph } from '../../engine/branch/branch-graph-helper.mjs';
16
- import { B2TFS_CHILD_ITEM_REL8N_NAME } from '../../engine/item/item-types.mjs';
17
- import { getIbGibWithMetaspaceFallback } from '../../engine/item/item-helper.mjs';
18
- import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib, getSpaceQualifiedIbGibAddr } from '../../engine/index/index-helper.mjs';
19
- import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
20
- const lcFile = `[branch-cmd]`;
21
- const logalot = GLOBAL_LOG_A_LOT;
22
- export async function executeBranchCmd({ branchName, itemPath, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
23
- const lc = `${lcFile}[${executeBranchCmd.name}]`;
24
- try {
25
- if (logalot) {
26
- console.log(`${lc} starting... (I: 4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f)`);
27
- }
28
- const absTargetDir = path.resolve(targetDir);
29
- const { metaspace, localSpace, vcsPath } = await bootstrapVcsMetaspace({
30
- repoPath: absTargetDir,
31
- vcsFolderName,
32
- });
33
- // Verify repo exists
34
- try {
35
- await fs.access(vcsPath);
36
- }
37
- catch {
38
- throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a)`);
39
- }
40
- // 1. Fetch authoritative repository index from localSpace
41
- const indexIbGib = await getB2tFSIndexIbGib({ space: localSpace, vcsPath });
42
- if (!indexIbGib) {
43
- throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b)`);
44
- }
45
- const activeBranchName = indexIbGib.data?.activeBranch || 'main';
46
- // Resolve active branch space b2s_<activeBranch>
47
- const { space: activeBranchSpace } = await getOrCreateBranchSpace({
48
- metaspace,
49
- vcsPath,
50
- branchName: activeBranchName,
51
- });
52
- // 2. Fetch all registered branch ibgibs
53
- const branchAddrs = [
54
- ...(indexIbGib.rel8ns?.branch || []),
55
- ...(indexIbGib.rel8ns?.branch_tjp || []),
56
- ];
57
- let branchIbGibs = [];
58
- if (branchAddrs.length > 0) {
59
- for (const bAddr of branchAddrs) {
60
- const bIbGib = await getIbGibWithMetaspaceFallback({
61
- addr: bAddr,
62
- space: activeBranchSpace,
63
- metaspace,
64
- });
65
- if (bIbGib) {
66
- branchIbGibs.push(bIbGib);
67
- }
68
- }
69
- }
70
- // Deduplicate branch nodes by branch name
71
- const branchMap = new Map();
72
- for (const b of branchIbGibs) {
73
- if (b?.data?.name) {
74
- branchMap.set(b.data.name, b);
75
- }
76
- }
77
- const trimmedBranchName = branchName?.trim();
78
- if (!trimmedBranchName) {
79
- // LIST BRANCHES
80
- const branches = [];
81
- for (const [name, bNode] of branchMap.entries()) {
82
- const addr = getIbGibAddr({ ibGib: bNode });
83
- const rootItemAddr = bNode.rel8ns?.b2tfs_item?.at(-1);
84
- const isActive = name === activeBranchName;
85
- branches.push({
86
- name,
87
- isActive,
88
- addr,
89
- rootItemAddr,
90
- });
91
- }
92
- if (!quiet) {
93
- for (const b of branches) {
94
- const prefix = b.isActive ? '* ' : ' ';
95
- console.log(`${prefix}${b.name}`);
96
- }
97
- }
98
- return { branches };
99
- }
100
- // CREATE BRANCH
101
- if (branchMap.has(trimmedBranchName)) {
102
- throw new Error(`Branch '${trimmedBranchName}' already exists (E: 7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c)`);
103
- }
104
- // Find active branch root item to fork from
105
- const activeBranchIbGib = branchMap.get(activeBranchName) || branchIbGibs.at(0);
106
- const rootItemAddr = activeBranchIbGib?.rel8ns?.b2tfs_item?.at(-1);
107
- if (!rootItemAddr) {
108
- throw new Error(`Cannot find active branch root item to fork branch from (E: 8f7e6d5c4b3a2f1e0d9c8b7a6f5e4d3c)`);
109
- }
110
- const rootItem = await getIbGibWithMetaspaceFallback({
111
- addr: rootItemAddr,
112
- space: activeBranchSpace,
113
- metaspace,
114
- });
115
- if (!rootItem) {
116
- throw new Error(`Root item node for address '${rootItemAddr}' not found in localSpace (E: 9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e)`);
117
- }
118
- let targetRootItem = rootItem;
119
- if (itemPath && itemPath.trim().length > 0) {
120
- const normalizedItemPath = itemPath.trim().replace(/\\/g, '/').replace(/^\.\//, '');
121
- const committedBranchItemsMap = new Map();
122
- await executeBranchCmd_walkBranchGraphForItems({
123
- item: rootItem,
124
- space: activeBranchSpace,
125
- metaspace,
126
- currentRelPath: '',
127
- outMap: committedBranchItemsMap,
128
- });
129
- const targetItemNode = committedBranchItemsMap.get(normalizedItemPath);
130
- if (!targetItemNode) {
131
- throw new Error(`Item '${itemPath}' not found in active branch snapshot (E: 8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c)`);
132
- }
133
- targetRootItem = targetItemNode;
134
- }
135
- // Instantiate new branch space b2s_<newBranch>
136
- const { space: newBranchSpace, spaceId: newBranchSpaceId } = await getOrCreateBranchSpace({
137
- metaspace,
138
- vcsPath,
139
- branchName: trimmedBranchName,
140
- });
141
- // Populate new branch space from live dependency graph of targetRootItem
142
- await populateBranchSpaceFromGraph({
143
- sourceSpace: activeBranchSpace,
144
- targetBranchSpace: newBranchSpace,
145
- rootItemIbGib: targetRootItem,
146
- metaspace,
147
- });
148
- // Create new B2tFSBranchIbGib_V1 branch node inside newBranchSpace
149
- const newBranchIbGib = await createB2tFSBranchIbGib({
150
- branchName: trimmedBranchName,
151
- rootItem: targetRootItem,
152
- space: newBranchSpace,
153
- metaspace,
154
- });
155
- // Put in activeBranchSpace so active index can reference it
156
- await putInSpace({ space: activeBranchSpace, ibGib: newBranchIbGib });
157
- const newBranchAddr = getIbGibAddr({ ibGib: newBranchIbGib });
158
- const sqNewBranchAddr = getSpaceQualifiedIbGibAddr({
159
- spaceId: newBranchSpaceId,
160
- ibGibAddr: newBranchAddr,
161
- });
162
- // Register new branch node in B2tFSIndexIbGib_V1 using space-qualified address
163
- await updateB2tFSIndexIbGib({
164
- space: activeBranchSpace,
165
- metaspace,
166
- indexIbGib,
167
- rel8nsToUpdate: {
168
- branch: [sqNewBranchAddr],
169
- branch_tjp: [sqNewBranchAddr],
170
- },
171
- vcsPath,
172
- });
173
- if (!quiet) {
174
- console.log(`Created branch '${trimmedBranchName}' (I: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5e)`);
175
- }
176
- // Return updated branch list
177
- branchMap.set(trimmedBranchName, newBranchIbGib);
178
- const branches = [];
179
- for (const [name, bNode] of branchMap.entries()) {
180
- const addr = getIbGibAddr({ ibGib: bNode });
181
- const itemAddr = bNode.rel8ns?.b2tfs_item?.at(0);
182
- branches.push({
183
- name,
184
- isActive: name === activeBranchName,
185
- addr,
186
- rootItemAddr: itemAddr,
187
- });
188
- }
189
- return {
190
- branches,
191
- createdBranchName: trimmedBranchName,
192
- createdBranchAddr: newBranchAddr,
193
- };
194
- }
195
- catch (error) {
196
- console.error(`${lc} ${extractErrorMsg(error)} (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
197
- throw error;
198
- }
199
- finally {
200
- if (logalot) {
201
- console.log(`${lc} complete. (I: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`);
202
- }
203
- }
204
- }
205
- // #region executeBranchCmd_walkBranchGraphForItems
206
- async function executeBranchCmd_walkBranchGraphForItems({ item, space, metaspace, currentRelPath, outMap, }) {
207
- if (!item || !item.data) {
208
- return;
209
- }
210
- const { fsType } = item.data;
211
- if (currentRelPath) {
212
- outMap.set(currentRelPath, item);
213
- }
214
- if (fsType === 'folder') {
215
- const childAddrs = item.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
216
- for (const childAddr of childAddrs) {
217
- const childItem = await getIbGibWithMetaspaceFallback({
218
- addr: childAddr,
219
- space,
220
- metaspace,
221
- });
222
- if (childItem && childItem.data) {
223
- const childRelPath = currentRelPath
224
- ? `${currentRelPath}/${childItem.data.name}`
225
- : childItem.data.name;
226
- await executeBranchCmd_walkBranchGraphForItems({
227
- item: childItem,
228
- space,
229
- metaspace,
230
- currentRelPath: childRelPath,
231
- outMap,
232
- });
233
- }
234
- }
235
- }
236
- }
237
- // #endregion executeBranchCmd_walkBranchGraphForItems
238
- //# sourceMappingURL=branch-cmd.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-cmd.mts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * @module checkout-cmd
3
- *
4
- * Command handler for `vcs checkout <branchName>`.
5
- * Switches activeBranch in B2tFSIndexIbGib_V1 in localSpace and projects branch snapshot onto worktree path.
6
- */
7
- export interface CheckoutCmdOpts {
8
- branchName?: string;
9
- targetDir?: string;
10
- vcsFolderName?: string;
11
- quiet?: boolean;
12
- }
13
- export interface CheckoutCmdResult {
14
- previousBranch: string;
15
- currentBranch: string;
16
- branchAddr: string;
17
- rootItemAddr: string;
18
- worktreePath: string;
19
- }
20
- export declare function executeCheckoutCmd({ branchName, targetDir, vcsFolderName, quiet, }?: CheckoutCmdOpts): Promise<CheckoutCmdResult>;
21
- //# sourceMappingURL=checkout-cmd.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkout-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAuBH,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,kBAAkB,CAAC,EACrC,UAAU,EACV,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,eAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkLnD"}