Conflict Resolution
jj allows conflicts to exist inside committed changes. This is different from git, which forces you to resolve conflicts before you can commit.
Conflict commits
Section titled “Conflict commits”When a rebase or merge creates conflicts, jj records them inside a special commit marked with a conflict marker in the log. In wyrmflow, these rows appear with a warning indicator.
You can continue working, push to a stack, or come back to resolve later — the conflict is preserved safely.
Resolving a conflict in wyrmflow
Section titled “Resolving a conflict in wyrmflow”- Click the conflicted commit in the log.
- The diff panel highlights conflict regions.
- Click Resolve (or press
⌘R/Ctrl+R) to open your configured merge tool. - After saving and closing the tool, wyrmflow snapshots the resolved state automatically.
Configuring a merge tool
Section titled “Configuring a merge tool”wyrmflow picks up the merge tool from your jj config:
[ui]merge-editor = "vscode" # or "vimdiff", "meld", "difftool", etc.You can also set this from Preferences → Repository → Merge tool.
Conflict markers
Section titled “Conflict markers”If you prefer to resolve by hand, the conflict region looks like:
<<<<<<< Conflict 1 of 1+++++++ Contents of side #1fn greet() { "hello" }------- Contents of basefn greet() { "hi" }+++++++ Contents of side #2fn greet() { "hey" }>>>>>>> Conflict 1 of 1 endsDelete the markers and keep the version you want, then save — jj will detect the resolution on the next snapshot.