difftool/mergetool: add diffuse as merge and diff tool
authorSebastian Pipping <sebastian@pipping.org>
Mon, 6 Apr 2009 08:31:23 +0000 (01:31 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 8 Apr 2009 05:19:56 +0000 (22:19 -0700)
This adds diffuse as a built-in merge tool.

Signed-off-by: Sebastian Pipping <sebastian@pipping.org>
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-mergetool.txt
Documentation/merge-config.txt
contrib/completion/git-completion.bash
contrib/difftool/git-difftool-helper
contrib/difftool/git-difftool.txt
git-mergetool.sh

index 5edac4d..ff9700d 100644 (file)
@@ -27,7 +27,7 @@ OPTIONS
        Use the merge resolution program specified by <tool>.
        Valid merge tools are:
        kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
-       tortoisemerge and opendiff
+       diffuse, tortoisemerge and opendiff
 +
 If a merge resolution program is not specified, 'git-mergetool'
 will use the configuration variable `merge.tool`.  If the
index 8c10f66..4832bc7 100644 (file)
@@ -23,7 +23,7 @@ merge.tool::
        Controls which merge resolution program is used by
        linkgit:git-mergetool[1].  Valid built-in values are: "kdiff3",
        "tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff",
-       "ecmerge", tortoisemerge and
+       "diffuse", "ecmerge", "tortoisemerge", and
        "opendiff".  Any other value is treated is custom merge tool
        and there must be a corresponding mergetool.<tool>.cmd option.
 
index d3d8203..e099ed4 100755 (executable)
@@ -1174,7 +1174,8 @@ _git_mergetool ()
        --tool=*)
                __gitcomp "
                        kdiff3 tkdiff meld xxdiff emerge
-                       vimdiff gvimdiff ecmerge opendiff
+                       vimdiff gvimdiff ecmerge diffuse
+                       opendiff
                        " "" "${cur##--tool=}"
                return
                ;;
index e74a274..4b0daec 100755 (executable)
@@ -1,7 +1,5 @@
 #!/bin/sh
 # git-difftool-helper is a GIT_EXTERNAL_DIFF-compatible diff tool launcher.
-# It supports kdiff3, kompare, tkdiff, xxdiff, meld, opendiff,
-# emerge, ecmerge, vimdiff, gvimdiff, and custom user-configurable tools.
 # This script is typically launched by using the 'git difftool'
 # convenience command.
 #
@@ -55,6 +53,10 @@ launch_merge_tool () {
                "$merge_tool_path" "$LOCAL" "$REMOTE"
                ;;
 
+       diffuse)
+               "$merge_tool_path" "$LOCAL" "$REMOTE" | cat
+               ;;
+
        vimdiff)
                "$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$REMOTE"
                ;;
@@ -164,9 +166,9 @@ if test -z "$merge_tool"; then
        if test -n "$DISPLAY"; then
                # If gnome then prefer meld, otherwise, prefer kdiff3 or kompare
                if test -n "$GNOME_DESKTOP_SESSION_ID" ; then
-                       merge_tool_candidates="meld kdiff3 kompare tkdiff xxdiff gvimdiff"
+                       merge_tool_candidates="meld kdiff3 kompare tkdiff xxdiff gvimdiff diffuse"
                else
-                       merge_tool_candidates="kdiff3 kompare tkdiff xxdiff meld gvimdiff"
+                       merge_tool_candidates="kdiff3 kompare tkdiff xxdiff meld gvimdiff diffuse"
                fi
        fi
        if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then
index a00e943..af68466 100644 (file)
@@ -25,8 +25,8 @@ OPTIONS
 --tool=<tool>::
        Use the diff tool specified by <tool>.
        Valid merge tools are:
-       kdiff3, kompare, tkdiff, meld, xxdiff, emerge,
-       vimdiff, gvimdiff, ecmerge, and opendiff
+       kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff,
+       ecmerge, diffuse and opendiff
 +
 If a diff tool is not specified, 'git-difftool'
 will use the configuration variable `diff.tool`.  If the
index be9717a..b4d2432 100755 (executable)
@@ -414,9 +414,9 @@ fi
 if test -z "$merge_tool" ; then
     if test -n "$DISPLAY"; then
         if test -n "$GNOME_DESKTOP_SESSION_ID" ; then
-            merge_tool_candidates="meld kdiff3 tkdiff xxdiff tortoisemerge gvimdiff"
+            merge_tool_candidates="meld kdiff3 tkdiff xxdiff tortoisemerge gvimdiff diffuse"
         else
-            merge_tool_candidates="kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff"
+            merge_tool_candidates="kdiff3 tkdiff xxdiff meld tortoisemerge gvimdiff diffuse"
         fi
     fi
     if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then