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@gitster.c.googlers.com/
- 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(-)