-
Notifications
You must be signed in to change notification settings - Fork 753
Diff and merge tools
Stephen Jennings edited this page Sep 17, 2025
·
2 revisions
Jujutsu uses diff and merge tools for three purposes:
- Diff viewing.
-
Diff editing edits a revision or selects a subset of changes from a revision. This is used for most
--interactivemodes. - Merging resolves a merge conflict.
Beyond Compare is neither free as in freedom nor free as in beer. Only the "Pro" edition seems usable for version control.
They do have a generous free trial. It's "30 days", but this only counts the days you actively use the program.
Beyond Compare can (mostly) substitute for meld for 3-pane diff editing.
Here are some decent configs for Linux.
[merge-tools.bc]
program = "bcompare" # On MacOS, this should be "bcomp".
edit-args = ["$left", "$right", "-ro1", "-expandall"]
merge-args = ["$left", "$right", "$base", "$output", "-automerge", "-reviewconflicts"]
[merge-tools.bc-3]
# Alternative config similar to `meld-3`.
program="bcompare" # On MacOS, this should be "bcomp".
edit-args = ["$left", "$right", "-expandall", "-mergeoutput=$right", "-ro1", "-ro2"]
# Optionally, can copy `merge-args` from the above exampleFor MacOS, see the comment: you need to use bcomp instead of bcompare.
On Windows, the configuration should be similar but use /blah instead of -blah for options:
[merge-tools.bc]
program = "bcomp" # You may need to provide a full path to BComp.exe
edit-args = ["$left", "$right", "/leftreadonly", "/expandall"]
merge-args = ["$left", "$right", "$base", "$output", "/automerge", "/reviewconflicts"]
[merge-tools.bc-3]
program = "bcomp" # You may need to provide a full path to BComp.exe
edit-args = ["$left", "$right", "/expandall", "/mergeoutput=$right", "/leftreadonly", "/rightreadonly"]