@paradigma-inc/flywheel 0.2.66 → 0.2.68
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/package.json +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js +21 -12
- package/src/runtime/vendor/flywheel-cli-dist/commands/registry/repository.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-operation.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js +72 -0
- package/src/runtime/vendor/flywheel-cli-dist/commands/repository-output.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/tags.js +3 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/models/tags.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflict-view.js +300 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflict-view.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js +74 -25
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/conflicts.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/edge-restoration.js +4 -50
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/edge-restoration.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/keys.js +2 -3
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/keys.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/local-replay.js +6 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/local-replay.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js +1 -7
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pull.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pulled-artifacts.js +126 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pulled-artifacts.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pulled-state.js +423 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/pulled-state.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay-walk.js +133 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay-walk.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js +47 -127
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/replay.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js +240 -9
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/resolve.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/tag-holders.js +78 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/domain/rebase/tag-holders.js.map +1 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js +40 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/bootstrap.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/conflicts.js +4 -9
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/conflicts.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/operations/core.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js +9 -2
- package/src/runtime/vendor/flywheel-cli-dist/local/runtime/remote/push.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js +2 -0
- package/src/runtime/vendor/flywheel-cli-dist/local/store/backup/restore.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js +79 -8
- package/src/runtime/vendor/flywheel-cli-dist/local/store/pending.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js +2 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/artifacts.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js +4 -2
- package/src/runtime/vendor/flywheel-cli-dist/local/store/projection/tags.js.map +1 -1
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-arm64/node.napi.node +0 -0
- package/src/runtime/vendor/flywheel-cli-dist/prebuilds/darwin-x64/node.napi.node +0 -0
- package/src/runtime/vendor/manifest.json +13 -1
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
import { RepositoryServiceError } from "../errors.js";
|
|
2
|
+
import { isRecord } from "../models/constants.js";
|
|
3
|
+
import { valueDigest } from "../models/encoding.js";
|
|
4
|
+
import { RepositoryOperation } from "../models/operations.js";
|
|
5
|
+
import { snapshotRows } from "../../store/snapshot/schema.js";
|
|
6
|
+
import { latestValueWrites } from "../../store/latest-values.js";
|
|
7
|
+
import { snapshotLatestValue } from "../../store/sync-commits.js";
|
|
8
|
+
import { RepositoryStoreError } from "../../store/sqlite/errors.js";
|
|
9
|
+
import { conflictContext, conflictKind, conflictMapping } from "./conflicts.js";
|
|
10
|
+
import { RepositoryRebaseError } from "./context.js";
|
|
11
|
+
import { GRAPH_MEMBERSHIP } from "./graph-membership.js";
|
|
12
|
+
import { latestTarget, loadRebaseLatestValues } from "./replay.js";
|
|
13
|
+
import { listConflicts } from "./pull.js";
|
|
14
|
+
import { checkedResolution, ChoiceCheckInputs } from "./resolve.js";
|
|
15
|
+
import { snapshotHolders } from "./tag-holders.js";
|
|
16
|
+
/**
|
|
17
|
+
* Identity and relationship fields each operation type shows; its competing value is added separately.
|
|
18
|
+
* A field the operation omits is omitted too: parent_repository_id and scope_repository_id are only
|
|
19
|
+
* present when the relationship refers to another repository.
|
|
20
|
+
*/
|
|
21
|
+
const CHANGE_FIELDS = {
|
|
22
|
+
"node.create.v1": ["node_id"],
|
|
23
|
+
"node.field.set.v1": ["node_id"],
|
|
24
|
+
"node.tombstone.v1": ["node_id"],
|
|
25
|
+
"node.restore.v1": ["node_id"],
|
|
26
|
+
"node.purge.v1": ["node_id"],
|
|
27
|
+
"node.relocate.v1": ["node_id", "target_repository_id"],
|
|
28
|
+
"node.source_timestamps.recover.v1": ["node_id", "source_created_at", "source_updated_at"],
|
|
29
|
+
"containment.assign.v1": ["containment_id", "container_node_id", "child_node_id", "ordinal", "source_artifact_id"],
|
|
30
|
+
"containment.remove.v1": ["containment_id", "child_node_id"],
|
|
31
|
+
"edge.add.v1": ["edge_id", "graph_node_id", "source_node_id", "target_node_id"],
|
|
32
|
+
"edge.field.set.v1": ["edge_id"],
|
|
33
|
+
"edge.remove.v1": ["edge_id"],
|
|
34
|
+
"lineage.add.v1": ["parent_repository_id", "parent_node_id", "child_node_id"],
|
|
35
|
+
"lineage.remove.v1": ["parent_repository_id", "parent_node_id", "child_node_id"],
|
|
36
|
+
"tag.define.v1": ["scope_node_id", "tag_id", "definition"],
|
|
37
|
+
"tag.update.v1": ["scope_node_id", "tag_id", "definition"],
|
|
38
|
+
"tag.retire.v1": ["scope_node_id", "tag_id"],
|
|
39
|
+
"node.tag.assign.v1": ["scope_repository_id", "scope_node_id", "tag_id", "node_id", "new_holder"],
|
|
40
|
+
"node.tag.remove.v1": ["scope_repository_id", "scope_node_id", "tag_id", "node_id"],
|
|
41
|
+
"artifact.attach.v1": ["artifact_id", "owner", "order", "object_digest"],
|
|
42
|
+
"artifact.attach.v2": ["artifact_id", "owner", "order", "object_digest"],
|
|
43
|
+
"artifact.detach.v1": ["artifact_id", "owner"],
|
|
44
|
+
"artifact.metadata.set.v1": ["artifact_id"],
|
|
45
|
+
"artifact.properties.set.v1": ["artifact_id"],
|
|
46
|
+
"artifact.content.set.v1": ["artifact_id", "object_digest"],
|
|
47
|
+
};
|
|
48
|
+
/** Operations that take something away: a node's life or place, a relationship, a reference, or a tag. */
|
|
49
|
+
const REMOVALS = {
|
|
50
|
+
"node.tombstone.v1": true,
|
|
51
|
+
"node.purge.v1": true,
|
|
52
|
+
"node.relocate.v1": true,
|
|
53
|
+
"containment.remove.v1": true,
|
|
54
|
+
"edge.remove.v1": true,
|
|
55
|
+
"lineage.remove.v1": true,
|
|
56
|
+
"tag.retire.v1": true,
|
|
57
|
+
"node.tag.remove.v1": true,
|
|
58
|
+
"artifact.detach.v1": true,
|
|
59
|
+
};
|
|
60
|
+
const KEEP_LOCAL = { strategy: "local", effect: "Keeps this checkout's change: its operations replay after the pulled ones." };
|
|
61
|
+
const KEEP_REMOTE = { strategy: "remote", effect: "Keeps the pulled change and drops this checkout's operations on it." };
|
|
62
|
+
const MANUAL = {
|
|
63
|
+
strategy: "manual",
|
|
64
|
+
effect: "Sets the field to the exact text of the file passed with --value-file, replacing both sides' values.",
|
|
65
|
+
};
|
|
66
|
+
/** The saved rebase data a view reads: text values by digest, the pinned snapshots, and every stored conflict. */
|
|
67
|
+
class SavedRebase {
|
|
68
|
+
/** Decoded once for the whole view and shared by every choice check. */
|
|
69
|
+
inputs;
|
|
70
|
+
/** All conflicts of the rebase, so a choice is checked against the choices already recorded for the others. */
|
|
71
|
+
conflicts;
|
|
72
|
+
#written = new Map();
|
|
73
|
+
constructor(inputs, conflicts, writes) {
|
|
74
|
+
this.inputs = inputs;
|
|
75
|
+
this.conflicts = conflicts;
|
|
76
|
+
for (const write of writes)
|
|
77
|
+
this.#written.set(JSON.stringify([...write.key, write.valueDigest]), write.value);
|
|
78
|
+
}
|
|
79
|
+
/** The text a digest stands for, using only values this checkout already holds. */
|
|
80
|
+
value([ownerType, ownerId, field], digest) {
|
|
81
|
+
if (digest === valueDigest(null))
|
|
82
|
+
return { available: true, text: null, digest };
|
|
83
|
+
const key = JSON.stringify([ownerType, ownerId, field, digest]);
|
|
84
|
+
if (this.#written.has(key))
|
|
85
|
+
return { available: true, text: this.#written.get(key), digest };
|
|
86
|
+
for (const tables of [() => this.inputs.localTables(), () => this.inputs.remoteTables()]) {
|
|
87
|
+
const loaded = tables();
|
|
88
|
+
try {
|
|
89
|
+
return { available: true, text: snapshotLatestValue(loaded, ownerType, ownerId, field, digest), digest };
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
// The snapshot holds no row with this value; try the next source.
|
|
93
|
+
if (!(error instanceof RepositoryStoreError))
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { available: false, digest };
|
|
98
|
+
}
|
|
99
|
+
remoteHasEdge(edgeId) {
|
|
100
|
+
return snapshotRows(this.inputs.remoteTables(), "repository_semantic_edges").some(row => row.edge_id === edgeId);
|
|
101
|
+
}
|
|
102
|
+
/** The holders of a tag in the pulled snapshot and in this checkout's head. */
|
|
103
|
+
tagHolders(scopeNodeId, tagId) {
|
|
104
|
+
const repositoryId = this.inputs.context.remoteSnapshot.repositoryId;
|
|
105
|
+
return {
|
|
106
|
+
pulled: snapshotHolders(this.inputs.remoteTables(), repositoryId, scopeNodeId, tagId),
|
|
107
|
+
kept: snapshotHolders(this.inputs.localTables(), repositoryId, scopeNodeId, tagId),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function change(operation, data) {
|
|
112
|
+
const view = { operation_id: operation.operationId, type: operation.type, removal: REMOVALS[operation.type] === true };
|
|
113
|
+
for (const name of CHANGE_FIELDS[operation.type] ?? []) {
|
|
114
|
+
if (Object.hasOwn(operation.payload, name))
|
|
115
|
+
view[name] = operation.payload[name];
|
|
116
|
+
}
|
|
117
|
+
const written = latestTarget(operation);
|
|
118
|
+
if (written !== undefined) {
|
|
119
|
+
const [ownerType, ownerId, field, digest] = written;
|
|
120
|
+
view.field = field;
|
|
121
|
+
view.value = data.value([ownerType, ownerId, field], digest);
|
|
122
|
+
}
|
|
123
|
+
return view;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Operations that bring their owner into existence. An artifact attach is not
|
|
127
|
+
* one: it may add a reference to an artifact that already existed.
|
|
128
|
+
*/
|
|
129
|
+
const CREATES = {
|
|
130
|
+
"node.create.v1": "node",
|
|
131
|
+
"edge.add.v1": "edge",
|
|
132
|
+
};
|
|
133
|
+
/**
|
|
134
|
+
* The digest one side's first replacement of `target` expected, which is the
|
|
135
|
+
* value before that side changed it; null when that side created the owner (or
|
|
136
|
+
* created it again) before replacing it, so the value it replaced did not exist
|
|
137
|
+
* before the sides diverged; undefined when the side never replaced the field.
|
|
138
|
+
* Writes that name no earlier value (an added edge's content, an attachment's
|
|
139
|
+
* properties) are not replacements.
|
|
140
|
+
*/
|
|
141
|
+
function startingDigest(operations, target) {
|
|
142
|
+
const [ownerType, ownerId, field] = target;
|
|
143
|
+
const owned = operations.filter(operation => operation.payload[`${ownerType}_id`] === ownerId);
|
|
144
|
+
const write = owned.findIndex(operation => {
|
|
145
|
+
const written = latestTarget(operation);
|
|
146
|
+
return written !== undefined && written[0] === ownerType && written[1] === ownerId && written[2] === field &&
|
|
147
|
+
typeof operation.payload.expected_digest === "string";
|
|
148
|
+
});
|
|
149
|
+
const created = owned.findIndex(operation => CREATES[operation.type] === ownerType);
|
|
150
|
+
if (created !== -1 && (write === -1 || created < write))
|
|
151
|
+
return null;
|
|
152
|
+
return write === -1 ? undefined : owned[write].payload.expected_digest;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The value both sides started from. Only conflicts about one field value have
|
|
156
|
+
* a base, and only when each side that wrote the field started from the same
|
|
157
|
+
* digest and neither side created the owner.
|
|
158
|
+
*/
|
|
159
|
+
function base(key, local, remote, data) {
|
|
160
|
+
const target = key[0] === "node-field" ? ["node", key[1], key[2]]
|
|
161
|
+
: key[0] === "edge" ? ["edge", key[1], "content"]
|
|
162
|
+
: key[0] === "artifact-field" ? ["artifact", key[1], key[2]]
|
|
163
|
+
: key[0] === "artifact-properties" ? ["artifact", key[1], "properties"]
|
|
164
|
+
: undefined;
|
|
165
|
+
if (target === undefined)
|
|
166
|
+
return null;
|
|
167
|
+
const starts = [startingDigest(local, target), startingDigest(remote, target)];
|
|
168
|
+
if (starts.includes(null))
|
|
169
|
+
return null;
|
|
170
|
+
const digests = new Set(starts.filter(digest => digest !== undefined));
|
|
171
|
+
return digests.size === 1 ? data.value(target, [...digests][0]) : null;
|
|
172
|
+
}
|
|
173
|
+
function offeredChoices(payload, conflictKind, key, data) {
|
|
174
|
+
if (conflictKind === GRAPH_MEMBERSHIP) {
|
|
175
|
+
const keepRemoval = "Keeps the removal and drops only the edge work that depends on it.";
|
|
176
|
+
const keepEdge = "Keeps the edge work and restores only the containment it needs.";
|
|
177
|
+
return [
|
|
178
|
+
{ strategy: "local", effect: payload.removal_side === "local" ? keepRemoval : keepEdge },
|
|
179
|
+
{ strategy: "remote", effect: payload.removal_side === "remote" ? keepRemoval : keepEdge },
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
if (conflictKind === "departure") {
|
|
183
|
+
return [{
|
|
184
|
+
strategy: "remote",
|
|
185
|
+
effect: `Keeps the node's move to repository ${key[2]} and drops this checkout's operations on it; ` +
|
|
186
|
+
`flywheel repo:recover-departed ${key[2]} <directory> recovers them into a new checkout.`,
|
|
187
|
+
}];
|
|
188
|
+
}
|
|
189
|
+
// Decided from the pinned remote state, as continue does: an edge the remote history removed and added back is not removed.
|
|
190
|
+
if (conflictKind === "edge" && !data.remoteHasEdge(key[1])) {
|
|
191
|
+
return [
|
|
192
|
+
{ strategy: "local", effect: "Adds the edge back with its original identity and this checkout's content, then replays the later local edits." },
|
|
193
|
+
{ strategy: "remote", effect: "Keeps the edge removed and drops only the local work that needs it." },
|
|
194
|
+
];
|
|
195
|
+
}
|
|
196
|
+
if (conflictKind === "tag_holder") {
|
|
197
|
+
// The pulled history always leaves a holder here (tag-holders.ts); this checkout may have given the tag away again.
|
|
198
|
+
const { pulled, kept } = data.tagHolders(key[1], key[2]);
|
|
199
|
+
const outcome = kept.length === 0 ? `Leaves tag ${key[2]} with no holder, as in this checkout` : `Keeps this checkout's holder of tag ${key[2]} (node ${kept.join(", ")})`;
|
|
200
|
+
return [
|
|
201
|
+
{ strategy: "local", effect: `${outcome}: removes the tag from node ${pulled.join(", ")}, then replays this checkout's changes to who holds it.` },
|
|
202
|
+
{ strategy: "remote", effect: `Keeps the pulled holder of tag ${key[2]} (node ${pulled.join(", ")}) and drops this checkout's changes to who holds it.` },
|
|
203
|
+
];
|
|
204
|
+
}
|
|
205
|
+
return conflictKind === "node_field" ? [KEEP_LOCAL, KEEP_REMOTE, MANUAL] : [KEEP_LOCAL, KEEP_REMOTE];
|
|
206
|
+
}
|
|
207
|
+
/** Each offered choice, marked unavailable with resolve's own refusal when resolve would refuse it. */
|
|
208
|
+
function choices(conflict, payload, conflictKind, key, data) {
|
|
209
|
+
return offeredChoices(payload, conflictKind, key, data).map(choice => {
|
|
210
|
+
try {
|
|
211
|
+
// The manual text itself is only known when resolving; any text passes the same checks.
|
|
212
|
+
checkedResolution(conflict, choice.strategy, choice.strategy === "manual" ? "" : null, data.conflicts, data.inputs);
|
|
213
|
+
return { ...choice, available: true };
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
if (!(error instanceof RepositoryServiceError) || error.code === undefined)
|
|
217
|
+
throw error;
|
|
218
|
+
return { ...choice, available: false, reason: error.message };
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function operations(value) {
|
|
223
|
+
if (!Array.isArray(value) || !value.every(isRecord))
|
|
224
|
+
throw new RepositoryRebaseError("repository conflict is corrupt");
|
|
225
|
+
return value.map(mapping => RepositoryOperation.fromMapping(mapping));
|
|
226
|
+
}
|
|
227
|
+
function conflictView({ conflict, payload, localOperations, remoteOperations }, data) {
|
|
228
|
+
const key = payload.key.map(String);
|
|
229
|
+
const kind = conflictKind(payload, key);
|
|
230
|
+
const resolution = isRecord(payload.resolution)
|
|
231
|
+
? { strategy: payload.resolution.strategy, manual_value: payload.resolution.manual_value }
|
|
232
|
+
: null;
|
|
233
|
+
return {
|
|
234
|
+
conflict_id: conflict.conflictId,
|
|
235
|
+
rebase_id: conflict.rebaseId,
|
|
236
|
+
state: conflict.state,
|
|
237
|
+
kind,
|
|
238
|
+
key,
|
|
239
|
+
...(kind === GRAPH_MEMBERSHIP
|
|
240
|
+
? {
|
|
241
|
+
removal_side: payload.removal_side,
|
|
242
|
+
graph_node_ids: payload.graph_node_ids,
|
|
243
|
+
edge_ids: payload.edge_ids,
|
|
244
|
+
node_ids: payload.node_ids,
|
|
245
|
+
containment_ids: payload.containment_ids,
|
|
246
|
+
}
|
|
247
|
+
: {}),
|
|
248
|
+
base: base(key, localOperations, remoteOperations, data),
|
|
249
|
+
local_changes: localOperations.map(operation => change(operation, data)),
|
|
250
|
+
remote_changes: remoteOperations.map(operation => change(operation, data)),
|
|
251
|
+
choices: choices(conflict, payload, kind, key, data),
|
|
252
|
+
resolution,
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Describes the open rebase's conflicts, or only `conflictId`. Each stored
|
|
257
|
+
* payload is parsed once, and the rebase context is decoded once from
|
|
258
|
+
* whichever stored conflict carries it (only one does).
|
|
259
|
+
*/
|
|
260
|
+
export async function describeConflicts(store, repositoryId, conflictId) {
|
|
261
|
+
const conflicts = await listConflicts(store, repositoryId);
|
|
262
|
+
if (conflictId !== undefined && !conflicts.some(conflict => conflict.conflictId === conflictId)) {
|
|
263
|
+
throw new RepositoryServiceError("repository conflict is not active");
|
|
264
|
+
}
|
|
265
|
+
if (conflicts.length === 0)
|
|
266
|
+
return [];
|
|
267
|
+
try {
|
|
268
|
+
const stored = conflicts.map(conflict => ({ conflict, payload: conflictMapping(conflict) }));
|
|
269
|
+
const context = conflictContext(conflicts);
|
|
270
|
+
const localChronological = [...context.localCommits].reverse().flatMap(commit => commit.operations);
|
|
271
|
+
const localOrder = new Map(localChronological.map((operation, index) => [operation.operationId, index]));
|
|
272
|
+
const selected = (conflictId === undefined ? stored : stored.filter(({ conflict }) => conflict.conflictId === conflictId))
|
|
273
|
+
.map(({ conflict, payload }) => ({
|
|
274
|
+
conflict, payload,
|
|
275
|
+
localOperations: [...operations(payload.local_operations)]
|
|
276
|
+
.sort((left, right) => (localOrder.get(left.operationId) ?? 0) - (localOrder.get(right.operationId) ?? 0)),
|
|
277
|
+
remoteOperations: operations(payload.remote_operations),
|
|
278
|
+
}));
|
|
279
|
+
const participating = new Set(selected.flatMap(({ localOperations, remoteOperations }) => [...localOperations, ...remoteOperations].map(operation => operation.operationId)));
|
|
280
|
+
const involved = (commit) => commit.operations.some(operation => participating.has(operation.operationId));
|
|
281
|
+
// Every local commit's stored values: the choice checks read them for any kept local operation, not only this view's.
|
|
282
|
+
const localValues = await loadRebaseLatestValues(store, repositoryId, context.localCommits);
|
|
283
|
+
const remoteValues = context.remoteCommits.flatMap((commit, index) => involved(commit) && context.remoteLatestValues[index].length > 0 ? [latestValueWrites(commit, context.remoteLatestValues[index])] : []);
|
|
284
|
+
const inputs = new ChoiceCheckInputs(context, localValues);
|
|
285
|
+
try {
|
|
286
|
+
const data = new SavedRebase(inputs, conflicts, [...localValues.values(), ...remoteValues]
|
|
287
|
+
.flatMap(byOperation => [...byOperation.values()].flatMap(writes => [...writes.values()])));
|
|
288
|
+
return selected.map(stored => conflictView(stored, data));
|
|
289
|
+
}
|
|
290
|
+
finally {
|
|
291
|
+
inputs.close();
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (error instanceof RepositoryRebaseError)
|
|
296
|
+
throw new RepositoryServiceError(error.message, { cause: error });
|
|
297
|
+
throw error;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=conflict-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflict-view.js","sourceRoot":"","sources":["../../../../src/local/domain/rebase/conflict-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createHash } from "node:crypto";
|
|
2
|
+
import { RepositoryServiceError } from "../errors.js";
|
|
2
3
|
import { parseRebaseContext, RepositoryRebaseError, serializeRebaseContext } from "./context.js";
|
|
3
4
|
import { keysConflict, operationKey } from "./keys.js";
|
|
4
5
|
import { localOperationNodeIds } from "../models/operation-identity.js";
|
|
@@ -7,6 +8,7 @@ import { isRecord } from "../models/constants.js";
|
|
|
7
8
|
import { pulledSnapshotTables } from "../../store/snapshot/hosted.js";
|
|
8
9
|
import { snapshotTables } from "../../store/snapshot/validate.js";
|
|
9
10
|
import { GRAPH_MEMBERSHIP, graphMembershipConflicts, graphMembershipPlan, NO_GRAPH_MEMBERSHIP_PLAN, } from "./graph-membership.js";
|
|
11
|
+
import { TAG_HOLDER, tagHolderConflicts } from "./tag-holders.js";
|
|
10
12
|
function keyId(key) {
|
|
11
13
|
return canonicalBytes(key).toString("hex");
|
|
12
14
|
}
|
|
@@ -19,10 +21,13 @@ function compareKeys(left, right) {
|
|
|
19
21
|
}
|
|
20
22
|
return left.length - right.length;
|
|
21
23
|
}
|
|
22
|
-
|
|
24
|
+
/** Operations by key, leaving out `taken` (the local holder operations a tag_holder conflict decides). */
|
|
25
|
+
function operationsByKey(commits, taken = new Set()) {
|
|
23
26
|
const result = new Map();
|
|
24
27
|
for (const commit of commits) {
|
|
25
28
|
for (const operation of commit.operations) {
|
|
29
|
+
if (taken.has(operation.operationId))
|
|
30
|
+
continue;
|
|
26
31
|
const key = operationKey(operation);
|
|
27
32
|
const id = keyId(key);
|
|
28
33
|
const current = result.get(id);
|
|
@@ -46,7 +51,18 @@ function deterministicConflictId(rebaseId, key) {
|
|
|
46
51
|
const hex = raw.toString("hex");
|
|
47
52
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
48
53
|
}
|
|
49
|
-
|
|
54
|
+
/**
|
|
55
|
+
* Validated payloads by stored conflict. A RebaseConflict never changes, and
|
|
56
|
+
* one list or resolve checks every choice against every stored conflict, so
|
|
57
|
+
* each payload (one of them holds the whole rebase context) is parsed and
|
|
58
|
+
* verified once rather than once per check. Entries go with their conflicts.
|
|
59
|
+
*/
|
|
60
|
+
const MAPPINGS = new WeakMap();
|
|
61
|
+
/** A stored conflict's validated payload; shared, so callers must not change it. */
|
|
62
|
+
export function conflictMapping(conflict) {
|
|
63
|
+
const known = MAPPINGS.get(conflict);
|
|
64
|
+
if (known !== undefined)
|
|
65
|
+
return known;
|
|
50
66
|
let payload;
|
|
51
67
|
try {
|
|
52
68
|
payload = parseRepositoryJson(new TextDecoder("utf-8", { fatal: true }).decode(conflict.canonicalBytes));
|
|
@@ -60,6 +76,7 @@ function conflictMapping(conflict) {
|
|
|
60
76
|
!Array.isArray(payload.key)) {
|
|
61
77
|
throw new RepositoryRebaseError("repository conflict is corrupt");
|
|
62
78
|
}
|
|
79
|
+
MAPPINGS.set(conflict, payload);
|
|
63
80
|
return payload;
|
|
64
81
|
}
|
|
65
82
|
function conflictKey(payload) {
|
|
@@ -78,14 +95,12 @@ function pulledOperations(context) {
|
|
|
78
95
|
remoteTables: () => remote ??= pulledSnapshotTables(context.remoteSnapshot),
|
|
79
96
|
};
|
|
80
97
|
}
|
|
81
|
-
/** Graph membership conflicts between the pulled remote history and the local unpublished commits. */
|
|
82
|
-
function detectGraphMembershipConflicts(context) {
|
|
83
|
-
return graphMembershipConflicts(pulledOperations(context));
|
|
84
|
-
}
|
|
85
98
|
export function buildConflicts(input) {
|
|
86
99
|
// A key overlap wholly inside a graph_membership conflict is decided by that conflict's single choice.
|
|
87
100
|
const claimed = new Set(input.graphMembership.flatMap(conflict => conflict.localOperations.map(operation => operation.operationId)));
|
|
88
|
-
|
|
101
|
+
// A tag_holder conflict decides every local holder operation of its tag, so they join no other conflict.
|
|
102
|
+
const taken = new Set(input.tagHolders.flatMap(conflict => conflict.localOperations.map(operation => operation.operationId)));
|
|
103
|
+
const localByKey = operationsByKey(input.localCommitsNewestFirst, taken);
|
|
89
104
|
const remoteByKey = operationsByKey(input.remoteCommits);
|
|
90
105
|
const conflicting = [...localByKey.values()]
|
|
91
106
|
.filter(({ key, operations }) => !operations.every(operation => claimed.has(operation.operationId)) &&
|
|
@@ -129,6 +144,9 @@ export function buildConflicts(input) {
|
|
|
129
144
|
},
|
|
130
145
|
});
|
|
131
146
|
}
|
|
147
|
+
for (const conflict of input.tagHolders) {
|
|
148
|
+
conflicting.push({ key: conflict.key, localOperations: conflict.localOperations, remoteOperations: conflict.remoteOperations });
|
|
149
|
+
}
|
|
132
150
|
conflicting.sort((left, right) => compareKeys(left.key, right.key));
|
|
133
151
|
const context = serializeRebaseContext(input.context);
|
|
134
152
|
return conflicting.map(({ key, localOperations, remoteOperations, details }, index) => {
|
|
@@ -153,34 +171,43 @@ export function buildConflicts(input) {
|
|
|
153
171
|
};
|
|
154
172
|
});
|
|
155
173
|
}
|
|
156
|
-
/** The conflicts between a rebase context's local history and its pulled commits, including graph_membership conflicts. */
|
|
174
|
+
/** The conflicts between a rebase context's local history and its pulled commits, including graph_membership and tag_holder conflicts. */
|
|
157
175
|
export function conflictsForContext(repositoryId, rebaseId, context) {
|
|
176
|
+
const pulled = pulledOperations(context);
|
|
158
177
|
return buildConflicts({
|
|
159
178
|
repositoryId, rebaseId, localCommitsNewestFirst: context.localCommits, remoteCommits: context.remoteCommits, context,
|
|
160
|
-
graphMembership:
|
|
179
|
+
graphMembership: graphMembershipConflicts(pulled),
|
|
180
|
+
tagHolders: tagHolderConflicts({ ...pulled, repositoryId }),
|
|
161
181
|
});
|
|
162
182
|
}
|
|
183
|
+
/** The kind repo:conflicts:list reports for a conflict. */
|
|
184
|
+
export function conflictKind(payload, key) {
|
|
185
|
+
if (payload.kind === GRAPH_MEMBERSHIP)
|
|
186
|
+
return GRAPH_MEMBERSHIP;
|
|
187
|
+
// Operations without a shared key (lineage, baselines) are keyed by their type and operation ID.
|
|
188
|
+
return key[0].includes(".") ? "operation" : key[0].replaceAll("-", "_");
|
|
189
|
+
}
|
|
163
190
|
export function resolveConflictBytes(conflict, strategy, manualValue) {
|
|
164
191
|
const payload = conflictMapping(conflict);
|
|
165
192
|
if (strategy !== "local" && strategy !== "remote" && strategy !== "manual") {
|
|
166
193
|
throw new RepositoryRebaseError("repository conflict strategy is invalid");
|
|
167
194
|
}
|
|
168
|
-
const key = payload
|
|
169
|
-
if (payload.kind === GRAPH_MEMBERSHIP && strategy === "manual") {
|
|
170
|
-
throw new RepositoryRebaseError("a graph_membership conflict is resolved with --strategy local or remote; manual values apply only to node field conflicts");
|
|
171
|
-
}
|
|
195
|
+
const key = conflictKey(payload);
|
|
172
196
|
if (key[0] === "departure" && strategy !== "remote") {
|
|
173
|
-
throw new RepositoryRebaseError(`repository departure conflict requires remote resolution. Run flywheel repo:recover-departed ${
|
|
197
|
+
throw new RepositoryRebaseError(`repository departure conflict requires remote resolution. Run flywheel repo:recover-departed ${key[2]} <directory> --repo <source-checkout>.`);
|
|
174
198
|
}
|
|
175
|
-
if (strategy === "manual") {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
199
|
+
if (strategy === "manual" && key[0] !== "node-field") {
|
|
200
|
+
const id = conflict.conflictId;
|
|
201
|
+
throw new RepositoryServiceError(`This ${conflictKind(payload, key)} conflict is resolved with --strategy local or remote; manual values apply only to node field conflicts.`, {
|
|
202
|
+
code: "repository_conflict_manual_not_supported",
|
|
203
|
+
nextAction: `Run flywheel repo:conflicts:resolve ${id} --strategy local or flywheel repo:conflicts:resolve ${id} --strategy remote; ` +
|
|
204
|
+
`flywheel repo:conflicts:show ${id} describes what each keeps.`,
|
|
205
|
+
});
|
|
179
206
|
}
|
|
180
|
-
|
|
207
|
+
if (strategy === "manual" ? typeof manualValue !== "string" : manualValue !== null) {
|
|
181
208
|
throw new RepositoryRebaseError("manual conflict value is invalid");
|
|
182
209
|
}
|
|
183
|
-
return { key
|
|
210
|
+
return { key, canonicalBytes: canonicalBytes({ ...payload, resolution: { manual_value: manualValue, strategy } }) };
|
|
184
211
|
}
|
|
185
212
|
export function conflictContext(conflicts) {
|
|
186
213
|
for (const conflict of conflicts) {
|
|
@@ -206,9 +233,16 @@ export function conflictResolutionByKey(conflicts) {
|
|
|
206
233
|
}
|
|
207
234
|
let remoteDigest = null;
|
|
208
235
|
if (Array.isArray(payload.remote_operations)) {
|
|
236
|
+
// The value the pulled history left: the last write, where re-adding an edge writes its content and
|
|
237
|
+
// replacing an artifact's content writes its object digest.
|
|
209
238
|
for (const operation of [...payload.remote_operations].reverse()) {
|
|
210
|
-
if (isRecord(operation)
|
|
211
|
-
|
|
239
|
+
if (!isRecord(operation))
|
|
240
|
+
continue;
|
|
241
|
+
const written = typeof operation.new_digest === "string" ? operation.new_digest
|
|
242
|
+
: operation.type === "edge.add.v1" && typeof operation.content_digest === "string" ? operation.content_digest
|
|
243
|
+
: operation.type === "artifact.content.set.v1" && typeof operation.object_digest === "string" ? operation.object_digest : undefined;
|
|
244
|
+
if (written !== undefined) {
|
|
245
|
+
remoteDigest = written;
|
|
212
246
|
break;
|
|
213
247
|
}
|
|
214
248
|
}
|
|
@@ -217,16 +251,31 @@ export function conflictResolutionByKey(conflicts) {
|
|
|
217
251
|
}
|
|
218
252
|
return result;
|
|
219
253
|
}
|
|
254
|
+
/** IDs of the local operations a stored conflict lists. */
|
|
255
|
+
export function localOperationIds(conflict) {
|
|
256
|
+
const operations = conflictMapping(conflict).local_operations;
|
|
257
|
+
return Array.isArray(operations)
|
|
258
|
+
? operations.flatMap(operation => isRecord(operation) && typeof operation.operation_id === "string" ? [operation.operation_id] : [])
|
|
259
|
+
: [];
|
|
260
|
+
}
|
|
220
261
|
/**
|
|
221
262
|
* Compares conflicts rebuilt from the current local history with the saved
|
|
222
263
|
* ones. A saved choice carries over only while the same local and remote
|
|
223
|
-
* operations participate; otherwise the conflict is open again.
|
|
264
|
+
* operations participate; otherwise the conflict is open again. A rebase saved
|
|
265
|
+
* before tag_holder conflicts existed listed local holder operations under
|
|
266
|
+
* their node's conflict; once rebuilt, they belong to their tag's tag_holder
|
|
267
|
+
* conflict, so that saved conflict is replaced, not dropped.
|
|
224
268
|
*/
|
|
225
269
|
export function recheckConflicts(saved, rebuilt) {
|
|
226
270
|
const savedById = new Map(saved.map((conflict) => [conflict.conflictId, conflict]));
|
|
227
271
|
const rebuiltIds = new Set(rebuilt.map((conflict) => conflict.conflictId));
|
|
228
|
-
const
|
|
229
|
-
|
|
272
|
+
const tagHolderOperations = new Set(rebuilt.filter(conflict => conflictOperationKey(conflict)[0] === TAG_HOLDER).flatMap(localOperationIds));
|
|
273
|
+
const gone = saved.filter((conflict) => !rebuiltIds.has(conflict.conflictId));
|
|
274
|
+
const dropped = gone.filter(conflict => {
|
|
275
|
+
const operationIds = localOperationIds(conflict);
|
|
276
|
+
return operationIds.length === 0 || !operationIds.every(operationId => tagHolderOperations.has(operationId));
|
|
277
|
+
});
|
|
278
|
+
let changed = gone.length > 0;
|
|
230
279
|
const conflicts = rebuilt.map((conflict) => {
|
|
231
280
|
const previous = savedById.get(conflict.conflictId);
|
|
232
281
|
if (previous === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../../src/local/domain/rebase/conflicts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"conflicts.js","sourceRoot":"","sources":["../../../../src/local/domain/rebase/conflicts.ts"],"names":[],"mappings":"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"}
|