@ibgib/vcs-gib 0.0.6
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/README.md +94 -0
- package/VCS_CLI_USER_GUIDE.md +198 -0
- package/dist/AUTO-GENERATED-version.d.mts +6 -0
- package/dist/AUTO-GENERATED-version.d.mts.map +1 -0
- package/dist/AUTO-GENERATED-version.mjs +6 -0
- package/dist/AUTO-GENERATED-version.mjs.map +1 -0
- package/dist/assumptions.respec.d.mts +2 -0
- package/dist/assumptions.respec.d.mts.map +1 -0
- package/dist/assumptions.respec.mjs +41 -0
- package/dist/assumptions.respec.mjs.map +1 -0
- package/dist/bootstrap/node-bootstrap.d.mts +35 -0
- package/dist/bootstrap/node-bootstrap.d.mts.map +1 -0
- package/dist/bootstrap/node-bootstrap.mjs +165 -0
- package/dist/bootstrap/node-bootstrap.mjs.map +1 -0
- package/dist/bootstrap/node-bootstrap.respec.node.d.mts +7 -0
- package/dist/bootstrap/node-bootstrap.respec.node.d.mts.map +1 -0
- package/dist/bootstrap/node-bootstrap.respec.node.mjs +28 -0
- package/dist/bootstrap/node-bootstrap.respec.node.mjs.map +1 -0
- package/dist/cli/cli-arg-parser.d.mts +27 -0
- package/dist/cli/cli-arg-parser.d.mts.map +1 -0
- package/dist/cli/cli-arg-parser.mjs +96 -0
- package/dist/cli/cli-arg-parser.mjs.map +1 -0
- package/dist/cli/cli-arg-parser.respec.node.d.mts +7 -0
- package/dist/cli/cli-arg-parser.respec.node.d.mts.map +1 -0
- package/dist/cli/cli-arg-parser.respec.node.mjs +35 -0
- package/dist/cli/cli-arg-parser.respec.node.mjs.map +1 -0
- package/dist/cli/cli-constants.d.mts +26 -0
- package/dist/cli/cli-constants.d.mts.map +1 -0
- package/dist/cli/cli-constants.mjs +67 -0
- package/dist/cli/cli-constants.mjs.map +1 -0
- package/dist/cli/cli-e2e.respec.node.d.mts +8 -0
- package/dist/cli/cli-e2e.respec.node.d.mts.map +1 -0
- package/dist/cli/cli-e2e.respec.node.mjs +263 -0
- package/dist/cli/cli-e2e.respec.node.mjs.map +1 -0
- package/dist/cli/commands/add-cmd.d.mts +20 -0
- package/dist/cli/commands/add-cmd.d.mts.map +1 -0
- package/dist/cli/commands/add-cmd.mjs +333 -0
- package/dist/cli/commands/add-cmd.mjs.map +1 -0
- package/dist/cli/commands/branch-checkout-cmd.respec.node.d.mts +7 -0
- package/dist/cli/commands/branch-checkout-cmd.respec.node.d.mts.map +1 -0
- package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs +288 -0
- package/dist/cli/commands/branch-checkout-cmd.respec.node.mjs.map +1 -0
- package/dist/cli/commands/branch-cmd.d.mts +25 -0
- package/dist/cli/commands/branch-cmd.d.mts.map +1 -0
- package/dist/cli/commands/branch-cmd.mjs +187 -0
- package/dist/cli/commands/branch-cmd.mjs.map +1 -0
- package/dist/cli/commands/checkout-cmd.d.mts +21 -0
- package/dist/cli/commands/checkout-cmd.d.mts.map +1 -0
- package/dist/cli/commands/checkout-cmd.mjs +154 -0
- package/dist/cli/commands/checkout-cmd.mjs.map +1 -0
- package/dist/cli/commands/commit-cmd.d.mts +23 -0
- package/dist/cli/commands/commit-cmd.d.mts.map +1 -0
- package/dist/cli/commands/commit-cmd.mjs +326 -0
- package/dist/cli/commands/commit-cmd.mjs.map +1 -0
- package/dist/cli/commands/commit-log-cmd.respec.node.d.mts +7 -0
- package/dist/cli/commands/commit-log-cmd.respec.node.d.mts.map +1 -0
- package/dist/cli/commands/commit-log-cmd.respec.node.mjs +251 -0
- package/dist/cli/commands/commit-log-cmd.respec.node.mjs.map +1 -0
- package/dist/cli/commands/init-cmd.d.mts +20 -0
- package/dist/cli/commands/init-cmd.d.mts.map +1 -0
- package/dist/cli/commands/init-cmd.mjs +119 -0
- package/dist/cli/commands/init-cmd.mjs.map +1 -0
- package/dist/cli/commands/init-cmd.respec.node.d.mts +7 -0
- package/dist/cli/commands/init-cmd.respec.node.d.mts.map +1 -0
- package/dist/cli/commands/init-cmd.respec.node.mjs +40 -0
- package/dist/cli/commands/init-cmd.respec.node.mjs.map +1 -0
- package/dist/cli/commands/log-cmd.d.mts +27 -0
- package/dist/cli/commands/log-cmd.d.mts.map +1 -0
- package/dist/cli/commands/log-cmd.mjs +146 -0
- package/dist/cli/commands/log-cmd.mjs.map +1 -0
- package/dist/cli/commands/status-add-cmd.respec.node.d.mts +7 -0
- package/dist/cli/commands/status-add-cmd.respec.node.d.mts.map +1 -0
- package/dist/cli/commands/status-add-cmd.respec.node.mjs +215 -0
- package/dist/cli/commands/status-add-cmd.respec.node.mjs.map +1 -0
- package/dist/cli/commands/status-cmd.d.mts +25 -0
- package/dist/cli/commands/status-cmd.d.mts.map +1 -0
- package/dist/cli/commands/status-cmd.mjs +286 -0
- package/dist/cli/commands/status-cmd.mjs.map +1 -0
- package/dist/cli/vcs-cli-main.d.mts +14 -0
- package/dist/cli/vcs-cli-main.d.mts.map +1 -0
- package/dist/cli/vcs-cli-main.mjs +136 -0
- package/dist/cli/vcs-cli-main.mjs.map +1 -0
- package/dist/engine/branch/branch-graph-helper.d.mts +19 -0
- package/dist/engine/branch/branch-graph-helper.d.mts.map +1 -0
- package/dist/engine/branch/branch-graph-helper.mjs +49 -0
- package/dist/engine/branch/branch-graph-helper.mjs.map +1 -0
- package/dist/engine/branch/branch-helper.d.mts +26 -0
- package/dist/engine/branch/branch-helper.d.mts.map +1 -0
- package/dist/engine/branch/branch-helper.mjs +57 -0
- package/dist/engine/branch/branch-helper.mjs.map +1 -0
- package/dist/engine/branch/branch-space-helper.d.mts +22 -0
- package/dist/engine/branch/branch-space-helper.d.mts.map +1 -0
- package/dist/engine/branch/branch-space-helper.mjs +77 -0
- package/dist/engine/branch/branch-space-helper.mjs.map +1 -0
- package/dist/engine/branch/branch-space.respec.node.d.mts +8 -0
- package/dist/engine/branch/branch-space.respec.node.d.mts.map +1 -0
- package/dist/engine/branch/branch-space.respec.node.mjs +138 -0
- package/dist/engine/branch/branch-space.respec.node.mjs.map +1 -0
- package/dist/engine/branch/branch-types.d.mts +26 -0
- package/dist/engine/branch/branch-types.d.mts.map +1 -0
- package/dist/engine/branch/branch-types.mjs +7 -0
- package/dist/engine/branch/branch-types.mjs.map +1 -0
- package/dist/engine/diff/line-diff-helper.d.mts +76 -0
- package/dist/engine/diff/line-diff-helper.d.mts.map +1 -0
- package/dist/engine/diff/line-diff-helper.mjs +144 -0
- package/dist/engine/diff/line-diff-helper.mjs.map +1 -0
- package/dist/engine/diff/line-diff-helper.respec.node.d.mts +7 -0
- package/dist/engine/diff/line-diff-helper.respec.node.d.mts.map +1 -0
- package/dist/engine/diff/line-diff-helper.respec.node.mjs +66 -0
- package/dist/engine/diff/line-diff-helper.respec.node.mjs.map +1 -0
- package/dist/engine/filter/glob-helper.d.mts +51 -0
- package/dist/engine/filter/glob-helper.d.mts.map +1 -0
- package/dist/engine/filter/glob-helper.mjs +132 -0
- package/dist/engine/filter/glob-helper.mjs.map +1 -0
- package/dist/engine/filter/glob-helper.respec.node.d.mts +7 -0
- package/dist/engine/filter/glob-helper.respec.node.d.mts.map +1 -0
- package/dist/engine/filter/glob-helper.respec.node.mjs +78 -0
- package/dist/engine/filter/glob-helper.respec.node.mjs.map +1 -0
- package/dist/engine/index/index-helper.d.mts +78 -0
- package/dist/engine/index/index-helper.d.mts.map +1 -0
- package/dist/engine/index/index-helper.mjs +289 -0
- package/dist/engine/index/index-helper.mjs.map +1 -0
- package/dist/engine/index/index-types.d.mts +63 -0
- package/dist/engine/index/index-types.d.mts.map +1 -0
- package/dist/engine/index/index-types.mjs +7 -0
- package/dist/engine/index/index-types.mjs.map +1 -0
- package/dist/engine/item/item-atom-helper.d.mts +20 -0
- package/dist/engine/item/item-atom-helper.d.mts.map +1 -0
- package/dist/engine/item/item-atom-helper.mjs +30 -0
- package/dist/engine/item/item-atom-helper.mjs.map +1 -0
- package/dist/engine/item/item-helper.d.mts +37 -0
- package/dist/engine/item/item-helper.d.mts.map +1 -0
- package/dist/engine/item/item-helper.mjs +194 -0
- package/dist/engine/item/item-helper.mjs.map +1 -0
- package/dist/engine/item/item-types.d.mts +127 -0
- package/dist/engine/item/item-types.d.mts.map +1 -0
- package/dist/engine/item/item-types.mjs +16 -0
- package/dist/engine/item/item-types.mjs.map +1 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -0
- package/dist/respec-gib.node.d.mts +7 -0
- package/dist/respec-gib.node.d.mts.map +1 -0
- package/dist/respec-gib.node.mjs +11 -0
- package/dist/respec-gib.node.mjs.map +1 -0
- package/dist/vcs-gib-constants.d.mts +7 -0
- package/dist/vcs-gib-constants.d.mts.map +1 -0
- package/dist/vcs-gib-constants.mjs +7 -0
- package/dist/vcs-gib-constants.mjs.map +1 -0
- package/dist/vcs-gib.respec.node.d.mts +8 -0
- package/dist/vcs-gib.respec.node.d.mts.map +1 -0
- package/dist/vcs-gib.respec.node.mjs +82 -0
- package/dist/vcs-gib.respec.node.mjs.map +1 -0
- package/generate-version-file.js +20 -0
- package/package.json +28 -0
- package/src/AUTO-GENERATED-version.mts +5 -0
- package/src/assumptions.respec.mts +50 -0
- package/src/bootstrap/node-bootstrap.mts +198 -0
- package/src/bootstrap/node-bootstrap.respec.node.mts +35 -0
- package/src/cli/cli-arg-parser.mts +119 -0
- package/src/cli/cli-arg-parser.respec.node.mts +45 -0
- package/src/cli/cli-constants.mts +77 -0
- package/src/cli/cli-e2e.respec.node.mts +318 -0
- package/src/cli/commands/add-cmd.mts +415 -0
- package/src/cli/commands/branch-checkout-cmd.respec.node.mts +322 -0
- package/src/cli/commands/branch-cmd.mts +243 -0
- package/src/cli/commands/checkout-cmd.mts +202 -0
- package/src/cli/commands/commit-cmd.mts +421 -0
- package/src/cli/commands/commit-log-cmd.respec.node.mts +276 -0
- package/src/cli/commands/init-cmd.mts +152 -0
- package/src/cli/commands/init-cmd.respec.node.mts +49 -0
- package/src/cli/commands/log-cmd.mts +197 -0
- package/src/cli/commands/status-add-cmd.respec.node.mts +246 -0
- package/src/cli/commands/status-cmd.mts +366 -0
- package/src/cli/vcs-cli-main.mts +153 -0
- package/src/engine/branch/branch-graph-helper.mts +69 -0
- package/src/engine/branch/branch-helper.mts +79 -0
- package/src/engine/branch/branch-space-helper.mts +104 -0
- package/src/engine/branch/branch-space.respec.node.mts +158 -0
- package/src/engine/branch/branch-types.mts +29 -0
- package/src/engine/diff/line-diff-helper.mts +210 -0
- package/src/engine/diff/line-diff-helper.respec.node.mts +84 -0
- package/src/engine/filter/glob-helper.mts +165 -0
- package/src/engine/filter/glob-helper.respec.node.mts +94 -0
- package/src/engine/index/index-helper.mts +378 -0
- package/src/engine/index/index-types.mts +66 -0
- package/src/engine/item/item-atom-helper.mts +30 -0
- package/src/engine/item/item-helper.mts +239 -0
- package/src/engine/item/item-types.mts +136 -0
- package/src/index.mts +7 -0
- package/src/respec-gib.node.mts +12 -0
- package/src/vcs-gib-constants.mts +7 -0
- package/src/vcs-gib.respec.node.mts +96 -0
- package/test_runs/001-hello-node/20260728_090100_0001-flow-core-main.md +39 -0
- package/test_runs/001-hello-node/20260728_090200_0003-flow-branching-worktree.md +54 -0
- package/test_runs/001-hello-node/20260728_090300_0002-flow-selective-add.md +45 -0
- package/test_runs/001-hello-node/20260728_142100_0007-flow-edge-cases.md +44 -0
- package/test_runs/001-hello-node/20260728_142400_0005-flow-hardcoded-ignores.md +36 -0
- package/tools/pack-for-test.mjs +73 -0
- package/tsconfig.json +18 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-checkout-cmd.respec.node.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-checkout-cmd.respec.node.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
export interface BranchCmdOpts {
|
|
8
|
+
branchName?: string;
|
|
9
|
+
targetDir?: string;
|
|
10
|
+
vcsFolderName?: string;
|
|
11
|
+
quiet?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface BranchInfo {
|
|
14
|
+
name: string;
|
|
15
|
+
isActive: boolean;
|
|
16
|
+
addr: string;
|
|
17
|
+
rootItemAddr?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface BranchCmdResult {
|
|
20
|
+
branches: BranchInfo[];
|
|
21
|
+
createdBranchName?: string;
|
|
22
|
+
createdBranchAddr?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function executeBranchCmd({ branchName, targetDir, vcsFolderName, quiet, }?: BranchCmdOpts): Promise<BranchCmdResult>;
|
|
25
|
+
//# sourceMappingURL=branch-cmd.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,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,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA6L/C"}
|
|
@@ -0,0 +1,187 @@
|
|
|
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 { getIbGibWithMetaspaceFallback } from '../../engine/item/item-helper.mjs';
|
|
17
|
+
import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib, getSpaceQualifiedIbGibAddr } from '../../engine/index/index-helper.mjs';
|
|
18
|
+
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
19
|
+
const lcFile = `[branch-cmd]`;
|
|
20
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
21
|
+
export async function executeBranchCmd({ branchName, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
|
|
22
|
+
const lc = `${lcFile}[${executeBranchCmd.name}]`;
|
|
23
|
+
try {
|
|
24
|
+
if (logalot) {
|
|
25
|
+
console.log(`${lc} starting... (I: 4c3d2e1f0a9b8c7d6e5f4a3b2c1d0e9f)`);
|
|
26
|
+
}
|
|
27
|
+
const absTargetDir = path.resolve(targetDir);
|
|
28
|
+
const { metaspace, localSpace, vcsPath } = await bootstrapVcsMetaspace({
|
|
29
|
+
repoPath: absTargetDir,
|
|
30
|
+
vcsFolderName,
|
|
31
|
+
});
|
|
32
|
+
// Verify repo exists
|
|
33
|
+
try {
|
|
34
|
+
await fs.access(vcsPath);
|
|
35
|
+
}
|
|
36
|
+
catch {
|
|
37
|
+
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5d4e3f2a1b0c9d8e7f6a5b4c3d2e1f0a)`);
|
|
38
|
+
}
|
|
39
|
+
// 1. Fetch authoritative repository index from localSpace
|
|
40
|
+
const indexIbGib = await getB2tFSIndexIbGib({ space: localSpace, vcsPath });
|
|
41
|
+
if (!indexIbGib) {
|
|
42
|
+
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b)`);
|
|
43
|
+
}
|
|
44
|
+
const activeBranchName = indexIbGib.data?.activeBranch || 'main';
|
|
45
|
+
// Resolve active branch space b2s_<activeBranch>
|
|
46
|
+
const { space: activeBranchSpace } = await getOrCreateBranchSpace({
|
|
47
|
+
metaspace,
|
|
48
|
+
vcsPath,
|
|
49
|
+
branchName: activeBranchName,
|
|
50
|
+
});
|
|
51
|
+
// 2. Fetch all registered branch ibgibs
|
|
52
|
+
const branchAddrs = [
|
|
53
|
+
...(indexIbGib.rel8ns?.branch || []),
|
|
54
|
+
...(indexIbGib.rel8ns?.branch_tjp || []),
|
|
55
|
+
];
|
|
56
|
+
let branchIbGibs = [];
|
|
57
|
+
if (branchAddrs.length > 0) {
|
|
58
|
+
for (const bAddr of branchAddrs) {
|
|
59
|
+
const bIbGib = await getIbGibWithMetaspaceFallback({
|
|
60
|
+
addr: bAddr,
|
|
61
|
+
space: activeBranchSpace,
|
|
62
|
+
metaspace,
|
|
63
|
+
});
|
|
64
|
+
if (bIbGib) {
|
|
65
|
+
branchIbGibs.push(bIbGib);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// Deduplicate branch nodes by branch name
|
|
70
|
+
const branchMap = new Map();
|
|
71
|
+
for (const b of branchIbGibs) {
|
|
72
|
+
if (b?.data?.name) {
|
|
73
|
+
branchMap.set(b.data.name, b);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const trimmedBranchName = branchName?.trim();
|
|
77
|
+
if (!trimmedBranchName) {
|
|
78
|
+
// LIST BRANCHES
|
|
79
|
+
const branches = [];
|
|
80
|
+
for (const [name, bNode] of branchMap.entries()) {
|
|
81
|
+
const addr = getIbGibAddr({ ibGib: bNode });
|
|
82
|
+
const rootItemAddr = bNode.rel8ns?.b2tfs_item?.at(0);
|
|
83
|
+
const isActive = name === activeBranchName;
|
|
84
|
+
branches.push({
|
|
85
|
+
name,
|
|
86
|
+
isActive,
|
|
87
|
+
addr,
|
|
88
|
+
rootItemAddr,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
if (!quiet) {
|
|
92
|
+
for (const b of branches) {
|
|
93
|
+
const prefix = b.isActive ? '* ' : ' ';
|
|
94
|
+
console.log(`${prefix}${b.name}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { branches };
|
|
98
|
+
}
|
|
99
|
+
// CREATE BRANCH
|
|
100
|
+
if (branchMap.has(trimmedBranchName)) {
|
|
101
|
+
throw new Error(`Branch '${trimmedBranchName}' already exists (E: 7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b2c)`);
|
|
102
|
+
}
|
|
103
|
+
// Find active branch root item to fork from
|
|
104
|
+
const activeBranchIbGib = branchMap.get(activeBranchName) || branchIbGibs.at(0);
|
|
105
|
+
const rootItemAddr = activeBranchIbGib?.rel8ns?.b2tfs_item?.at(0);
|
|
106
|
+
if (!rootItemAddr) {
|
|
107
|
+
throw new Error(`Cannot find active branch root item to fork branch from (E: 8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c3d)`);
|
|
108
|
+
}
|
|
109
|
+
const rootItem = await getIbGibWithMetaspaceFallback({
|
|
110
|
+
addr: rootItemAddr,
|
|
111
|
+
space: activeBranchSpace,
|
|
112
|
+
metaspace,
|
|
113
|
+
});
|
|
114
|
+
if (!rootItem) {
|
|
115
|
+
throw new Error(`Root item node for address '${rootItemAddr}' not found in localSpace (E: 9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e)`);
|
|
116
|
+
}
|
|
117
|
+
// Instantiate new branch space b2s_<newBranch>
|
|
118
|
+
const { space: newBranchSpace, spaceId: newBranchSpaceId } = await getOrCreateBranchSpace({
|
|
119
|
+
metaspace,
|
|
120
|
+
vcsPath,
|
|
121
|
+
branchName: trimmedBranchName,
|
|
122
|
+
});
|
|
123
|
+
// Populate new branch space from live dependency graph of rootItem
|
|
124
|
+
await populateBranchSpaceFromGraph({
|
|
125
|
+
sourceSpace: activeBranchSpace,
|
|
126
|
+
targetBranchSpace: newBranchSpace,
|
|
127
|
+
rootItemIbGib: rootItem,
|
|
128
|
+
metaspace,
|
|
129
|
+
});
|
|
130
|
+
// Create new B2tFSBranchIbGib_V1 branch node inside newBranchSpace
|
|
131
|
+
const newBranchIbGib = await createB2tFSBranchIbGib({
|
|
132
|
+
branchName: trimmedBranchName,
|
|
133
|
+
rootItem,
|
|
134
|
+
space: newBranchSpace,
|
|
135
|
+
metaspace,
|
|
136
|
+
});
|
|
137
|
+
// Put in activeBranchSpace so active index can reference it
|
|
138
|
+
await putInSpace({ space: activeBranchSpace, ibGib: newBranchIbGib });
|
|
139
|
+
const newBranchAddr = getIbGibAddr({ ibGib: newBranchIbGib });
|
|
140
|
+
const sqNewBranchAddr = getSpaceQualifiedIbGibAddr({
|
|
141
|
+
spaceId: newBranchSpaceId,
|
|
142
|
+
ibGibAddr: newBranchAddr,
|
|
143
|
+
});
|
|
144
|
+
// Register new branch node in B2tFSIndexIbGib_V1 using space-qualified address
|
|
145
|
+
await updateB2tFSIndexIbGib({
|
|
146
|
+
space: activeBranchSpace,
|
|
147
|
+
metaspace,
|
|
148
|
+
indexIbGib,
|
|
149
|
+
rel8nsToUpdate: {
|
|
150
|
+
branch: [sqNewBranchAddr],
|
|
151
|
+
branch_tjp: [sqNewBranchAddr],
|
|
152
|
+
},
|
|
153
|
+
vcsPath,
|
|
154
|
+
});
|
|
155
|
+
if (!quiet) {
|
|
156
|
+
console.log(`Created branch '${trimmedBranchName}' (I: 0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f)`);
|
|
157
|
+
}
|
|
158
|
+
// Return updated branch list
|
|
159
|
+
branchMap.set(trimmedBranchName, newBranchIbGib);
|
|
160
|
+
const branches = [];
|
|
161
|
+
for (const [name, bNode] of branchMap.entries()) {
|
|
162
|
+
const addr = getIbGibAddr({ ibGib: bNode });
|
|
163
|
+
const itemAddr = bNode.rel8ns?.b2tfs_item?.at(0);
|
|
164
|
+
branches.push({
|
|
165
|
+
name,
|
|
166
|
+
isActive: name === activeBranchName,
|
|
167
|
+
addr,
|
|
168
|
+
rootItemAddr: itemAddr,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return {
|
|
172
|
+
branches,
|
|
173
|
+
createdBranchName: trimmedBranchName,
|
|
174
|
+
createdBranchAddr: newBranchAddr,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error(`${lc} ${extractErrorMsg(error)} (E: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
finally {
|
|
182
|
+
if (logalot) {
|
|
183
|
+
console.log(`${lc} complete. (I: 2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b)`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=branch-cmd.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branch-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/branch-cmd.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkout-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/checkout-cmd.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsBH,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,CA0JnD"}
|
|
@@ -0,0 +1,154 @@
|
|
|
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
|
+
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 { getB2tFSBranchSpaceName } from '../../engine/branch/branch-helper.mjs';
|
|
14
|
+
import { getOrCreateBranchSpace } from '../../engine/branch/branch-space-helper.mjs';
|
|
15
|
+
import { B2TFS_CHILD_ITEM_REL8N_NAME } from '../../engine/item/item-types.mjs';
|
|
16
|
+
import { writeB2tFSItemToFS, getIbGibWithMetaspaceFallback } from '../../engine/item/item-helper.mjs';
|
|
17
|
+
import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib } from '../../engine/index/index-helper.mjs';
|
|
18
|
+
import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
|
|
19
|
+
const lcFile = `[checkout-cmd]`;
|
|
20
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
21
|
+
export async function executeCheckoutCmd({ branchName, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
|
|
22
|
+
const lc = `${lcFile}[${executeCheckoutCmd.name}]`;
|
|
23
|
+
try {
|
|
24
|
+
if (logalot) {
|
|
25
|
+
console.log(`${lc} starting... (I: 3f4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c)`);
|
|
26
|
+
}
|
|
27
|
+
const trimmedBranchName = branchName?.trim();
|
|
28
|
+
if (!trimmedBranchName) {
|
|
29
|
+
throw new Error(`Branch name is required for checkout (E: 4a5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d)`);
|
|
30
|
+
}
|
|
31
|
+
const absTargetDir = path.resolve(targetDir);
|
|
32
|
+
const { metaspace, localSpace, repoRoot, vcsPath } = await bootstrapVcsMetaspace({
|
|
33
|
+
repoPath: absTargetDir,
|
|
34
|
+
vcsFolderName,
|
|
35
|
+
});
|
|
36
|
+
// Verify repo exists
|
|
37
|
+
try {
|
|
38
|
+
await fs.access(vcsPath);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
throw new Error(`Not an ibgib repository (directory ${vcsPath} does not exist) (E: 5b6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e)`);
|
|
42
|
+
}
|
|
43
|
+
// 1. Fetch authoritative repository index from localSpace
|
|
44
|
+
const indexIbGib = await getB2tFSIndexIbGib({ space: localSpace, vcsPath });
|
|
45
|
+
if (!indexIbGib) {
|
|
46
|
+
throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f)`);
|
|
47
|
+
}
|
|
48
|
+
const previousBranch = indexIbGib.data?.activeBranch || 'main';
|
|
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.find((b) => b?.data?.name === trimmedBranchName);
|
|
69
|
+
if (!targetBranchIbGib) {
|
|
70
|
+
throw new Error(`Branch '${trimmedBranchName}' does not exist (E: 7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a)`);
|
|
71
|
+
}
|
|
72
|
+
const targetBranchAddr = getIbGibAddr({ ibGib: targetBranchIbGib });
|
|
73
|
+
const rootItemAddr = targetBranchIbGib.rel8ns?.b2tfs_item?.at(0);
|
|
74
|
+
if (!rootItemAddr) {
|
|
75
|
+
throw new Error(`Branch '${trimmedBranchName}' does not have a valid root item address (E: 8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b)`);
|
|
76
|
+
}
|
|
77
|
+
// 3. Resolve target branch space b2s_<branchName>
|
|
78
|
+
const targetBranchSpaceRes = await getOrCreateBranchSpace({
|
|
79
|
+
metaspace,
|
|
80
|
+
vcsPath,
|
|
81
|
+
branchName: trimmedBranchName,
|
|
82
|
+
});
|
|
83
|
+
const targetBranchSpace = targetBranchSpaceRes.space;
|
|
84
|
+
await putInSpace({ space: targetBranchSpace, ibGib: targetBranchIbGib });
|
|
85
|
+
// Update activeBranch in B2tFSIndexIbGib_V1 in targetBranchSpace and localSpace
|
|
86
|
+
const updatedIndex = await updateB2tFSIndexIbGib({
|
|
87
|
+
space: targetBranchSpace,
|
|
88
|
+
metaspace,
|
|
89
|
+
indexIbGib,
|
|
90
|
+
dataToUpdate: {
|
|
91
|
+
activeBranch: trimmedBranchName,
|
|
92
|
+
activeSpaceId: getB2tFSBranchSpaceName(trimmedBranchName),
|
|
93
|
+
mySpaceId: targetBranchSpaceRes.spaceId,
|
|
94
|
+
},
|
|
95
|
+
vcsPath,
|
|
96
|
+
});
|
|
97
|
+
if (localSpace !== targetBranchSpace) {
|
|
98
|
+
await putInSpace({ space: localSpace, ibGib: updatedIndex });
|
|
99
|
+
}
|
|
100
|
+
// 4. Project branch snapshot onto worktree subfolder:
|
|
101
|
+
// 'main' -> repoRoot
|
|
102
|
+
// other branches -> repoRoot/b/<branch_name>/
|
|
103
|
+
const isDefaultBranch = trimmedBranchName === 'main';
|
|
104
|
+
const worktreePath = isDefaultBranch
|
|
105
|
+
? repoRoot
|
|
106
|
+
: path.join(repoRoot, 'b', trimmedBranchName);
|
|
107
|
+
await fs.mkdir(worktreePath, { recursive: true });
|
|
108
|
+
// Retrieve root item and project child items via writeB2tFSItemToFS
|
|
109
|
+
const rootItem = await getIbGibWithMetaspaceFallback({
|
|
110
|
+
addr: rootItemAddr,
|
|
111
|
+
space: targetBranchSpace,
|
|
112
|
+
metaspace,
|
|
113
|
+
});
|
|
114
|
+
if (rootItem) {
|
|
115
|
+
const childAddrs = rootItem.rel8ns?.[B2TFS_CHILD_ITEM_REL8N_NAME] || [];
|
|
116
|
+
for (const childAddr of childAddrs) {
|
|
117
|
+
const childItem = await getIbGibWithMetaspaceFallback({
|
|
118
|
+
addr: childAddr,
|
|
119
|
+
space: targetBranchSpace,
|
|
120
|
+
metaspace,
|
|
121
|
+
});
|
|
122
|
+
if (childItem) {
|
|
123
|
+
await writeB2tFSItemToFS({
|
|
124
|
+
item: childItem,
|
|
125
|
+
destPath: worktreePath,
|
|
126
|
+
space: targetBranchSpace,
|
|
127
|
+
metaspace,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (!quiet) {
|
|
133
|
+
console.log(`Switched to branch '${trimmedBranchName}' (I: 9f0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c)`);
|
|
134
|
+
console.log(` Worktree projection: ${worktreePath}`);
|
|
135
|
+
}
|
|
136
|
+
return {
|
|
137
|
+
previousBranch,
|
|
138
|
+
currentBranch: trimmedBranchName,
|
|
139
|
+
branchAddr: targetBranchAddr,
|
|
140
|
+
rootItemAddr,
|
|
141
|
+
worktreePath,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
console.error(`${lc} ${extractErrorMsg(error)} (E: 0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d)`);
|
|
146
|
+
throw error;
|
|
147
|
+
}
|
|
148
|
+
finally {
|
|
149
|
+
if (logalot) {
|
|
150
|
+
console.log(`${lc} complete. (I: 1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e)`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=checkout-cmd.mjs.map
|
|
@@ -0,0 +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,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,qDAAqD,CAAC;AAEjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAqB,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAChG,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,MAAM,MAAM,GAAG,gBAAgB,CAAC;AAChC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAiBjC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACrC,UAAU,EACV,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EACzB,aAAa,GAAG,SAAS,EACzB,KAAK,GAAG,KAAK,GAChB,GAAoB,EAAE;IACnB,MAAM,EAAE,GAAG,GAAG,MAAM,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC;IACnD,IAAI,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,oDAAoD,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,iBAAiB,GAAG,UAAU,EAAE,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAClG,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7C,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,qBAAqB,CAAC;YAC7E,QAAQ,EAAE,YAAY;YACtB,aAAa;SAChB,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC;YACD,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACL,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,wDAAwD,CAAC,CAAC;QAC3H,CAAC;QAED,0DAA0D;QAC1D,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mGAAmG,CAAC,CAAC;QACzH,CAAC;QAED,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,YAAY,IAAI,MAAM,CAAC;QAE/D,wCAAwC;QACxC,MAAM,WAAW,GAAG;YAChB,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;YACpC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC;SAC3C,CAAC;QAEF,IAAI,YAAY,GAA0B,EAAE,CAAC;QAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC;oBAC/C,IAAI,EAAE,KAAK;oBACX,KAAK,EAAE,UAAU;oBACjB,SAAS;iBACZ,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,CAAC;oBACT,YAAY,CAAC,IAAI,CAAC,MAA6B,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC;QAED,0BAA0B;QAC1B,MAAM,iBAAiB,GAAG,YAAY,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,KAAK,iBAAiB,CAC7C,CAAC;QAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,WAAW,iBAAiB,wDAAwD,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,WAAW,iBAAiB,iFAAiF,CAAC,CAAC;QACnI,CAAC;QAED,kDAAkD;QAClD,MAAM,oBAAoB,GAAG,MAAM,sBAAsB,CAAC;YACtD,SAAS;YACT,OAAO;YACP,UAAU,EAAE,iBAAiB;SAChC,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,KAAK,CAAC;QAErD,MAAM,UAAU,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAEzE,gFAAgF;QAChF,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC;YAC7C,KAAK,EAAE,iBAAiB;YACxB,SAAS;YACT,UAAU;YACV,YAAY,EAAE;gBACV,YAAY,EAAE,iBAAiB;gBAC/B,aAAa,EAAE,uBAAuB,CAAC,iBAAiB,CAAC;gBACzD,SAAS,EAAE,oBAAoB,CAAC,OAAO;aAC1C;YACD,OAAO;SACV,CAAC,CAAC;QAEH,IAAI,UAAU,KAAK,iBAAiB,EAAE,CAAC;YACnC,MAAM,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,sDAAsD;QACtD,wBAAwB;QACxB,iDAAiD;QACjD,MAAM,eAAe,GAAG,iBAAiB,KAAK,MAAM,CAAC;QACrD,MAAM,YAAY,GAAG,eAAe;YAChC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QAElD,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,oEAAoE;QACpE,MAAM,QAAQ,GAAG,MAAM,6BAA6B,CAAC;YACjD,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,iBAAiB;YACxB,SAAS;SACZ,CAAsB,CAAC;QAExB,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAC;YACxE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC;oBAClD,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,iBAAiB;oBACxB,SAAS;iBACZ,CAAsB,CAAC;gBAExB,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,kBAAkB,CAAC;wBACrB,IAAI,EAAE,SAAS;wBACf,QAAQ,EAAE,YAAY;wBACtB,KAAK,EAAE,iBAAiB;wBACxB,SAAS;qBACZ,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,uBAAuB,iBAAiB,yCAAyC,CAAC,CAAC;YAC/F,OAAO,CAAC,GAAG,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACH,cAAc;YACd,aAAa,EAAE,iBAAiB;YAChC,UAAU,EAAE,gBAAgB;YAC5B,YAAY;YACZ,YAAY;SACf,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACvF,MAAM,KAAK,CAAC;IAChB,CAAC;YAAS,CAAC;QACP,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;QACzE,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module commit-cmd
|
|
3
|
+
*
|
|
4
|
+
* Command handler for `vcs commit -m "message"`.
|
|
5
|
+
* Validates staged items, evolves the B2tFS root folder item graph in localSpace,
|
|
6
|
+
* creates a CommentIbGib_V1 commit comment node, advances active B2tFSBranchIbGib_V1 pointer,
|
|
7
|
+
* clears staged items in B2tFSIndexIbGib_V1, and updates read-only index projection cache.
|
|
8
|
+
*/
|
|
9
|
+
export interface CommitCmdOpts {
|
|
10
|
+
message?: string;
|
|
11
|
+
targetDir?: string;
|
|
12
|
+
vcsFolderName?: string;
|
|
13
|
+
quiet?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface CommitCmdResult {
|
|
16
|
+
commitAddr: string;
|
|
17
|
+
commentAddr: string;
|
|
18
|
+
branchName: string;
|
|
19
|
+
committedPaths: string[];
|
|
20
|
+
rootItemAddr: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function executeCommitCmd({ message, targetDir, vcsFolderName, quiet, }?: CommitCmdOpts): Promise<CommitCmdResult>;
|
|
23
|
+
//# sourceMappingURL=commit-cmd.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/commit-cmd.mts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA6BH,MAAM,WAAW,aAAa;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,gBAAgB,CAAC,EACnC,OAAY,EACZ,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,aAAkB,GAAG,OAAO,CAAC,eAAe,CAAC,CA8K/C"}
|