@ibgib/vcs-gib 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/AUTO-GENERATED-version.d.mts +1 -1
  2. package/dist/AUTO-GENERATED-version.mjs +1 -1
  3. package/dist/bootstrap/node-bootstrap.mjs +1 -1
  4. package/dist/cli/commands/merge-cmd.d.mts +21 -8
  5. package/dist/cli/commands/merge-cmd.d.mts.map +1 -1
  6. package/dist/cli/commands/merge-cmd.mjs +138 -70
  7. package/dist/cli/commands/merge-cmd.mjs.map +1 -1
  8. package/dist/cli/vcs-cli-main.mjs +2 -2
  9. package/dist/cli/vcs-cli-main.mjs.map +1 -1
  10. package/dist/engine/item/item-helper.d.mts +31 -1
  11. package/dist/engine/item/item-helper.d.mts.map +1 -1
  12. package/dist/engine/item/item-helper.mjs +39 -0
  13. package/dist/engine/item/item-helper.mjs.map +1 -1
  14. package/dist/engine/merge/{b2tfs-3way-merge-strategy.d.mts → b2tfs-3way-graft-strategy.d.mts} +9 -11
  15. package/dist/engine/merge/b2tfs-3way-graft-strategy.d.mts.map +1 -0
  16. package/dist/engine/merge/{b2tfs-3way-merge-strategy.mjs → b2tfs-3way-graft-strategy.mjs} +51 -294
  17. package/dist/engine/merge/b2tfs-3way-graft-strategy.mjs.map +1 -0
  18. package/dist/engine/merge/{b2tfs-3way-merge-types.d.mts → b2tfs-3way-graft-types.d.mts} +2 -9
  19. package/dist/engine/merge/b2tfs-3way-graft-types.d.mts.map +1 -0
  20. package/dist/engine/merge/b2tfs-3way-graft-types.mjs +2 -0
  21. package/dist/engine/merge/b2tfs-3way-graft-types.mjs.map +1 -0
  22. package/dist/test/test-helpers.d.mts +51 -0
  23. package/dist/test/test-helpers.d.mts.map +1 -0
  24. package/dist/test/test-helpers.mjs +135 -0
  25. package/dist/test/test-helpers.mjs.map +1 -0
  26. package/package.json +4 -4
  27. package/src/AUTO-GENERATED-version.mts +1 -1
  28. package/src/bootstrap/node-bootstrap.mts +1 -1
  29. package/src/cli/commands/branch-checkout-cmd.respec.log +8 -101
  30. package/src/cli/commands/branch-checkout-cmd.respec.mts +11 -10
  31. package/src/cli/commands/merge-cmd.mts +154 -76
  32. package/src/cli/vcs-cli-main.mts +3 -3
  33. package/src/engine/item/item-helper.mts +71 -1
  34. package/src/engine/merge/{b2tfs-3way-merge-strategy.mts → b2tfs-3way-graft-strategy.mts} +66 -367
  35. package/src/engine/merge/{b2tfs-3way-merge-strategy.respec.mts → b2tfs-3way-graft-strategy.respec.mts} +27 -122
  36. package/src/engine/merge/{b2tfs-3way-merge-types.mts → b2tfs-3way-graft-types.mts} +34 -42
  37. package/src/test/test-helpers.mts +168 -0
  38. package/tsconfig.test.tsbuildinfo +1 -1
  39. package/tsconfig.tsbuildinfo +1 -1
  40. package/dist/engine/merge/b2tfs-3way-merge-strategy.d.mts.map +0 -1
  41. package/dist/engine/merge/b2tfs-3way-merge-strategy.mjs.map +0 -1
  42. package/dist/engine/merge/b2tfs-3way-merge-types.d.mts.map +0 -1
  43. package/dist/engine/merge/b2tfs-3way-merge-types.mjs +0 -2
  44. package/dist/engine/merge/b2tfs-3way-merge-types.mjs.map +0 -1
@@ -2,5 +2,5 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export declare const AUTO_GENERATED_VERSION = "0.0.21";
5
+ export declare const AUTO_GENERATED_VERSION = "0.0.23";
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.d.mts.map
@@ -2,5 +2,5 @@
2
2
  * @module AUTO-GENERATED-version
3
3
  * Auto-generated version constant. Do NOT edit directly.
4
4
  */
5
- export const AUTO_GENERATED_VERSION = '0.0.21';
5
+ export const AUTO_GENERATED_VERSION = '0.0.23';
6
6
  //# sourceMappingURL=AUTO-GENERATED-version.mjs.map
