@ibgib/vcs-gib 0.0.32 → 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.
- package/dist/AUTO-GENERATED-version.d.mts +1 -1
- package/dist/AUTO-GENERATED-version.mjs +1 -1
- package/dist/bootstrap/node-bootstrap.d.mts.map +1 -1
- package/dist/bootstrap/node-bootstrap.mjs +6 -20
- package/dist/bootstrap/node-bootstrap.mjs.map +1 -1
- package/dist/cli/commands/{add-cmd.d.mts → cli-add-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-add-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-add-cmd.mjs +45 -0
- package/dist/cli/commands/cli-add-cmd.mjs.map +1 -0
- package/dist/cli/commands/{branch-cmd.d.mts → cli-branch-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-branch-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-branch-cmd.mjs +59 -0
- package/dist/cli/commands/cli-branch-cmd.mjs.map +1 -0
- package/dist/cli/commands/{checkout-cmd.d.mts → cli-checkout-cmd.d.mts} +4 -3
- package/dist/cli/commands/cli-checkout-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-checkout-cmd.mjs +50 -0
- package/dist/cli/commands/cli-checkout-cmd.mjs.map +1 -0
- package/dist/cli/commands/{commit-cmd.d.mts → cli-commit-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-commit-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-commit-cmd.mjs +52 -0
- package/dist/cli/commands/cli-commit-cmd.mjs.map +1 -0
- package/dist/cli/commands/{generate-comment-cmd.d.mts → cli-generate-comment-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-generate-comment-cmd.d.mts.map +1 -0
- package/dist/cli/commands/{generate-comment-cmd.mjs → cli-generate-comment-cmd.mjs} +8 -6
- package/dist/cli/commands/cli-generate-comment-cmd.mjs.map +1 -0
- package/dist/cli/commands/{init-cmd.d.mts → cli-init-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-init-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-init-cmd.mjs +47 -0
- package/dist/cli/commands/cli-init-cmd.mjs.map +1 -0
- package/dist/cli/commands/{log-cmd.d.mts → cli-log-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-log-cmd.d.mts.map +1 -0
- package/dist/cli/commands/{log-cmd.mjs → cli-log-cmd.mjs} +14 -44
- package/dist/cli/commands/cli-log-cmd.mjs.map +1 -0
- package/dist/cli/commands/{merge-cmd.d.mts → cli-merge-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-merge-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-merge-cmd.mjs +66 -0
- package/dist/cli/commands/cli-merge-cmd.mjs.map +1 -0
- package/dist/cli/commands/{reset-cmd.d.mts → cli-reset-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-reset-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-reset-cmd.mjs +63 -0
- package/dist/cli/commands/cli-reset-cmd.mjs.map +1 -0
- package/dist/cli/commands/{restore-cmd.d.mts → cli-restore-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-restore-cmd.d.mts.map +1 -0
- package/dist/cli/commands/cli-restore-cmd.mjs +55 -0
- package/dist/cli/commands/cli-restore-cmd.mjs.map +1 -0
- package/dist/cli/commands/{status-cmd.d.mts → cli-status-cmd.d.mts} +1 -1
- package/dist/cli/commands/cli-status-cmd.d.mts.map +1 -0
- package/dist/cli/commands/{status-cmd.mjs → cli-status-cmd.mjs} +4 -41
- package/dist/cli/commands/cli-status-cmd.mjs.map +1 -0
- package/dist/cli/vcs-cli-main.d.mts.map +1 -1
- package/dist/cli/vcs-cli-main.mjs +18 -15
- package/dist/cli/vcs-cli-main.mjs.map +1 -1
- package/dist/cli/vcs-projection-helper.mjs +7 -7
- package/dist/cli/vcs-projection-helper.mjs.map +1 -1
- package/dist/cli/vcs-repo-helper.d.mts +19 -0
- package/dist/cli/vcs-repo-helper.d.mts.map +1 -0
- package/dist/cli/vcs-repo-helper.mjs +74 -0
- package/dist/cli/vcs-repo-helper.mjs.map +1 -0
- package/dist/test/test-helpers.d.mts +9 -0
- package/dist/test/test-helpers.d.mts.map +1 -1
- package/dist/test/test-helpers.mjs +35 -0
- package/dist/test/test-helpers.mjs.map +1 -1
- package/package.json +6 -6
- package/src/AUTO-GENERATED-version.mts +1 -1
- package/src/bootstrap/node-bootstrap.mts +6 -20
- package/src/bootstrap/node-bootstrap.respec.mts +2 -2
- package/src/cli/cli-arg-parser.respec.mts +2 -2
- package/src/cli/cli-e2e.respec.mts +8 -8
- package/src/cli/commands/branch-checkout-cmd.respec.mts +426 -412
- package/src/cli/commands/cli-add-cmd.mts +65 -0
- package/src/cli/commands/cli-branch-cmd.mts +87 -0
- package/src/cli/commands/cli-checkout-cmd.mts +72 -0
- package/src/cli/commands/cli-commit-cmd.mts +77 -0
- package/src/cli/commands/{generate-comment-cmd.mts → cli-generate-comment-cmd.mts} +8 -6
- package/src/cli/commands/cli-init-cmd.mts +78 -0
- package/src/cli/commands/{log-cmd.mts → cli-log-cmd.mts} +14 -47
- package/src/cli/commands/cli-merge-cmd.mts +99 -0
- package/src/cli/commands/cli-reset-cmd.mts +94 -0
- package/src/cli/commands/cli-restore-cmd.mts +87 -0
- package/src/cli/commands/{status-cmd.mts → cli-status-cmd.mts} +3 -45
- package/src/cli/commands/commit-log-cmd.respec.mts +82 -29
- package/src/cli/commands/init-cmd.respec.mts +3 -3
- package/src/cli/commands/reset-restore-cmd.respec.mts +9 -9
- package/src/cli/commands/status-add-cmd.respec.mts +20 -16
- package/src/cli/vcs-cli-main.mts +18 -15
- package/src/cli/vcs-projection-helper.mts +8 -8
- package/src/cli/vcs-repo-helper.mts +99 -0
- package/src/engine/branch/branch-space.respec.mts +22 -20
- package/src/engine/merge/b2tfs-sync-comments.respec.mts +10 -10
- package/src/test/test-helpers.mts +49 -1
- package/src/vcs-gib.respec.mts +21 -15
- package/tsconfig.test.tsbuildinfo +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/vcs-gib_test_output.md +58 -0
- package/dist/cli/commands/add-cmd.d.mts.map +0 -1
- package/dist/cli/commands/add-cmd.mjs +0 -93
- package/dist/cli/commands/add-cmd.mjs.map +0 -1
- package/dist/cli/commands/branch-cmd.d.mts.map +0 -1
- package/dist/cli/commands/branch-cmd.mjs +0 -107
- package/dist/cli/commands/branch-cmd.mjs.map +0 -1
- package/dist/cli/commands/checkout-cmd.d.mts.map +0 -1
- package/dist/cli/commands/checkout-cmd.mjs +0 -95
- package/dist/cli/commands/checkout-cmd.mjs.map +0 -1
- package/dist/cli/commands/commit-cmd.d.mts.map +0 -1
- package/dist/cli/commands/commit-cmd.mjs +0 -99
- package/dist/cli/commands/commit-cmd.mjs.map +0 -1
- package/dist/cli/commands/generate-comment-cmd.d.mts.map +0 -1
- package/dist/cli/commands/generate-comment-cmd.mjs.map +0 -1
- package/dist/cli/commands/init-cmd.d.mts.map +0 -1
- package/dist/cli/commands/init-cmd.mjs +0 -69
- package/dist/cli/commands/init-cmd.mjs.map +0 -1
- package/dist/cli/commands/log-cmd.d.mts.map +0 -1
- package/dist/cli/commands/log-cmd.mjs.map +0 -1
- package/dist/cli/commands/merge-cmd.d.mts.map +0 -1
- package/dist/cli/commands/merge-cmd.mjs +0 -106
- package/dist/cli/commands/merge-cmd.mjs.map +0 -1
- package/dist/cli/commands/reset-cmd.d.mts.map +0 -1
- package/dist/cli/commands/reset-cmd.mjs +0 -91
- package/dist/cli/commands/reset-cmd.mjs.map +0 -1
- package/dist/cli/commands/restore-cmd.d.mts.map +0 -1
- package/dist/cli/commands/restore-cmd.mjs +0 -97
- package/dist/cli/commands/restore-cmd.mjs.map +0 -1
- package/dist/cli/commands/status-cmd.d.mts.map +0 -1
- package/dist/cli/commands/status-cmd.mjs.map +0 -1
- package/src/cli/commands/add-cmd.mts +0 -120
- package/src/cli/commands/branch-cmd.mts +0 -142
- package/src/cli/commands/checkout-cmd.mts +0 -123
- package/src/cli/commands/commit-cmd.mts +0 -130
- package/src/cli/commands/init-cmd.mts +0 -99
- package/src/cli/commands/merge-cmd.mts +0 -143
- package/src/cli/commands/reset-cmd.mts +0 -126
- package/src/cli/commands/restore-cmd.mts +0 -135
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module merge-cmd
|
|
3
|
-
*
|
|
4
|
-
* CLI command handler for `vcs merge <branchName>`.
|
|
5
|
-
* Merges incoming branch into base branch and delegates to executeVcsMerge.
|
|
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 { executeVcsMerge } from '@ibgib/core-gib/dist/vcs/commands/merge-cmd.mjs';
|
|
11
|
-
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.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';
|
|
15
|
-
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
16
|
-
const lcFile = `[merge-cmd]`;
|
|
17
|
-
const logalot = GLOBAL_LOG_A_LOT;
|
|
18
|
-
export async function executeMergeCmd({ incomingBranchName, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
|
|
19
|
-
const lc = `${lcFile}[${executeMergeCmd.name}]`;
|
|
20
|
-
try {
|
|
21
|
-
if (logalot) {
|
|
22
|
-
console.log(`${lc} starting... (I: 4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f)`);
|
|
23
|
-
}
|
|
24
|
-
const trimmedIncomingBranch = incomingBranchName?.trim();
|
|
25
|
-
if (!trimmedIncomingBranch) {
|
|
26
|
-
throw new Error(`Branch name is required for merge (E: 5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a)`);
|
|
27
|
-
}
|
|
28
|
-
const absTargetDir = path.resolve(targetDir);
|
|
29
|
-
const { metaspace, localSpace, repoRoot, 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: 6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b)`);
|
|
39
|
-
}
|
|
40
|
-
// 1. Fetch authoritative repository index from localSpace
|
|
41
|
-
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
42
|
-
if (!indexIbGib) {
|
|
43
|
-
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c)`);
|
|
44
|
-
}
|
|
45
|
-
const baseBranchName = indexIbGib.data?.activeBranch || 'main';
|
|
46
|
-
// 2. Resolve base branch space & incoming branch space
|
|
47
|
-
const baseSpaceRes = await getOrCreateBranchSpace({
|
|
48
|
-
metaspace,
|
|
49
|
-
vcsPath,
|
|
50
|
-
branchName: baseBranchName,
|
|
51
|
-
});
|
|
52
|
-
const baseSpace = baseSpaceRes.space;
|
|
53
|
-
const incomingSpaceRes = await getOrCreateBranchSpace({
|
|
54
|
-
metaspace,
|
|
55
|
-
vcsPath,
|
|
56
|
-
branchName: trimmedIncomingBranch,
|
|
57
|
-
});
|
|
58
|
-
const incomingSpace = incomingSpaceRes.space;
|
|
59
|
-
const isDefaultBranch = baseBranchName === 'main';
|
|
60
|
-
const worktreePath = isDefaultBranch
|
|
61
|
-
? repoRoot
|
|
62
|
-
: path.join(repoRoot, 'b', baseBranchName);
|
|
63
|
-
await fs.mkdir(worktreePath, { recursive: true });
|
|
64
|
-
const { space: workspaceSpace } = await getOrCreateWorkspaceProjectionSpace({
|
|
65
|
-
metaspace,
|
|
66
|
-
workspaceRoot: worktreePath,
|
|
67
|
-
vcsFolderName,
|
|
68
|
-
backingSpace: baseSpace,
|
|
69
|
-
});
|
|
70
|
-
const mergeRes = await executeVcsMerge({
|
|
71
|
-
metaspace,
|
|
72
|
-
localSpace,
|
|
73
|
-
baseBranchSpace: baseSpace,
|
|
74
|
-
incomingBranchSpace: incomingSpace,
|
|
75
|
-
workspaceSpace,
|
|
76
|
-
indexIbGib,
|
|
77
|
-
incomingBranchName: trimmedIncomingBranch,
|
|
78
|
-
repoRoot,
|
|
79
|
-
targetDir: absTargetDir,
|
|
80
|
-
vcsFolderName,
|
|
81
|
-
});
|
|
82
|
-
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: mergeRes.updatedIndex });
|
|
83
|
-
if (!quiet) {
|
|
84
|
-
console.log(`Successfully merged branch '${trimmedIncomingBranch}' into '${baseBranchName}' (I: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
|
|
85
|
-
console.log(` Worktree projection: ${worktreePath}`);
|
|
86
|
-
}
|
|
87
|
-
return {
|
|
88
|
-
baseBranch: mergeRes.baseBranch,
|
|
89
|
-
incomingBranch: mergeRes.incomingBranch,
|
|
90
|
-
baseSpaceId: baseSpaceRes.spaceId,
|
|
91
|
-
incomingSpaceId: incomingSpaceRes.spaceId,
|
|
92
|
-
mergedBranchAddr: mergeRes.mergeCommitAddr,
|
|
93
|
-
worktreePath,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`);
|
|
98
|
-
throw error;
|
|
99
|
-
}
|
|
100
|
-
finally {
|
|
101
|
-
if (logalot) {
|
|
102
|
-
console.log(`${lc} complete. (I: 3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c)`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=merge-cmd.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merge-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/merge-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/reset-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,eAAe,CAAC,EAClC,KAAU,EACV,SAAyB,EACzB,aAAyB,EACzB,GAAW,EACX,GAAW,EACX,KAAa,EACb,KAAa,GAChB,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+E7C"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module reset-cmd
|
|
3
|
-
*
|
|
4
|
-
* CLI command handler for `vcs reset [path...]`.
|
|
5
|
-
* Unstages specified files (or all files) from active branch index in localSpace.
|
|
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 { promptForConfirm } from '@ibgib/helper-gib/dist/helpers/node-helper.mjs';
|
|
11
|
-
import { executeVcsReset } from '@ibgib/core-gib/dist/vcs/commands/reset-cmd.mjs';
|
|
12
|
-
import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
|
|
13
|
-
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
14
|
-
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
15
|
-
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
16
|
-
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
17
|
-
const lcFile = `[reset-cmd]`;
|
|
18
|
-
const logalot = GLOBAL_LOG_A_LOT;
|
|
19
|
-
export async function executeResetCmd({ paths = [], targetDir = process.cwd(), vcsFolderName = '.vcsgib', all = false, yes = false, force = false, quiet = false, } = {}) {
|
|
20
|
-
const lc = `${lcFile}[${executeResetCmd.name}]`;
|
|
21
|
-
try {
|
|
22
|
-
if (logalot) {
|
|
23
|
-
console.log(`${lc} starting... (I: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
|
|
24
|
-
}
|
|
25
|
-
const absTargetDir = path.resolve(targetDir);
|
|
26
|
-
const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
|
|
27
|
-
repoPath: absTargetDir,
|
|
28
|
-
vcsFolderName,
|
|
29
|
-
});
|
|
30
|
-
// Verify repo exists
|
|
31
|
-
try {
|
|
32
|
-
await fs.access(vcsPath);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`);
|
|
36
|
-
}
|
|
37
|
-
// Retrieve authoritative B2tFSIndexIbGib_V1 from space
|
|
38
|
-
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
39
|
-
if (!indexIbGib) {
|
|
40
|
-
throw new Error(`Repository not initialized. Run 'vcs init' first. (E: 3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b)`);
|
|
41
|
-
}
|
|
42
|
-
const activeBranch = resolveContextualBranchName({ targetDir: absTargetDir, repoRoot, indexIbGib });
|
|
43
|
-
const activeWorktreeDir = activeBranch === 'main' ? repoRoot : path.join(repoRoot, 'b', activeBranch);
|
|
44
|
-
const { space: activeSpace } = await getOrCreateBranchSpace({
|
|
45
|
-
metaspace,
|
|
46
|
-
vcsPath,
|
|
47
|
-
branchName: activeBranch,
|
|
48
|
-
});
|
|
49
|
-
const skipPrompt = yes || force || quiet || !process.stdin.isTTY;
|
|
50
|
-
if (!skipPrompt) {
|
|
51
|
-
const confirmed = await promptForConfirm({ msg: 'Unstage specified files from index?' });
|
|
52
|
-
if (!confirmed) {
|
|
53
|
-
if (!quiet) {
|
|
54
|
-
console.log('Operation cancelled.');
|
|
55
|
-
}
|
|
56
|
-
const stagedCount = Object.keys(indexIbGib.data?.stagedPaths || {}).length;
|
|
57
|
-
return { unstagedPaths: [], stagedCount };
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const resetRes = await executeVcsReset({
|
|
61
|
-
metaspace,
|
|
62
|
-
localSpace,
|
|
63
|
-
activeBranchSpace: activeSpace,
|
|
64
|
-
indexIbGib,
|
|
65
|
-
paths,
|
|
66
|
-
all,
|
|
67
|
-
targetDir: absTargetDir,
|
|
68
|
-
activeWorktreeDir,
|
|
69
|
-
});
|
|
70
|
-
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: resetRes.updatedIndex });
|
|
71
|
-
if (!quiet) {
|
|
72
|
-
for (const unstagedPath of resetRes.unstagedPaths) {
|
|
73
|
-
console.log(`unstaged: ${unstagedPath}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return {
|
|
77
|
-
unstagedPaths: resetRes.unstagedPaths,
|
|
78
|
-
stagedCount: resetRes.stagedCount,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
catch (error) {
|
|
82
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E: 4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b)`);
|
|
83
|
-
throw error;
|
|
84
|
-
}
|
|
85
|
-
finally {
|
|
86
|
-
if (logalot) {
|
|
87
|
-
console.log(`${lc} complete. (I: 5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c)`);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=reset-cmd.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reset-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/reset-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restore-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/restore-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAsB,iBAAiB,CAAC,EACpC,KAAU,EACV,MAAc,EACd,QAAgB,EAChB,GAAW,EACX,GAAW,EACX,KAAa,EACb,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,cAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoFjD"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module restore-cmd
|
|
3
|
-
*
|
|
4
|
-
* CLI command handler for `vcs restore [path...]`.
|
|
5
|
-
* Delegates to executeVcsRestore and formats terminal output.
|
|
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 { executeVcsRestore } from '@ibgib/core-gib/dist/vcs/commands/restore-cmd.mjs';
|
|
11
|
-
import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
|
|
12
|
-
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
13
|
-
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
14
|
-
import { getOrCreateWorkspaceProjectionSpace } from '@ibgib/node-gib/dist/vcs/workspace-space-helper.mjs';
|
|
15
|
-
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
16
|
-
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
17
|
-
const lcFile = `[restore-cmd]`;
|
|
18
|
-
const logalot = GLOBAL_LOG_A_LOT;
|
|
19
|
-
export async function executeRestoreCmd({ paths = [], staged = false, worktree = false, all = false, yes = false, force = false, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
|
|
20
|
-
const lc = `${lcFile}[${executeRestoreCmd.name}]`;
|
|
21
|
-
try {
|
|
22
|
-
if (logalot) {
|
|
23
|
-
console.log(`${lc} starting... (I: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
|
|
24
|
-
}
|
|
25
|
-
const absTargetDir = path.resolve(targetDir);
|
|
26
|
-
const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
|
|
27
|
-
repoPath: absTargetDir,
|
|
28
|
-
vcsFolderName,
|
|
29
|
-
});
|
|
30
|
-
// Verify repo exists
|
|
31
|
-
try {
|
|
32
|
-
await fs.access(vcsPath);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d)`);
|
|
36
|
-
}
|
|
37
|
-
// Retrieve authoritative B2tFSIndexIbGib_V1 from space
|
|
38
|
-
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
39
|
-
if (!indexIbGib) {
|
|
40
|
-
throw new Error(`Repository not initialized. Run 'vcs init' first. (E: 3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d)`);
|
|
41
|
-
}
|
|
42
|
-
const activeBranch = resolveContextualBranchName({ targetDir: absTargetDir, repoRoot, indexIbGib });
|
|
43
|
-
const activeWorktreeDir = activeBranch === 'main' ? repoRoot : path.join(repoRoot, 'b', activeBranch);
|
|
44
|
-
const { space: activeBranchSpace } = await getOrCreateBranchSpace({
|
|
45
|
-
metaspace,
|
|
46
|
-
vcsPath,
|
|
47
|
-
branchName: activeBranch,
|
|
48
|
-
});
|
|
49
|
-
const { space: workspaceSpace } = await getOrCreateWorkspaceProjectionSpace({
|
|
50
|
-
metaspace,
|
|
51
|
-
workspaceRoot: activeWorktreeDir,
|
|
52
|
-
vcsFolderName,
|
|
53
|
-
backingSpace: activeBranchSpace,
|
|
54
|
-
});
|
|
55
|
-
const restoreRes = await executeVcsRestore({
|
|
56
|
-
metaspace,
|
|
57
|
-
localSpace,
|
|
58
|
-
activeBranchSpace,
|
|
59
|
-
workspaceSpace,
|
|
60
|
-
indexIbGib,
|
|
61
|
-
paths,
|
|
62
|
-
staged,
|
|
63
|
-
all,
|
|
64
|
-
targetDir: absTargetDir,
|
|
65
|
-
activeWorktreeDir,
|
|
66
|
-
});
|
|
67
|
-
if (staged && restoreRes.updatedIndex) {
|
|
68
|
-
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: restoreRes.updatedIndex });
|
|
69
|
-
}
|
|
70
|
-
if (!quiet) {
|
|
71
|
-
if (staged) {
|
|
72
|
-
for (const unstagedPath of restoreRes.unstagedPaths) {
|
|
73
|
-
console.log(`unstaged: ${unstagedPath}`);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
for (const restoredPath of restoreRes.restoredPaths) {
|
|
78
|
-
console.log(`restored: ${restoredPath}`);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return {
|
|
83
|
-
restoredPaths: restoreRes.restoredPaths,
|
|
84
|
-
unstagedPaths: restoreRes.unstagedPaths,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E: 9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4e)`);
|
|
89
|
-
throw error;
|
|
90
|
-
}
|
|
91
|
-
finally {
|
|
92
|
-
if (logalot) {
|
|
93
|
-
console.log(`${lc} complete. (I: 0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5f)`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
//# sourceMappingURL=restore-cmd.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"restore-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/restore-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/status-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AAYtG,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CAAC,EACnC,SAAyB,EACzB,aAAyB,EACzB,KAAa,EACb,QAAgB,GACnB,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6H/C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"status-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/status-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module add-cmd
|
|
3
|
-
*
|
|
4
|
-
* CLI command handler for `vcs add <path...>`.
|
|
5
|
-
* Bootstraps workspace projection space and delegates to executeVcsAdd.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import path from 'node:path';
|
|
9
|
-
import fs from 'node:fs/promises';
|
|
10
|
-
|
|
11
|
-
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
12
|
-
import { executeVcsAdd } from '@ibgib/core-gib/dist/vcs/commands/add-cmd.mjs';
|
|
13
|
-
import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
|
|
14
|
-
|
|
15
|
-
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
16
|
-
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
17
|
-
import { getOrCreateWorkspaceProjectionSpace } from '@ibgib/node-gib/dist/vcs/workspace-space-helper.mjs';
|
|
18
|
-
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
19
|
-
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
20
|
-
|
|
21
|
-
const lcFile = `[add-cmd]`;
|
|
22
|
-
const logalot = GLOBAL_LOG_A_LOT;
|
|
23
|
-
|
|
24
|
-
export interface AddCmdOpts {
|
|
25
|
-
paths?: string[];
|
|
26
|
-
targetDir?: string;
|
|
27
|
-
vcsFolderName?: string;
|
|
28
|
-
all?: boolean;
|
|
29
|
-
quiet?: boolean;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export interface AddCmdResult {
|
|
33
|
-
stagedPaths: string[];
|
|
34
|
-
stagedCount: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export async function executeAddCmd({
|
|
38
|
-
paths = [],
|
|
39
|
-
targetDir = process.cwd(),
|
|
40
|
-
vcsFolderName = '.vcsgib',
|
|
41
|
-
all = false,
|
|
42
|
-
quiet = false,
|
|
43
|
-
}: AddCmdOpts = {}): Promise<AddCmdResult> {
|
|
44
|
-
const lc = `${lcFile}[${executeAddCmd.name}]`;
|
|
45
|
-
try {
|
|
46
|
-
if (logalot) { console.log(`${lc} starting... (I: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`); }
|
|
47
|
-
|
|
48
|
-
const absTargetDir = path.resolve(targetDir);
|
|
49
|
-
|
|
50
|
-
const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
|
|
51
|
-
repoPath: absTargetDir,
|
|
52
|
-
vcsFolderName,
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
// Verify repo exists
|
|
56
|
-
try {
|
|
57
|
-
await fs.access(vcsPath);
|
|
58
|
-
} catch {
|
|
59
|
-
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d)`);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Retrieve authoritative B2tFSIndexIbGib_V1 from space
|
|
63
|
-
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
64
|
-
if (!indexIbGib) {
|
|
65
|
-
throw new Error(`Repository not initialized. Run 'vcs init' first. (E: 2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e)`);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const activeBranch = resolveContextualBranchName({
|
|
69
|
-
targetDir: absTargetDir,
|
|
70
|
-
repoRoot,
|
|
71
|
-
indexIbGib,
|
|
72
|
-
});
|
|
73
|
-
const activeWorktreeDir = activeBranch === 'main' ? repoRoot : path.join(repoRoot, 'b', activeBranch);
|
|
74
|
-
|
|
75
|
-
// Target active branch space b2s_<activeBranch>
|
|
76
|
-
const { space: activeSpace } = await getOrCreateBranchSpace({
|
|
77
|
-
metaspace,
|
|
78
|
-
vcsPath,
|
|
79
|
-
branchName: activeBranch,
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
const { space: workspaceSpace } = await getOrCreateWorkspaceProjectionSpace({
|
|
83
|
-
metaspace,
|
|
84
|
-
workspaceRoot: activeWorktreeDir,
|
|
85
|
-
vcsFolderName,
|
|
86
|
-
backingSpace: activeSpace,
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
const addRes = await executeVcsAdd({
|
|
90
|
-
metaspace,
|
|
91
|
-
localSpace,
|
|
92
|
-
activeBranchSpace: activeSpace,
|
|
93
|
-
workspaceSpace,
|
|
94
|
-
indexIbGib,
|
|
95
|
-
paths,
|
|
96
|
-
all,
|
|
97
|
-
repoRoot,
|
|
98
|
-
targetDir: absTargetDir,
|
|
99
|
-
vcsFolderName,
|
|
100
|
-
});
|
|
101
|
-
|
|
102
|
-
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: addRes.updatedIndex });
|
|
103
|
-
|
|
104
|
-
if (!quiet) {
|
|
105
|
-
for (const stagedPath of addRes.stagedPaths) {
|
|
106
|
-
console.log(`staged: ${stagedPath}`);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
stagedPaths: addRes.stagedPaths,
|
|
112
|
-
stagedCount: addRes.stagedCount,
|
|
113
|
-
};
|
|
114
|
-
} catch (error) {
|
|
115
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E: 3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f)`);
|
|
116
|
-
throw error;
|
|
117
|
-
} finally {
|
|
118
|
-
if (logalot) { console.log(`${lc} complete. (I: 4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a)`); }
|
|
119
|
-
}
|
|
120
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module branch-cmd
|
|
3
|
-
*
|
|
4
|
-
* CLI command handler for `vcs branch [branchName]`.
|
|
5
|
-
* Delegates to executeVcsBranch and formats terminal output.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import path from 'node:path';
|
|
9
|
-
import fs from 'node:fs/promises';
|
|
10
|
-
|
|
11
|
-
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
12
|
-
import { executeVcsBranch } from '@ibgib/core-gib/dist/vcs/commands/branch-cmd.mjs';
|
|
13
|
-
import { resolveContextualBranchName } from '@ibgib/core-gib/dist/vcs/branch/branch-helper.mjs';
|
|
14
|
-
|
|
15
|
-
import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
|
|
16
|
-
import { getOrCreateBranchSpace } from '@ibgib/node-gib/dist/vcs/branch-space-helper.mjs';
|
|
17
|
-
import { readVcsIndexProjectionFromDisk, writeVcsIndexProjectionToDisk } from '../vcs-projection-helper.mjs';
|
|
18
|
-
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
19
|
-
|
|
20
|
-
const lcFile = `[branch-cmd]`;
|
|
21
|
-
const logalot = GLOBAL_LOG_A_LOT;
|
|
22
|
-
|
|
23
|
-
export interface BranchInfo {
|
|
24
|
-
name: string;
|
|
25
|
-
isActive: boolean;
|
|
26
|
-
addr: string;
|
|
27
|
-
rootItemAddr?: string;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface BranchCmdOpts {
|
|
31
|
-
branchName?: string;
|
|
32
|
-
itemPath?: string;
|
|
33
|
-
targetDir?: string;
|
|
34
|
-
vcsFolderName?: string;
|
|
35
|
-
quiet?: boolean;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export interface BranchCmdResult {
|
|
39
|
-
branches: BranchInfo[];
|
|
40
|
-
createdBranchName?: string;
|
|
41
|
-
createdBranchAddr?: string;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export async function executeBranchCmd({
|
|
45
|
-
branchName,
|
|
46
|
-
itemPath,
|
|
47
|
-
targetDir = process.cwd(),
|
|
48
|
-
vcsFolderName = '.vcsgib',
|
|
49
|
-
quiet = false,
|
|
50
|
-
}: BranchCmdOpts = {}): Promise<BranchCmdResult> {
|
|
51
|
-
const lc = `${lcFile}[${executeBranchCmd.name}]`;
|
|
52
|
-
try {
|
|
53
|
-
if (logalot) { console.log(`${lc} starting... (I: 4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f)`); }
|
|
54
|
-
|
|
55
|
-
const absTargetDir = path.resolve(targetDir);
|
|
56
|
-
|
|
57
|
-
const { metaspace, localSpace, vcsPath, repoRoot } = await bootstrapVcsMetaspace({
|
|
58
|
-
repoPath: absTargetDir,
|
|
59
|
-
vcsFolderName,
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
// Verify repo exists
|
|
63
|
-
try {
|
|
64
|
-
await fs.access(vcsPath);
|
|
65
|
-
} catch {
|
|
66
|
-
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a)`);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// 1. Fetch authoritative repository index from localSpace
|
|
70
|
-
const indexIbGib = await readVcsIndexProjectionFromDisk({ vcsPath, space: localSpace });
|
|
71
|
-
if (!indexIbGib) {
|
|
72
|
-
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b)`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const activeBranchName = resolveContextualBranchName({
|
|
76
|
-
targetDir: absTargetDir,
|
|
77
|
-
repoRoot,
|
|
78
|
-
indexIbGib,
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// Resolve active branch space b2s_<activeBranch>
|
|
82
|
-
const { space: activeBranchSpace } = await getOrCreateBranchSpace({
|
|
83
|
-
metaspace,
|
|
84
|
-
vcsPath,
|
|
85
|
-
branchName: activeBranchName,
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
// If creating a branch, ensure target branch space exists on Node
|
|
89
|
-
if (branchName && branchName.trim().length > 0) {
|
|
90
|
-
await getOrCreateBranchSpace({
|
|
91
|
-
metaspace,
|
|
92
|
-
vcsPath,
|
|
93
|
-
branchName: branchName.trim(),
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
const branchRes = await executeVcsBranch({
|
|
98
|
-
metaspace,
|
|
99
|
-
localSpace,
|
|
100
|
-
activeBranchSpace,
|
|
101
|
-
indexIbGib,
|
|
102
|
-
branchName,
|
|
103
|
-
itemPath,
|
|
104
|
-
repoRoot,
|
|
105
|
-
targetDir: absTargetDir,
|
|
106
|
-
vcsFolderName,
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
if (branchRes.updatedIndex) {
|
|
110
|
-
await writeVcsIndexProjectionToDisk({ vcsPath, indexIbGib: branchRes.updatedIndex });
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const branches: BranchInfo[] = branchRes.branches.map(b => ({
|
|
114
|
-
name: b.name,
|
|
115
|
-
isActive: b.isActive,
|
|
116
|
-
addr: b.commitAddr || '',
|
|
117
|
-
rootItemAddr: b.rootItemAddr,
|
|
118
|
-
}));
|
|
119
|
-
|
|
120
|
-
if (!quiet) {
|
|
121
|
-
if (!branchName) {
|
|
122
|
-
for (const b of branches) {
|
|
123
|
-
const prefix = b.isActive ? '* ' : ' ';
|
|
124
|
-
console.log(`${prefix}${b.name}`);
|
|
125
|
-
}
|
|
126
|
-
} else {
|
|
127
|
-
console.log(`Created branch '${branchRes.createdBranchName}'`);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
return {
|
|
132
|
-
branches,
|
|
133
|
-
createdBranchName: branchRes.createdBranchName,
|
|
134
|
-
createdBranchAddr: branchRes.createdBranchAddr,
|
|
135
|
-
};
|
|
136
|
-
} catch (error) {
|
|
137
|
-
console.error(`${lc} ${extractErrorMsg(error)} (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
|
|
138
|
-
throw error;
|
|
139
|
-
} finally {
|
|
140
|
-
if (logalot) { console.log(`${lc} complete. (I: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`); }
|
|
141
|
-
}
|
|
142
|
-
}
|