CLI Merge: Do not transfer UUID of source node when creating new nodes
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 21
- Forks
- 23
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 17
Description
When creating new nodes as a result of a merge, the new node in the target must either:
- have no UUID at all (let Lightning create it later)
b) Have its own unique UUID
Right now, when merging, it seem the UUID is copied from the source. Which is incorrect and does not match the Lightning behaviour.
Sample code from the integration test repo:
const main = `x-y`;
const staging = `x-y y-z`;
const expected = `x-y y-z`;
const newUuids = {
z: 2004, // Wait, this should NOT copy the UUID from staging
"y-z": 2005,
};
await merge(ctx, main, staging, expected, newUuids);
Side note: when the CLI generates UUIDs, how can we make them predictable?
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the CLI merge entry point and the integration test repo's merge helper shown in the issue. Trace how UUIDs are assigned to nodes created from the source, then update or add coverage for the sample merge so a new target node does not reuse the source UUID. Done means the merge preserves existing nodes and gives newly created nodes no copied UUID, with predictable generation addressed only if the current tests require it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100