@@ -15,7 +15,7 @@ import { NodeFilesystemSpace_V1 } from '@ibgib/node-gib/dist/witness/space/node-
15
15
  import { DEFAULT_NODE_FILESYSTEM_SPACE_DATA_V1 } from '@ibgib/node-gib/dist/witness/space/node-filesystem-space/node-filesystem-space-types.mjs';
16
16
  import { fnCreateNewLocalSpace, fnDtoToSpace_nodeFilesystem } from '@ibgib/node-gib/dist/witness/space/metaspace/metaspace-nodespace/metaspace-nodespace-helper.mjs';
17
17
  import { GLOBAL_LOG_A_LOT } from '../vcs-gib-constants.mjs';
18
- import { B2tFS3WayGraftStrategy } from '../engine/merge/b2tfs-3way-merge-strategy.mjs';
18
+ import { B2tFS3WayGraftStrategy } from '../engine/merge/b2tfs-3way-graft-strategy.mjs';
19
19
  const lcFile = `[node-bootstrap]`;
20
20
  const logalot = GLOBAL_LOG_A_LOT;
21
21
  /**
@@ -2,22 +2,35 @@
2
2
  * @module merge-cmd
3
3
  *
4
4
  * Command handler for `vcs merge <branchName>`.
5
- * Merges target branch into active branch using SyncSagaCoordinator sync and 3-way graft merge strategy.
6
- * Projects merged branch snapshot onto active branch physical worktree path.
5
+ * Merges the incoming branch into the base (active/current) branch using
6
+ * SyncSagaCoordinator sync and 3-way graft merge strategy.
7
+ * Projects merged branch snapshot onto the base branch physical worktree path.
8
+ *
9
+ * ## Terminology (matches standard git usage)
10
+ *
11
+ * * **base** branch / space — the branch currently checked out, the one being
12
+ * merged INTO (analogous to `ours` / `HEAD` in git)
13
+ * * **incoming** branch / space — the branch whose changes are being merged IN
14
+ * (analogous to `theirs` / the topic branch in git)
7
15
  */
8
16
  export interface MergeCmdOpts {
9
- targetBranchName?: string;
17
+ /** The incoming branch name — the branch whose changes will be merged in. */
18
+ incomingBranchName?: string;
10
19
  targetDir?: string;
11
20
  vcsFolderName?: string;
12
21
  quiet?: boolean;
22
+ /** When true, emit diagnostic checkpoint logging (useful in tests). */
23
+ diagLog?: boolean;
13
24
  }
14
25
  export interface MergeCmdResult {
15
- activeBranch: string;
16
- targetBranch: string;
17
- activeSpaceId: string;
18
- targetSpaceId: string;
26
+ /** The base (current/active) branch name — merged into. */
27
+ baseBranch: string;
28
+ /** The incoming branch name — merged from. */
29
+ incomingBranch: string;
30
+ baseSpaceId: string;
31
+ incomingSpaceId: string;
19
32
  mergedBranchAddr?: string;
20
33
  worktreePath: string;
21
34
  }
22
- export declare function executeMergeCmd({ targetBranchName, targetDir, vcsFolderName, quiet, }?: MergeCmdOpts): Promise<MergeCmdResult>;
35
+ export declare function executeMergeCmd({ incomingBranchName, targetDir, vcsFolderName, quiet, diagLog, }?: MergeCmdOpts): Promise<MergeCmdResult>;
23
36
  //# sourceMappingURL=merge-cmd.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/merge-cmd.mts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH,MAAM,WAAW,YAAY;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,eAAe,CAAC,EAClC,gBAAgB,EAChB,SAAyB,EACzB,aAAyB,EACzB,KAAa,GAChB,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAuO7C"}
