Changes since v9: - Rename automerge to hideResolved. Several mergetools have a feature that they call "automerge", "auto merge", or "auto solve" and Git has a `mergetool.meld.useAutoMerge` flag so I think it's better to avoid potential confusion. Plus Git already performed the merge and this doesn't do any additional merging, instead it just "hides" conflicts that Git already resolved. - Reworked and consolidated commits and commit messages. - Add preference hierarchy. Followed Junio's suggestions: https://lore.kernel.org/git/xmqqpn2ivcc1.fsf@xxxxxxxxxxxxxxxxxxxxxx/ - Switch from sed to two merge-file calls. Thanks to everyone who helped with all the suggestions and fixup!s to get sed working cross-platform. Unfortunately there's not a great, portable method to preserve carriage returns when using both autocrlf and MSYS2: https://lore.kernel.org/git/20210120232447.GA35105@ellen/ Although calling merge-file twice is (much) less efficient than sed it's still fairly quick for small files. For large files it's likely opening those files in a mergetool will have a higher overhead than the merge-file invocations: https://lore.kernel.org/git/20210122010902.GA48178@ellen/ A potential future optimisation could be to augment the C implementation (xmerge.c ?) with a flag to write two files as the merge is being performed instead of writing conflict markers. - Kept `initialize_merge_tool` wrapper. I updated the commit message where `initialize_merge_tool` is introduced to try and better explain my thinking for not simply exposing `setup_tool` instead. I'm happy to switch that if anyone still feels it should be switched. Seth House (3): mergetool: add hideResolved configuration mergetool: break setup_tool out into separate initialization function mergetool: add per-tool support and overrides for the hideResolved flag Documentation/config/mergetool.txt | 15 +++++++++++++++ Documentation/git-mergetool--lib.txt | 4 ++++ git-difftool--helper.sh | 6 ++++++ git-mergetool--lib.sh | 11 ++++++++--- git-mergetool.sh | 26 ++++++++++++++++++++++++++ t/t7610-mergetool.sh | 18 ++++++++++++++++++ 6 files changed, 77 insertions(+), 3 deletions(-) -- 2.29.2