-
Notifications
You must be signed in to change notification settings - Fork 349
MacOS‐specific tools
This should already be installed once you install XCode on a Mac.
It supports diff editing and 3-pane conflict resolution. It does not support 4-pane conflict resolution.
The interface is a bit archaic, a lot of the operations are in the Actions menu.
The config below works around the fact that the opendiff
command (which also launches FileMerge) does
not wait for FileMerge to exit. With this config, you have to fully quit the FileMerge app for jj
to proceed.
[merge-tools.filemerge]
# Note: You have to fully exit FileMerge for `jj` to move on.
program = "open"
edit-args = ["-a", "FileMerge", "-n", "-W", "--args",
"-left", "$left", "-right", "$right",
"-merge", "$output"]
merge-args = ["-a", "FileMerge", "-n", "-W", "--args",
"-left", "$left", "-right", "$right",
"-ancestor", "$base", "-merge", "$output",]
Currently untested, see https://apple.stackexchange.com/questions/476348/use-apples-filemerge-from-command-line-and-have-it-wait-instead-of-exiting-imme/476359?noredirect=1#comment713493_476359.
It seems to support diff editing but not conflict resolution. According to the docs, it's a free feature of BBEdit, though you have to use up the 30-day trial to try it (which is why I haven't tried it yet) and to check that it actually works properly in the free version.