diff options
-rw-r--r-- | Documentation/git-mergetool.txt | 2 | ||||
-rwxr-xr-x | git-mergetool.sh | 12 |
2 files changed, 12 insertions, 2 deletions
diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index 78b2f433b0..a26c260162 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -25,7 +25,7 @@ OPTIONS -t or --tool=<tool>:: Use the merge resolution program specified by <tool>. Valid merge tools are: - kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, and opendiff + kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff + If a merge resolution program is not specified, 'git mergetool' will use the configuration variable merge.tool. If the diff --git a/git-mergetool.sh b/git-mergetool.sh index 4f89cbe8e6..94511f9d1a 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -250,6 +250,16 @@ merge_file () { check_unchanged save_backup ;; + ecmerge) + touch "$BACKUP" + if base_present; then + "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" --mode=merge3 --to="$path" + else + "$merge_tool_path" "$LOCAL" "$REMOTE" --mode=merge2 --to="$path" + fi + check_unchanged + save_backup + ;; emerge) if base_present ; then "$merge_tool_path" -f emerge-files-with-ancestor-command "$LOCAL" "$REMOTE" "$BASE" "$(basename "$path")" @@ -299,7 +309,7 @@ done valid_tool() { case "$1" in - kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff) + kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | ecmerge) ;; # happy *) return 1 |