I'm using vimdiff as my mergetool, and have the following lines in ~/.gitconfig:
[merge] tool = vimdiff [mergetool "vimdiff"] trustExitCode = true My understanding from the docs is that this sets mergetool.vimdiff.trustExitCode to true, thereby concluding that a merge hasn't been successful if vimdiff's exit code is non-zero. Unfortunately, when I exit Vim using `:cq` - which returns code 1 - the merge is still presumed to have succeeded. Is there a way to accomplish the desired effect, such that exiting vimdiff with a non-zero code would prevent git from resolving the conflict in the merged file?