From 9cec65399d3575774910b21c1cfd762a5e88a245 Mon Sep 17 00:00:00 2001 From: James Bowes Date: Sun, 18 Mar 2007 22:11:54 -0400 Subject: [PATCH] mergetool: Add support for vimdiff. Signed-off-by: James Bowes Signed-off-by: "Theodore Ts'o" --- Documentation/config.txt | 2 +- Documentation/git-mergetool.txt | 2 +- git-mergetool.sh | 8 +++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Documentation/config.txt b/Documentation/config.txt index 953acaee4..66886424b 100644 --- a/Documentation/config.txt +++ b/Documentation/config.txt @@ -460,7 +460,7 @@ merge.summary:: merge.tool:: Controls which merge resolution program is used by gitlink:git-mergetool[l]. Valid values are: "kdiff3", "tkdiff", - "meld", "xxdiff", "emerge" + "meld", "xxdiff", "emerge", "vimdiff" merge.verbosity:: Controls the amount of output shown by the recursive merge diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index ae69a0eb8..5baaaca0b 100644 --- a/Documentation/git-mergetool.txt +++ b/Documentation/git-mergetool.txt @@ -25,7 +25,7 @@ OPTIONS -t or --tool=:: Use the merge resolution program specified by . Valid merge tools are: - kdiff3, tkdiff, meld, xxdiff, and emerge. + kdiff3, tkdiff, meld, xxdiff, emerge, and vimdiff. 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 52386a544..563c5c048 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -185,9 +185,9 @@ merge_file () { mv -- "$BACKUP" "$path.orig" fi ;; - meld) + meld|vimdiff) touch "$BACKUP" - meld -- "$LOCAL" "$path" "$REMOTE" + $merge_tool -- "$LOCAL" "$path" "$REMOTE" if test "$path" -nt "$BACKUP" ; then status=0; else @@ -305,6 +305,8 @@ if test -z "$merge_tool" ; then merge_tool=meld elif type emacs >/dev/null 2>&1; then merge_tool=emerge + elif type vimdiff >/dev/null 2>&1; then + merge_tool=vimdiff else echo "No available merge resolution programs available." exit 1 @@ -312,7 +314,7 @@ if test -z "$merge_tool" ; then fi case "$merge_tool" in - kdiff3|tkdiff|meld|xxdiff) + kdiff3|tkdiff|meld|xxdiff|vimdiff) if ! type "$merge_tool" > /dev/null 2>&1; then echo "The merge tool $merge_tool is not available" exit 1 -- 2.30.2