@ibgib/vcs-gib 0.0.30 → 0.0.32
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.
- package/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/bootstrap/node-bootstrap.mjs +1 -1
- package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
- package/dist/cli/commands/add-cmd.d.mts +2 -3
- package/dist/cli/commands/add-cmd.d.mts.map +1 -1
- package/dist/cli/commands/add-cmd.mjs +30 -283
- package/dist/cli/commands/add-cmd.mjs.map +1 -1
- package/dist/cli/commands/branch-cmd.d.mts +8 -8
- package/dist/cli/commands/branch-cmd.d.mts.map +1 -1
- package/dist/cli/commands/branch-cmd.mjs +45 -176
- package/dist/cli/commands/branch-cmd.mjs.map +1 -1
- package/dist/cli/commands/checkout-cmd.d.mts +2 -4
- package/dist/cli/commands/checkout-cmd.d.mts.map +1 -1
- package/dist/cli/commands/checkout-cmd.mjs +31 -110
- package/dist/cli/commands/checkout-cmd.mjs.map +1 -1
- package/dist/cli/commands/commit-cmd.d.mts +7 -8
- package/dist/cli/commands/commit-cmd.d.mts.map +1 -1
- package/dist/cli/commands/commit-cmd.mjs +40 -390
- package/dist/cli/commands/commit-cmd.mjs.map +1 -1
- package/dist/cli/commands/generate-comment-cmd.d.mts.map +1 -1
- package/dist/cli/commands/generate-comment-cmd.mjs +5 -2
- package/dist/cli/commands/generate-comment-cmd.mjs.map +1 -1
- package/dist/cli/commands/init-cmd.d.mts +2 -2
- package/dist/cli/commands/init-cmd.d.mts.map +1 -1
- package/dist/cli/commands/init-cmd.mjs +20 -70
- package/dist/cli/commands/init-cmd.mjs.map +1 -1
- package/dist/cli/commands/log-cmd.d.mts +2 -3
- package/dist/cli/commands/log-cmd.d.mts.map +1 -1
- package/dist/cli/commands/log-cmd.mjs +42 -271
- package/dist/cli/commands/log-cmd.mjs.map +1 -1
- package/dist/cli/commands/merge-cmd.d.mts +3 -17
- package/dist/cli/commands/merge-cmd.d.mts.map +1 -1
- package/dist/cli/commands/merge-cmd.mjs +32 -218
- package/dist/cli/commands/merge-cmd.mjs.map +1 -1
- package/dist/cli/commands/reset-cmd.d.mts +1 -1
- package/dist/cli/commands/reset-cmd.d.mts.map +1 -1
- package/dist/cli/commands/reset-cmd.mjs +17 -19
- package/dist/cli/commands/reset-cmd.mjs.map +1 -1
- package/dist/cli/commands/restore-cmd.d.mts +8 -7
- package/dist/cli/commands/restore-cmd.d.mts.map +1 -1
- package/dist/cli/commands/restore-cmd.mjs +44 -62
- package/dist/cli/commands/restore-cmd.mjs.map +1 -1
- package/dist/cli/commands/status-cmd.d.mts +2 -2
- package/dist/cli/commands/status-cmd.d.mts.map +1 -1
- package/dist/cli/commands/status-cmd.mjs +63 -62
- package/dist/cli/commands/status-cmd.mjs.map +1 -1
- package/dist/cli/vcs-projection-helper.d.mts +23 -0
- package/dist/cli/vcs-projection-helper.d.mts.map +1 -0
- package/dist/cli/vcs-projection-helper.mjs +91 -0
- package/dist/cli/vcs-projection-helper.mjs.map +1 -0
- package/dist/test/test-helpers.d.mts +2 -2
- package/dist/test/test-helpers.d.mts.map +1 -1
- package/package.json +3 -3
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/bootstrap/node-bootstrap.mts +1 -1
- package/src/cli/cli-e2e.respec.mts +4 -4
- package/src/cli/commands/add-cmd.mts +32 -347
- package/src/cli/commands/branch-cmd.mts +56 -225
- package/src/cli/commands/checkout-cmd.mts +34 -138
- package/src/cli/commands/commit-cmd.mts +46 -473
- package/src/cli/commands/commit-log-cmd.respec.mts +11 -7
- package/src/cli/commands/generate-comment-cmd.mts +6 -2
- package/src/cli/commands/init-cmd.mts +20 -73
- package/src/cli/commands/log-cmd.mts +41 -331
- package/src/cli/commands/merge-cmd.mts +32 -252
- package/src/cli/commands/reset-cmd.mts +17 -19
- package/src/cli/commands/restore-cmd.mts +52 -72
- package/src/cli/commands/status-add-cmd.respec.mts +3 -3
- package/src/cli/commands/status-cmd.mts +68 -63
- package/src/cli/vcs-projection-helper.mts +112 -0
- package/src/engine/branch/branch-space.respec.mts +5 -5
- package/src/engine/merge/b2tfs-sync-comments.respec.mts +4 -4
- package/src/test/test-helpers.mts +2 -2
- package/src/vcs-gib.respec.mts +11 -8
- package/tsconfig.test.tsbuildinfo +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/engine/branch/branch-graph-helper.d.mts +0 -28
- package/dist/engine/branch/branch-graph-helper.d.mts.map +0 -1
- package/dist/engine/branch/branch-graph-helper.mjs +0 -81
- package/dist/engine/branch/branch-graph-helper.mjs.map +0 -1
- package/dist/engine/branch/branch-helper.d.mts +0 -40
- package/dist/engine/branch/branch-helper.d.mts.map +0 -1
- package/dist/engine/branch/branch-helper.mjs +0 -78
- package/dist/engine/branch/branch-helper.mjs.map +0 -1
- package/dist/engine/branch/branch-space-helper.d.mts +0 -23
- package/dist/engine/branch/branch-space-helper.d.mts.map +0 -1
- package/dist/engine/branch/branch-space-helper.mjs +0 -78
- package/dist/engine/branch/branch-space-helper.mjs.map +0 -1
- package/dist/engine/branch/branch-types.d.mts +0 -26
- package/dist/engine/branch/branch-types.d.mts.map +0 -1
- package/dist/engine/branch/branch-types.mjs +0 -7
- package/dist/engine/branch/branch-types.mjs.map +0 -1
- package/dist/engine/diff/line-diff-helper.d.mts +0 -76
- package/dist/engine/diff/line-diff-helper.d.mts.map +0 -1
- package/dist/engine/diff/line-diff-helper.mjs +0 -144
- package/dist/engine/diff/line-diff-helper.mjs.map +0 -1
- package/dist/engine/filter/glob-helper.d.mts +0 -51
- package/dist/engine/filter/glob-helper.d.mts.map +0 -1
- package/dist/engine/filter/glob-helper.mjs +0 -132
- package/dist/engine/filter/glob-helper.mjs.map +0 -1
- package/dist/engine/index/index-helper.d.mts +0 -113
- package/dist/engine/index/index-helper.d.mts.map +0 -1
- package/dist/engine/index/index-helper.mjs +0 -533
- package/dist/engine/index/index-helper.mjs.map +0 -1
- package/dist/engine/index/index-types.d.mts +0 -63
- package/dist/engine/index/index-types.d.mts.map +0 -1
- package/dist/engine/index/index-types.mjs +0 -7
- package/dist/engine/index/index-types.mjs.map +0 -1
- package/dist/engine/item/item-atom-helper.d.mts +0 -20
- package/dist/engine/item/item-atom-helper.d.mts.map +0 -1
- package/dist/engine/item/item-atom-helper.mjs +0 -30
- package/dist/engine/item/item-atom-helper.mjs.map +0 -1
- package/dist/engine/item/item-helper.d.mts +0 -94
- package/dist/engine/item/item-helper.d.mts.map +0 -1
- package/dist/engine/item/item-helper.mjs +0 -424
- package/dist/engine/item/item-helper.mjs.map +0 -1
- package/dist/engine/item/item-types.d.mts +0 -128
- package/dist/engine/item/item-types.d.mts.map +0 -1
- package/dist/engine/item/item-types.mjs +0 -16
- package/dist/engine/item/item-types.mjs.map +0 -1
- package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts +0 -74
- package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +0 -1
- package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs +0 -570
- package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +0 -1
- package/dist/engine/merge/b2tfs-3way-graft-types.d.mts +0 -34
- package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +0 -1
- package/dist/engine/merge/b2tfs-3way-graft-types.mjs +0 -2
- package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +0 -1
- package/dist/engine/status/status-helper.d.mts +0 -90
- package/dist/engine/status/status-helper.d.mts.map +0 -1
- package/dist/engine/status/status-helper.mjs +0 -286
- package/dist/engine/status/status-helper.mjs.map +0 -1
- package/src/engine/branch/branch-graph-helper.mts +0 -117
- package/src/engine/branch/branch-helper.mts +0 -112
- package/src/engine/branch/branch-space-helper.mts +0 -110
- package/src/engine/branch/branch-types.mts +0 -29
- package/src/engine/diff/line-diff-helper.mts +0 -210
- package/src/engine/diff/line-diff-helper.respec.mts +0 -84
- package/src/engine/filter/glob-helper.mts +0 -165
- package/src/engine/filter/glob-helper.respec.mts +0 -94
- package/src/engine/index/index-helper.mts +0 -705
- package/src/engine/index/index-types.mts +0 -66
- package/src/engine/item/item-atom-helper.mts +0 -30
- package/src/engine/item/item-helper.mts +0 -544
- package/src/engine/item/item-types.mts +0 -137
- package/src/engine/item/item.respec.mts +0 -92
- package/src/engine/merge/b2tfs-3way-graft-strategy.mts +0 -630
- package/src/engine/merge/b2tfs-3way-graft-strategy.respec.mts +0 -346
- package/src/engine/merge/b2tfs-3way-graft-types.mts +0 -34
- package/src/engine/status/status-helper.mts +0 -383
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module branch-cmd
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* CLI command handler for `vcs branch [branchName]`.
|
|
5
|
+
* Delegates to executeVcsBranch and formats terminal output.
|
|
6
6
|
*/
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import fs from 'node:fs/promises';
|
|
9
9
|
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
10
|
+
import { executeVcsBranch } from '@ibgib/core-gib/dist/vcs/commands/branch-cmd.mjs';
|
|
11
|
+
import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
|
|
12
12
|
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
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';
|
|
13
|
+
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
14
|
+
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
19
15
|
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
20
16
|
const lcFile = `[branch-cmd]`;
|
|
21
17
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
@@ -26,7 +22,7 @@ export async function executeBranchCmd({ branchName, itemPath, targetDir = proce
|
|
|
26
22
|
console.log(`${lc} starting... (I: 4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f)`);
|
|
27
23
|
}
|
|
28
24
|
const absTargetDir = path.resolve(targetDir);
|
|
29
|
-
const { metaspace, localSpace, vcsPath } = await bootstrapVcsMetaspace({
|
|
25
|
+
const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
|
|
30
26
|
repoPath: absTargetDir,
|
|
31
27
|
vcsFolderName,
|
|
32
28
|
});
|
|
@@ -38,158 +34,64 @@ export async function executeBranchCmd({ branchName, itemPath, targetDir = proce
|
|
|
38
34
|
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a)`);
|
|
39
35
|
}
|
|
40
36
|
// 1. Fetch authoritative repository index from localSpace
|
|
41
|
-
const indexIbGib = await
|
|
37
|
+
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
42
38
|
if (!indexIbGib) {
|
|
43
39
|
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b)`);
|
|
44
40
|
}
|
|
45
|
-
const activeBranchName =
|
|
41
|
+
const activeBranchName = resolveContextualBranchName({
|
|
42
|
+
targetDir: absTargetDir,
|
|
43
|
+
repoRoot,
|
|
44
|
+
indexIbGib,
|
|
45
|
+
});
|
|
46
46
|
// Resolve active branch space b2s_<activeBranch>
|
|
47
47
|
const { space: activeBranchSpace } = await getOrCreateBranchSpace({
|
|
48
48
|
metaspace,
|
|
49
49
|
vcsPath,
|
|
50
50
|
branchName: activeBranchName,
|
|
51
51
|
});
|
|
52
|
-
//
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
-
}
|
|
52
|
+
// If creating a branch, ensure target branch space exists on Node
|
|
53
|
+
if (branchName && branchName.trim().length > 0) {
|
|
54
|
+
await getOrCreateBranchSpace({
|
|
55
|
+
metaspace,
|
|
56
|
+
vcsPath,
|
|
57
|
+
branchName: branchName.trim(),
|
|
58
|
+
});
|
|
69
59
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
60
|
+
const branchRes = await executeVcsBranch({
|
|
61
|
+
metaspace,
|
|
62
|
+
localSpace,
|
|
63
|
+
activeBranchSpace,
|
|
64
|
+
indexIbGib,
|
|
65
|
+
branchName,
|
|
66
|
+
itemPath,
|
|
67
|
+
repoRoot,
|
|
68
|
+
targetDir: absTargetDir,
|
|
69
|
+
vcsFolderName,
|
|
70
|
+
});
|
|
71
|
+
if (branchRes.updatedIndex) {
|
|
72
|
+
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: branchRes.updatedIndex });
|
|
76
73
|
}
|
|
77
|
-
const
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
branches.push({
|
|
86
|
-
name,
|
|
87
|
-
isActive,
|
|
88
|
-
addr,
|
|
89
|
-
rootItemAddr,
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
if (!quiet) {
|
|
74
|
+
const branches = branchRes.branches.map(b => ({
|
|
75
|
+
name: b.name,
|
|
76
|
+
isActive: b.isActive,
|
|
77
|
+
addr: b.commitAddr || '',
|
|
78
|
+
rootItemAddr: b.rootItemAddr,
|
|
79
|
+
}));
|
|
80
|
+
if (!quiet) {
|
|
81
|
+
if (!branchName) {
|
|
93
82
|
for (const b of branches) {
|
|
94
83
|
const prefix = b.isActive ? '* ' : ' ';
|
|
95
84
|
console.log(`${prefix}${b.name}`);
|
|
96
85
|
}
|
|
97
86
|
}
|
|
98
|
-
|
|
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)`);
|
|
87
|
+
else {
|
|
88
|
+
console.log(`Created branch '${branchRes.createdBranchName}'`);
|
|
132
89
|
}
|
|
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
90
|
}
|
|
189
91
|
return {
|
|
190
92
|
branches,
|
|
191
|
-
createdBranchName:
|
|
192
|
-
createdBranchAddr:
|
|
93
|
+
createdBranchName: branchRes.createdBranchName,
|
|
94
|
+
createdBranchAddr: branchRes.createdBranchAddr,
|
|
193
95
|
};
|
|
194
96
|
}
|
|
195
97
|
catch (error) {
|
|
@@ -202,37 +104,4 @@ export async function executeBranchCmd({ branchName, itemPath, targetDir = proce
|
|
|
202
104
|
}
|
|
203
105
|
}
|
|
204
106
|
}
|
|
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
107
|
//# sourceMappingURL=branch-cmd.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"branch-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"branch-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module checkout-cmd
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* CLI command handler for `vcs checkout <branchName>`.
|
|
5
|
+
* Bootstraps workspace projection space, delegates to executeVcsCheckout, and writes projection cache.
|
|
6
6
|
*/
|
|
7
7
|
export interface CheckoutCmdOpts {
|
|
8
8
|
branchName?: string;
|
|
@@ -13,8 +13,6 @@ export interface CheckoutCmdOpts {
|
|
|
13
13
|
export interface CheckoutCmdResult {
|
|
14
14
|
previousBranch: string;
|
|
15
15
|
currentBranch: string;
|
|
16
|
-
branchAddr: string;
|
|
17
|
-
rootItemAddr: string;
|
|
18
16
|
worktreePath: string;
|
|
19
17
|
}
|
|
20
18
|
export declare function executeCheckoutCmd({ branchName, targetDir, vcsFolderName, quiet, }?: CheckoutCmdOpts): Promise<CheckoutCmdResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"checkout-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH,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,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,CAkFnD"}
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module checkout-cmd
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* CLI command handler for `vcs checkout <branchName>`.
|
|
5
|
+
* Bootstraps workspace projection space, delegates to executeVcsCheckout, and writes projection cache.
|
|
6
6
|
*/
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import fs from 'node:fs/promises';
|
|
9
9
|
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
10
|
-
import {
|
|
11
|
-
import { putInSpace, getLatestAddrs } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
|
|
10
|
+
import { executeVcsCheckout } from '@ibgib/core-gib/dist/vcs/commands/checkout-cmd.mjs';
|
|
12
11
|
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { writeB2tFSItemToFS, getIbGibWithMetaspaceFallback } from '../../engine/item/item-helper.mjs';
|
|
17
|
-
import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib } from '../../engine/index/index-helper.mjs';
|
|
12
|
+
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
13
|
+
import { getOrCreateWorkspaceProjectionSpace } from '@ibgib/node-gib/dist/vcs/workspace-space-helper.mjs';
|
|
14
|
+
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
18
15
|
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
19
16
|
const lcFile = `[checkout-cmd]`;
|
|
20
17
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
@@ -22,7 +19,7 @@ export async function executeCheckoutCmd({ branchName, targetDir = process.cwd()
|
|
|
22
19
|
const lc = `${lcFile}[${executeCheckoutCmd.name}]`;
|
|
23
20
|
try {
|
|
24
21
|
if (logalot) {
|
|
25
|
-
console.log(`${lc} starting... (I:
|
|
22
|
+
console.log(`${lc} starting... (I: 3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e)`);
|
|
26
23
|
}
|
|
27
24
|
const trimmedBranchName = branchName?.trim();
|
|
28
25
|
if (!trimmedBranchName) {
|
|
@@ -41,133 +38,57 @@ export async function executeCheckoutCmd({ branchName, targetDir = process.cwd()
|
|
|
41
38
|
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0e)`);
|
|
42
39
|
}
|
|
43
40
|
// 1. Fetch authoritative repository index from localSpace
|
|
44
|
-
const indexIbGib = await
|
|
41
|
+
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
45
42
|
if (!indexIbGib) {
|
|
46
43
|
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f)`);
|
|
47
44
|
}
|
|
48
|
-
|
|
49
|
-
// 2. Fetch all registered branch ibgibs
|
|
50
|
-
const branchAddrs = [
|
|
51
|
-
...(indexIbGib.rel8ns?.branch || []),
|
|
52
|
-
...(indexIbGib.rel8ns?.branch_tjp || []),
|
|
53
|
-
];
|
|
54
|
-
let branchIbGibs = [];
|
|
55
|
-
if (branchAddrs.length > 0) {
|
|
56
|
-
for (const bAddr of branchAddrs) {
|
|
57
|
-
const bIbGib = await getIbGibWithMetaspaceFallback({
|
|
58
|
-
addr: bAddr,
|
|
59
|
-
space: localSpace,
|
|
60
|
-
metaspace,
|
|
61
|
-
});
|
|
62
|
-
if (bIbGib) {
|
|
63
|
-
branchIbGibs.push(bIbGib);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// Find target branch node
|
|
68
|
-
const targetBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === trimmedBranchName);
|
|
69
|
-
if (!targetBranchIbGib) {
|
|
70
|
-
throw new Error(`Branch '${trimmedBranchName}' does not exist (E: 7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a)`);
|
|
71
|
-
}
|
|
72
|
-
// 3. Resolve target branch space b2s_<branchName>
|
|
45
|
+
// 2. Resolve target branch space b2s_<branchName>
|
|
73
46
|
const targetBranchSpaceRes = await getOrCreateBranchSpace({
|
|
74
47
|
metaspace,
|
|
75
48
|
vcsPath,
|
|
76
49
|
branchName: trimmedBranchName,
|
|
77
50
|
});
|
|
78
51
|
const targetBranchSpace = targetBranchSpaceRes.space;
|
|
79
|
-
const targetBranchAddr = getIbGibAddr({ ibGib: targetBranchIbGib });
|
|
80
|
-
const targetBranchTjpAddr = targetBranchIbGib.rel8ns?.tjp?.at(0) || targetBranchAddr;
|
|
81
|
-
const latestTargetBranchRes = await getLatestAddrs({ space: targetBranchSpace, addrs: [targetBranchTjpAddr] });
|
|
82
|
-
const latestTargetBranchAddr = latestTargetBranchRes?.data?.latestAddrs?.[0] || targetBranchAddr;
|
|
83
|
-
const latestTargetBranchIbGib = (await getIbGibWithMetaspaceFallback({
|
|
84
|
-
addr: latestTargetBranchAddr,
|
|
85
|
-
space: targetBranchSpace,
|
|
86
|
-
metaspace,
|
|
87
|
-
})) || targetBranchIbGib;
|
|
88
|
-
const rootItemAddr = latestTargetBranchIbGib.rel8ns?.b2tfs_item?.at(-1);
|
|
89
|
-
if (!rootItemAddr) {
|
|
90
|
-
throw new Error(`Branch '${trimmedBranchName}' does not have a valid root item address (E: 8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b)`);
|
|
91
|
-
}
|
|
92
|
-
await putInSpace({ space: targetBranchSpace, ibGib: targetBranchIbGib });
|
|
93
|
-
// Update activeBranch in B2tFSIndexIbGib_V1 in targetBranchSpace and localSpace
|
|
94
|
-
const updatedIndex = await updateB2tFSIndexIbGib({
|
|
95
|
-
space: targetBranchSpace,
|
|
96
|
-
metaspace,
|
|
97
|
-
indexIbGib,
|
|
98
|
-
dataToUpdate: {
|
|
99
|
-
activeBranch: trimmedBranchName,
|
|
100
|
-
activeSpaceId: getB2tFSBranchSpaceName(trimmedBranchName),
|
|
101
|
-
mySpaceId: targetBranchSpaceRes.spaceId,
|
|
102
|
-
},
|
|
103
|
-
vcsPath,
|
|
104
|
-
});
|
|
105
|
-
if (localSpace !== targetBranchSpace) {
|
|
106
|
-
await putInSpace({ space: localSpace, ibGib: updatedIndex });
|
|
107
|
-
}
|
|
108
|
-
// 4. Project branch snapshot onto worktree subfolder:
|
|
109
|
-
// 'main' -> repoRoot
|
|
110
|
-
// other branches -> repoRoot/b/<branch_name>/
|
|
111
52
|
const isDefaultBranch = trimmedBranchName === 'main';
|
|
112
53
|
const worktreePath = isDefaultBranch
|
|
113
54
|
? repoRoot
|
|
114
55
|
: path.join(repoRoot, 'b', trimmedBranchName);
|
|
115
56
|
await fs.mkdir(worktreePath, { recursive: true });
|
|
116
|
-
|
|
117
|
-
// If rootItem is a single file, write it directly to worktreePath (my-repo/b/<branchName>/<fileName>).
|
|
118
|
-
// If rootItem is a folder, write child items into worktreePath.
|
|
119
|
-
const rootItem = await getIbGibWithMetaspaceFallback({
|
|
120
|
-
addr: rootItemAddr,
|
|
121
|
-
space: targetBranchSpace,
|
|
57
|
+
const { space: workspaceSpace } = await getOrCreateWorkspaceProjectionSpace({
|
|
122
58
|
metaspace,
|
|
59
|
+
workspaceRoot: worktreePath,
|
|
60
|
+
vcsFolderName,
|
|
61
|
+
backingSpace: targetBranchSpace,
|
|
123
62
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const childItem = await getIbGibWithMetaspaceFallback({
|
|
137
|
-
addr: childAddr,
|
|
138
|
-
space: targetBranchSpace,
|
|
139
|
-
metaspace,
|
|
140
|
-
});
|
|
141
|
-
if (childItem) {
|
|
142
|
-
await writeB2tFSItemToFS({
|
|
143
|
-
item: childItem,
|
|
144
|
-
destPath: worktreePath,
|
|
145
|
-
space: targetBranchSpace,
|
|
146
|
-
metaspace,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
63
|
+
const checkoutRes = await executeVcsCheckout({
|
|
64
|
+
metaspace,
|
|
65
|
+
localSpace,
|
|
66
|
+
targetBranchSpace,
|
|
67
|
+
workspaceSpace,
|
|
68
|
+
indexIbGib,
|
|
69
|
+
branchName: trimmedBranchName,
|
|
70
|
+
repoRoot,
|
|
71
|
+
targetDir: absTargetDir,
|
|
72
|
+
vcsFolderName,
|
|
73
|
+
});
|
|
74
|
+
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: checkoutRes.updatedIndex });
|
|
152
75
|
if (!quiet) {
|
|
153
|
-
console.log(`Switched to branch '${trimmedBranchName}' (I:
|
|
154
|
-
console.log(`
|
|
76
|
+
console.log(`Switched to branch '${trimmedBranchName}' (I: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d)`);
|
|
77
|
+
console.log(`Worktree path: ${worktreePath}`);
|
|
155
78
|
}
|
|
156
79
|
return {
|
|
157
|
-
previousBranch,
|
|
158
|
-
currentBranch:
|
|
159
|
-
branchAddr: targetBranchAddr,
|
|
160
|
-
rootItemAddr,
|
|
80
|
+
previousBranch: checkoutRes.previousBranch,
|
|
81
|
+
currentBranch: checkoutRes.currentBranch,
|
|
161
82
|
worktreePath,
|
|
162
83
|
};
|
|
163
84
|
}
|
|
164
85
|
catch (error) {
|
|
165
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E:
|
|
86
|
+
console.error(`${lc} ${extractErrorMsg(error)} (E: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
|
|
166
87
|
throw error;
|
|
167
88
|
}
|
|
168
89
|
finally {
|
|
169
90
|
if (logalot) {
|
|
170
|
-
console.log(`${lc} complete. (I:
|
|
91
|
+
console.log(`${lc} complete. (I: 2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e)`);
|
|
171
92
|
}
|
|
172
93
|
}
|
|
173
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"checkout-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module commit-cmd
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* attaches comments to corresponding file and folder b2tfs_items,
|
|
7
|
-
* attaches overall commit message to root b2tfs_item, evolves root item,
|
|
8
|
-
* advances B2tFSBranchIbGib_V1 with committedPaths, and clears index staging area.
|
|
4
|
+
* CLI command handler for `vcs commit -m <message>`.
|
|
5
|
+
* Bootstraps workspace projection space and delegates to executeVcsCommit.
|
|
9
6
|
*/
|
|
10
7
|
export interface CommitCmdOpts {
|
|
11
8
|
message?: string;
|
|
12
9
|
targetDir?: string;
|
|
13
10
|
vcsFolderName?: string;
|
|
11
|
+
author?: string;
|
|
14
12
|
quiet?: boolean;
|
|
15
13
|
}
|
|
16
14
|
export interface CommitCmdResult {
|
|
15
|
+
branchName: string;
|
|
17
16
|
commitAddr: string;
|
|
18
17
|
commentAddr?: string;
|
|
19
|
-
branchName: string;
|
|
20
|
-
committedPaths: string[];
|
|
21
18
|
rootItemAddr: string;
|
|
19
|
+
committedPaths: string[];
|
|
20
|
+
ingestedCommentsCount: number;
|
|
22
21
|
}
|
|
23
|
-
export declare function executeCommitCmd({ message, targetDir, vcsFolderName, quiet, }?: CommitCmdOpts): Promise<CommitCmdResult>;
|
|
22
|
+
export declare function executeCommitCmd({ message, targetDir, vcsFolderName, author, quiet, }?: CommitCmdOpts): Promise<CommitCmdResult>;
|
|
24
23
|
//# sourceMappingURL=commit-cmd.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/commit-cmd.mts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"commit-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/commit-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;CACjC;AAED,wBAAsB,gBAAgB,CAAC,EACnC,OAAO,EACP,SAAyB,EACzB,aAAyB,EACzB,MAAmB,EACnB,KAAa,GAChB,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmF/C"}
|