1
+ {"version":3,"file":"merge-cmd.d.mts","sourceRoot":"","sources":["../../../src/cli/commands/merge-cmd.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA6BH,MAAM,WAAW,YAAY;IACzB,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,2DAA2D;IAC3D,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,wBAAsB,eAAe,CAAC,EAClC,kBAAkB,EAClB,SAAyB,EACzB,aAAyB,EACzB,KAAa,EACb,OAAe,GAClB,GAAE,YAAiB,GAAG,OAAO,CAAC,cAAc,CAAC,CAoS7C"}
@@ -2,14 +2,23 @@
2
2
  * @module merge-cmd
3
3
  *
4
4
  * Command handler for `vcs merge <branchName>`.
5
- * Merges target branch into active branch using SyncSagaCoordinator sync and 3-way graft merge strategy.
6
- * Projects merged branch snapshot onto active branch physical worktree path.
5
+ * Merges the incoming branch into the base (active/current) branch using
6
+ * SyncSagaCoordinator sync and 3-way graft merge strategy.
7
+ * Projects merged branch snapshot onto the base branch physical worktree path.
8
+ *
9
+ * ## Terminology (matches standard git usage)
10
+ *
11
+ * * **base** branch / space — the branch currently checked out, the one being
12
+ * merged INTO (analogous to `ours` / `HEAD` in git)
13
+ * * **incoming** branch / space — the branch whose changes are being merged IN
14
+ * (analogous to `theirs` / the topic branch in git)
7
15
  */
8
16
  import path from 'node:path';
9
17
  import fs from 'node:fs/promises';
10
18
  import { clone, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
11
19
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
12
- import { putInSpace, getLatestAddrs, } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
20
+ import { putInSpace, getLatestAddrs, persistTransformResult, registerNewIbGib } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
21
+ import { rel8 } from '@ibgib/ts-gib/dist/V1/transforms/rel8.mjs';
13
22
  import { SyncSagaCoordinator } from '@ibgib/core-gib/dist/sync/sync-saga-coordinator.mjs';
14
23
  import { SyncPeerInnerspace_V1 } from '@ibgib/core-gib/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
15
24
  import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from '@ibgib/core-gib/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
@@ -18,19 +27,22 @@ import { GraftPreference } from '@ibgib/core-gib/dist/sync/graft-info/graft-info
18
27
  import { bootstrapVcsMetaspace } from '../../bootstrap/node-bootstrap.mjs';
19
28
  import { getOrCreateBranchSpace } from '../../engine/branch/branch-space-helper.mjs';
20
29
  import { B2TFS_CHILD_ITEM_REL8N_NAME } from '../../engine/item/item-types.mjs';
21
- import { writeB2tFSItemToFS, getIbGibWithMetaspaceFallback } from '../../engine/item/item-helper.mjs';
30
+ import { writeB2tFSItemToFS, getIbGibWithMetaspaceFallback, reifyB2tFSHierarchy } from '../../engine/item/item-helper.mjs';
22
31
  import { getB2tFSIndexIbGib, updateB2tFSIndexIbGib } from '../../engine/index/index-helper.mjs';
23
32
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
33
+ import { logBranchState, logItemState, logCheckpoint, logAddr } from '../../test/test-helpers.mjs';
24
34
  const lcFile = `[merge-cmd]`;
25
35
  const logalot = GLOBAL_LOG_A_LOT;
26
- export async function executeMergeCmd({ targetBranchName, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, } = {}) {
36
+ export async function executeMergeCmd({ incomingBranchName, targetDir = process.cwd(), vcsFolderName = '.vcsgib', quiet = false, diagLog = false, } = {}) {
27
37
  const lc = `${lcFile}[${executeMergeCmd.name}]`;
38
+ const diag = (label) => { if (diagLog)
39
+ logCheckpoint(`merge-cmd: ${label}`); };
28
40
  try {
29
41
  if (logalot) {
30
42
  console.log(`${lc} starting... (I: 4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f)`);
31
43
  }
32
- const trimmedTargetBranch = targetBranchName?.trim();
33
- if (!trimmedTargetBranch) {
44
+ const trimmedIncomingBranch = incomingBranchName?.trim();
45
+ if (!trimmedIncomingBranch) {
34
46
  throw new Error(`Branch name is required for merge (E: 5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a)`);
35
47
  }
36
48
  const absTargetDir = path.resolve(targetDir);
@@ -50,9 +62,9 @@ export async function executeMergeCmd({ targetBranchName, targetDir = process.cw
50
62
  if (!indexIbGib) {
51
63
  throw new Error(`Repository index B2tFSIndexIbGib_V1 not found in localSpace (E: 7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c)`);
52
64
  }
53
- const activeBranchName = indexIbGib.data?.activeBranch || 'main';
54
- if (activeBranchName === trimmedTargetBranch) {
55
- throw new Error(`Cannot merge branch '${trimmedTargetBranch}' into itself (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d)`);
65
+ const baseBranchName = indexIbGib.data?.activeBranch || 'main';
66
+ if (baseBranchName === trimmedIncomingBranch) {
67
+ throw new Error(`Cannot merge branch '${trimmedIncomingBranch}' into itself (E: 8a9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d)`);
56
68
  }
57
69
  // 2. Fetch all registered branch ibgibs
58
70
  const branchAddrs = [
@@ -72,84 +84,132 @@ export async function executeMergeCmd({ targetBranchName, targetDir = process.cw
72
84
  }
73
85
  }
74
86
  }
75
- // Resolve active branch node & target branch node
76
- const activeBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === activeBranchName);
77
- if (!activeBranchIbGib) {
78
- throw new Error(`Active branch '${activeBranchName}' not found in repository (E: 9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e)`);
87
+ // Resolve base branch node & incoming branch node
88
+ const baseBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === baseBranchName);
89
+ if (!baseBranchIbGib) {
90
+ throw new Error(`Base branch '${baseBranchName}' not found in repository (E: 9b0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e)`);
79
91
  }
80
- const targetBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === trimmedTargetBranch);
81
- if (!targetBranchIbGib) {
82
- throw new Error(`Branch '${trimmedTargetBranch}' does not exist (E: 0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f)`);
92
+ const incomingBranchIbGib = branchIbGibs.findLast((b) => b?.data?.name === trimmedIncomingBranch);
93
+ if (!incomingBranchIbGib) {
94
+ throw new Error(`Branch '${trimmedIncomingBranch}' does not exist (E: 0c1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f)`);
83
95
  }
84
- // 3. Resolve active branch space & target branch space
85
- const activeSpaceRes = await getOrCreateBranchSpace({
96
+ // 3. Resolve base branch space & incoming branch space
97
+ const baseSpaceRes = await getOrCreateBranchSpace({
86
98
  metaspace,
87
99
  vcsPath,
88
- branchName: activeBranchName,
100
+ branchName: baseBranchName,
89
101
  });
90
- const activeSpace = activeSpaceRes.space;
91
- const targetSpaceRes = await getOrCreateBranchSpace({
102
+ const baseSpace = baseSpaceRes.space;
103
+ const incomingSpaceRes = await getOrCreateBranchSpace({
92
104
  metaspace,
93
105
  vcsPath,
94
- branchName: trimmedTargetBranch,
106
+ branchName: trimmedIncomingBranch,
95
107
  });
96
- const targetSpace = targetSpaceRes.space;
97
- await putInSpace({ space: activeSpace, ibGib: activeBranchIbGib });
98
- await putInSpace({ space: targetSpace, ibGib: targetBranchIbGib });
99
- // Resolve latest branch tip inside targetSpace (in case commits occurred on target branch)
100
- const targetBranchTjpAddr = targetBranchIbGib.rel8ns?.tjp?.at(0) || getIbGibAddr({ ibGib: targetBranchIbGib });
101
- const latestTargetBranchRes = await getLatestAddrs({ space: targetSpace, addrs: [targetBranchTjpAddr] });
102
- const latestTargetBranchAddr = latestTargetBranchRes?.data?.latestAddrs?.[0] || getIbGibAddr({ ibGib: targetBranchIbGib });
103
- const latestTargetBranchIbGib = (await getIbGibWithMetaspaceFallback({
104
- addr: latestTargetBranchAddr,
105
- space: targetSpace,
108
+ const incomingSpace = incomingSpaceRes.space;
109
+ await putInSpace({ space: baseSpace, ibGib: baseBranchIbGib });
110
+ await putInSpace({ space: incomingSpace, ibGib: incomingBranchIbGib });
111
+ // Resolve latest branch tip inside incomingSpace (in case commits occurred on incoming branch)
112
+ const incomingBranchTjpAddr = incomingBranchIbGib.rel8ns?.tjp?.at(0) || getIbGibAddr({ ibGib: incomingBranchIbGib });
113
+ const latestIncomingBranchRes = await getLatestAddrs({ space: incomingSpace, addrs: [incomingBranchTjpAddr] });
114
+ const latestIncomingBranchAddr = latestIncomingBranchRes?.data?.latestAddrs?.[0] || getIbGibAddr({ ibGib: incomingBranchIbGib });
115
+ const latestIncomingBranchIbGib = (await getIbGibWithMetaspaceFallback({
116
+ addr: latestIncomingBranchAddr,
117
+ space: incomingSpace,
106
118
  metaspace,
107
- })) || targetBranchIbGib;
108
- const targetRootAddr = latestTargetBranchIbGib.rel8ns?.b2tfs_item?.at(-1);
109
- if (!targetRootAddr) {
110
- throw new Error(`Target branch '${trimmedTargetBranch}' has no valid root item address (E: 3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e)`);
111
- }
112
- const targetRootItem = await getIbGibWithMetaspaceFallback({
113
- addr: targetRootAddr,
114
- space: targetSpace,
119
+ })) || incomingBranchIbGib;
120
+ const incomingRootAddr = latestIncomingBranchIbGib.rel8ns?.b2tfs_item?.at(-1);
121
+ if (!incomingRootAddr) {
122
+ throw new Error(`Incoming branch '${trimmedIncomingBranch}' has no valid root item address (E: 3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e)`);
123
+ }
124
+ const incomingRootItem = await getIbGibWithMetaspaceFallback({
125
+ addr: incomingRootAddr,
126
+ space: incomingSpace,
115
127
  metaspace,
116
128
  });
117
- if (!targetRootItem) {
118
- throw new Error(`Target root item '${targetRootAddr}' not found in target space (E: 4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f)`);
129
+ if (!incomingRootItem) {
130
+ throw new Error(`Incoming root item '${incomingRootAddr}' not found in incoming space (E: 4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f)`);
131
+ }
132
+ if (diagLog) {
133
+ diag('resolving branches & spaces');
134
+ await logBranchState({ label: 'baseBranch (main)', branchIbGib: baseBranchIbGib, space: baseSpace });
135
+ await logBranchState({ label: 'incomingBranch (feature-merge)', branchIbGib: incomingBranchIbGib, space: incomingSpace });
136
+ await logItemState({ label: 'incomingRootItem', itemIbGib: incomingRootItem, space: incomingSpace });
119
137
  }
120
- // 4. Setup SyncPeerInnerspace and SyncSagaCoordinator syncing target branch space into active branch space
138
+ // 4. Setup SyncPeerInnerspace and SyncSagaCoordinator syncing incoming branch space into base branch space
121
139
  const peer = new SyncPeerInnerspace_V1(clone(SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1));
122
140
  await peer.initialized;
123
141
  await peer.initializeOpts({
124
142
  localMetaspace: metaspace,
125
- localSpace: targetSpace,
126
- receiverSpace: activeSpace,
143
+ localSpace: incomingSpace,
144
+ receiverSpace: baseSpace,
127
145
  receiverCoordinator: new SyncSagaCoordinator(),
128
146
  receiverMetaspace: metaspace,
129
147
  });
130
148
  const senderCoordinator = new SyncSagaCoordinator();
131
149
  const syncSaga = await senderCoordinator.sync({
132
150
  peer,
133
- localSpace: targetSpace,
151
+ localSpace: incomingSpace,
134
152
  metaspace,
135
- domainIbGibs: [targetRootItem],
153
+ domainIbGibs: [incomingRootItem],
136
154
  conflictStrategy: SyncConflictStrategy.optimisticWithLCS,
137
155
  graftPreference: GraftPreference.receiver,
138
156
  });
139
157
  await syncSaga.done;
140
- // 5. Query activeSpace for updated active branch node & root item evolved natively by sync graft strategy
141
- const activeBranchTjpAddr = activeBranchIbGib.rel8ns?.tjp?.at(0) || getIbGibAddr({ ibGib: activeBranchIbGib });
142
- const latestBranchRes = await getLatestAddrs({ space: activeSpace, addrs: [activeBranchTjpAddr] });
143
- const mergedBranchAddr = latestBranchRes?.data?.latestAddrs?.[0] || getIbGibAddr({ ibGib: activeBranchIbGib });
144
- const mergedBranchIbGib = (await getIbGibWithMetaspaceFallback({
145
- addr: mergedBranchAddr,
146
- space: activeSpace,
158
+ // 5. Reify the base branch filesystem hierarchy.
159
+ // After sync, any child timelines (files or subfolders) that were merged/advanced
160
+ // in baseSpace will have newer tips. reifyB2tFSHierarchy bubbles all updated child tips
161
+ // up through the folder DAG, evolving parents in-place and returning the newly reified root item.
162
+ const currentBaseRootItemAddr = baseBranchIbGib.rel8ns?.b2tfs_item?.at(-1);
163
+ if (!currentBaseRootItemAddr) {
164
+ throw new Error(`Base branch '${baseBranchName}' has no root item address (E: 6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d)`);
165
+ }
166
+ const reifyRes = await reifyB2tFSHierarchy({
167
+ rootItemAddr: currentBaseRootItemAddr,
168
+ space: baseSpace,
147
169
  metaspace,
148
- })) || activeBranchIbGib;
149
- const mergedRootItemAddr = mergedBranchIbGib.rel8ns?.b2tfs_item?.at(-1);
170
+ });
171
+ const reifiedRootItem = reifyRes.reifiedRootItem;
172
+ const reifiedRootAddr = getIbGibAddr({ ibGib: reifiedRootItem });
173
+ if (diagLog) {
174
+ diag('after reification');
175
+ logAddr('currentBaseRootItemAddr', currentBaseRootItemAddr);
176
+ logAddr('reifiedRootAddr', reifiedRootAddr);
177
+ console.log(`[merge-cmd] reification hasChanges:`, reifyRes.hasChanges);
178
+ console.log(`[merge-cmd] reifiedAddrsMap:`, JSON.stringify(reifyRes.reifiedAddrsMap));
179
+ }
180
+ // 5b. Evolve the base branch ibgib to point at the reified root item tip.
181
+ // The sync engine does not update branch ibgibs — branches live in
182
+ // their own space and are never domain ibgibs in the sync. We advance
183
+ // the branch pointer to the reified root item.
184
+ let mergedBranchAddr = getIbGibAddr({ ibGib: baseBranchIbGib });
185
+ if (reifyRes.hasChanges && reifiedRootAddr !== currentBaseRootItemAddr) {
186
+ if (diagLog) {
187
+ console.log(`[merge-cmd] Evolving base branch: root item changing from ${currentBaseRootItemAddr} -> ${reifiedRootAddr}`);
188
+ }
189
+ const resRel8Branch = await rel8({
190
+ src: baseBranchIbGib,
191
+ rel8nsToReplaceByAddr: {
192
+ b2tfs_item: [{ oldAddr: currentBaseRootItemAddr, newAddr: reifiedRootAddr }],
193
+ },
194
+ dna: true,
195
+ nCounter: true,
196
+ });
197
+ const evolvedBranchIbGib = resRel8Branch.newIbGib;
198
+ await persistTransformResult({ resTransform: resRel8Branch, space: baseSpace });
199
+ await registerNewIbGib({ ibGib: evolvedBranchIbGib, space: baseSpace });
200
+ mergedBranchAddr = getIbGibAddr({ ibGib: evolvedBranchIbGib });
201
+ if (diagLog) {
202
+ console.log(`[merge-cmd] Base branch evolved to addr: ${mergedBranchAddr}`);
203
+ }
204
+ }
205
+ else {
206
+ if (diagLog) {
207
+ console.log(`[merge-cmd] Base branch root item unchanged (${currentBaseRootItemAddr})`);
208
+ }
209
+ }
150
210
  // Update indexIbGib to reference new merged branch node
151
211
  await updateB2tFSIndexIbGib({
152
- space: activeSpace,
212
+ space: baseSpace,
153
213
  metaspace,
154
214
  indexIbGib,
155
215
  rel8nsToUpdate: {
@@ -157,24 +217,32 @@ export async function executeMergeCmd({ targetBranchName, targetDir = process.cw
157
217
  },
158
218
  vcsPath,
159
219
  });
220
+ const mergedRootItemAddr = reifiedRootAddr;
221
+ if (diagLog) {
222
+ diag('projecting onto disk');
223
+ logAddr('mergedRootItemAddr', mergedRootItemAddr);
224
+ }
160
225
  // 6. Project merged branch snapshot files onto physical worktree disk
161
- const isDefaultBranch = activeBranchName === 'main';
226
+ const isDefaultBranch = baseBranchName === 'main';
162
227
  const worktreePath = isDefaultBranch
163
228
  ? repoRoot
164
- : path.join(repoRoot, 'b', activeBranchName);
229
+ : path.join(repoRoot, 'b', baseBranchName);
165
230
  await fs.mkdir(worktreePath, { recursive: true });
166
231
  if (mergedRootItemAddr) {
167
232
  const mergedRootItem = await getIbGibWithMetaspaceFallback({
168
233
  addr: mergedRootItemAddr,
169
- space: activeSpace,
234
+ space: baseSpace,
170
235
  metaspace,
171
236
  });
237
+ if (diagLog) {
238
+ await logItemState({ label: 'mergedRootItem to write', itemIbGib: mergedRootItem, space: baseSpace });
239
+ }
172
240
  if (mergedRootItem) {
173
241
  if (mergedRootItem.data?.fsType === 'file') {
174
242
  await writeB2tFSItemToFS({
175
243
  item: mergedRootItem,
176
244
  destPath: worktreePath,
177
- space: activeSpace,
245
+ space: baseSpace,
178
246
  metaspace,
179
247
  });
180
248
  }
@@ -183,14 +251,14 @@ export async function executeMergeCmd({ targetBranchName, targetDir = process.cw
183
251
  for (const childAddr of childAddrs) {
184
252
  const childItem = await getIbGibWithMetaspaceFallback({
185
253
  addr: childAddr,
186
- space: activeSpace,
254
+ space: baseSpace,
187
255
  metaspace,
188
256
  });
189
257
  if (childItem) {
190
258
  await writeB2tFSItemToFS({
191
259
  item: childItem,
192
260
  destPath: worktreePath,
193
- space: activeSpace,
261
+ space: baseSpace,
194
262
  metaspace,
195
263
  });
196
264
  }
@@ -199,15 +267,15 @@ export async function executeMergeCmd({ targetBranchName, targetDir = process.cw
199
267
  }
200
268
  }
201
269
  if (!quiet) {
202
- console.log(`Successfully merged branch '${trimmedTargetBranch}' into '${activeBranchName}' (I: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
270
+ console.log(`Successfully merged branch '${trimmedIncomingBranch}' into '${baseBranchName}' (I: 1d2e3f4a5b6c7d8e9f0a1b2c3d4e5f6a)`);
203
271
  console.log(` Worktree projection: ${worktreePath}`);
204
272
  }
205
273
  return {
206
- activeBranch: activeBranchName,
207
- targetBranch: trimmedTargetBranch,
208
- activeSpaceId: activeSpaceRes.spaceId,
209
- targetSpaceId: targetSpaceRes.spaceId,
210
- mergedBranchAddr: getIbGibAddr({ ibGib: mergedBranchIbGib }),
274
+ baseBranch: baseBranchName,
275
+ incomingBranch: trimmedIncomingBranch,
276
+ baseSpaceId: baseSpaceRes.spaceId,
277
+ incomingSpaceId: incomingSpaceRes.spaceId,
278
+ mergedBranchAddr,
211
279
  worktreePath,
212
280
  };
213
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"merge-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/merge-cmd.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"merge-cmd.mjs","sourceRoot":"","sources":["../../../src/cli/commands/merge-cmd.mts"],"names":[],"mappings":"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"}
@@ -108,8 +108,8 @@ export async function main({ argv = process.argv.slice(2), } = {}) {
108
108
  break;
109
109
  }
110
110
  case VCS_SUBCOMMANDS.MERGE: {
111
- const targetBranchName = parsed.positionals[0] || parsed.flags.branchName;
112
- await executeMergeCmd({ targetBranchName });
111
+ const incomingBranchName = parsed.positionals[0] || parsed.flags.branchName;
112
+ await executeMergeCmd({ incomingBranchName });
113
113
  break;
114
114
  }
115
115
  case VCS_SUBCOMMANDS.RESET: {
@@ -1 +1 @@
1
- {"version":3,"file":"vcs-cli-main.mjs","sourceRoot":"","sources":["../../src/cli/vcs-cli-main.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vcs-cli-main.mjs","sourceRoot":"","sources":["../../src/cli/vcs-cli-main.mts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * and two-pass transform application.
6
6
  */
7
7
  import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
8
- import { TransformResult } from '@ibgib/ts-gib/dist/types.mjs';
8
+ import { TransformResult, IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
9
9
  import { MetaspaceService } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
10
10
  import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
11
11
  import { B2tFSItemIbGib_V1, B2tFSItemData_V1, B2tFSItemRel8ns_V1, B2tFSItemDiffInfo } from './item-types.mjs';
@@ -61,4 +61,34 @@ export declare function applyB2tFSItemDiff({ diff, space, metaspace, }: {
61
61
  space: IbGibSpaceAny;
62
62
  metaspace: MetaspaceService;
63
63
  }): Promise<void>;
64
+ export interface ReifyB2tFSHierarchyOpts {
65
+ /** Root B2tFS item (folder or file). Either rootItem or rootItemAddr required. */
66
+ rootItem?: B2tFSItemIbGib_V1;
67
+ /** Address of root B2tFS item. Either rootItem or rootItemAddr required. */
68
+ rootItemAddr?: IbGibAddr;
69
+ /** Space containing the branch items and updated timeline tips. */
70
+ space: IbGibSpaceAny;
71
+ /** Metaspace service instance for lookups and registrations. */
72
+ metaspace: MetaspaceService;
73
+ }
74
+ export interface ReifyB2tFSHierarchyResult {
75
+ /** The reified root B2tFS item (evolved if any descendants changed, or unchanged if no descendants changed). */
76
+ reifiedRootItem: B2tFSItemIbGib_V1;
77
+ /** True if one or more folder/file nodes in the hierarchy evolved to new tips. */
78
+ hasChanges: boolean;
79
+ /** Map of old address -> new address for every node that evolved in this reification run. */
80
+ reifiedAddrsMap: {
81
+ [oldAddr: string]: string;
82
+ };
83
+ /** All newly evolved and persisted intermediate/root folder items created during reification. */
84
+ evolvedItems: B2tFSItemIbGib_V1[];
85
+ }
86
+ /**
87
+ * Reifies a B2tFS filesystem item hierarchy (folders and files) bottom-up.
88
+ *
89
+ * Traverses `b2tfs_child` relationship edges. If any child timeline advanced
90
+ * in `space` (e.g. during a 3-way merge or parallel commit), the parent folders
91
+ * are evolved in-place using `rel8` with the updated child tip addresses.
92
+ */
93
+ export declare function reifyB2tFSHierarchy({ rootItem, rootItemAddr, space, metaspace, }: ReifyB2tFSHierarchyOpts): Promise<ReifyB2tFSHierarchyResult>;
64
94
  //# sourceMappingURL=item-helper.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"item-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAOrF,OAAO,EACH,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EACP,iBAAiB,EACpE,MAAM,kBAAkB,CAAC;AAK1B,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,iBAAiB,CAI/D;AAED,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,iBAAiB,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,MAAM,GACT,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CA0D/D;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACjB,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAwF/D;AA+BD;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,EAChD,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAChC,GAAG,OAAO,CAAC,GAAG,CAAC,CA2Ef;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,EACrC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEhB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;IACC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,gBAAgB,CAAC;CAC/B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhB"}
1
+ {"version":3,"file":"item-helper.d.mts","sourceRoot":"","sources":["../../../src/engine/item/item-helper.mts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import { mut8 } from '@ibgib/ts-gib/dist/V1/transforms/mut8.mjs';
13
13
  import { rel8 } from '@ibgib/ts-gib/dist/V1/transforms/rel8.mjs';
14
14
  import { isIbGib } from '@ibgib/core-gib/dist/common/other/ibgib-helper.mjs';
15
15
  import { persistTransformResult, getFromSpace } from '@ibgib/core-gib/dist/witness/space/space-helper.mjs';
16
+ import { reifyDependencyGraph } from '@ibgib/core-gib/dist/common/other/graph-helper.mjs';
16
17
  import { GLOBAL_LOG_A_LOT } from '../../vcs-gib-constants.mjs';
17
18
  import { parseSpaceQualifiedIbGibAddr } from '../index/index-helper.mjs';
18
19
  import { B2TFS_ITEM_ATOM, getB2tFSItemIb } from './item-atom-helper.mjs';
@@ -379,4 +380,42 @@ export async function applyB2tFSItemDiff({ diff, space, metaspace, }) {
379
380
  }
380
381
  }
381
382
  }
383
+ /**
384
+ * Reifies a B2tFS filesystem item hierarchy (folders and files) bottom-up.
385
+ *
386
+ * Traverses `b2tfs_child` relationship edges. If any child timeline advanced
387
+ * in `space` (e.g. during a 3-way merge or parallel commit), the parent folders
388
+ * are evolved in-place using `rel8` with the updated child tip addresses.
389
+ */
390
+ export async function reifyB2tFSHierarchy({ rootItem, rootItemAddr, space, metaspace, }) {
391
+ const lc = `${lcFile}[${reifyB2tFSHierarchy.name}]`;
392
+ try {
393
+ if (logalot) {
394
+ console.log(`${lc} starting... (I: 3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a)`);
395
+ }
396
+ const res = await reifyDependencyGraph({
397
+ ibGib: rootItem,
398
+ ibGibAddr: rootItemAddr,
399
+ onlyRel8nNames: [B2TFS_CHILD_ITEM_REL8N_NAME],
400
+ space,
401
+ metaspace,
402
+ });
403
+ return {
404
+ reifiedRootItem: res.reifiedIbGib,
405
+ hasChanges: res.hasChanges,
406
+ reifiedAddrsMap: res.reifiedAddrsMap,
407
+ evolvedItems: res.evolvedIbGibs,
408
+ };
409
+ }
410
+ catch (error) {
411
+ console.error(`${lc} ${extractErrorMsg(error)} (E: 4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b)`);
412
+ throw error;
413
+ }
414
+ finally {
415
+ if (logalot) {
416
+ console.log(`${lc} complete. (I: 5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c)`);
417
+ }
418
+ }
419
+ }
420
+ // #endregion reifyB2tFSHierarchy
382
421
  //# sourceMappingURL=item-helper.mjs.map