Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
difftool/mergetool: add diffuse as merge and diff tool
author
Sebastian Pipping
<sebastian@pipping.org>
Mon, 6 Apr 2009 08:31:23 +0000
(
01:31
-0700)
committer
Junio 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
patch
|
blob
|
history
Documentation/merge-config.txt
patch
|
blob
|
history
contrib/completion/git-completion.bash
patch
|
blob
|
history
contrib/difftool/git-difftool-helper
patch
|
blob
|
history
contrib/difftool/git-difftool.txt
patch
|
blob
|
history
git-mergetool.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
8b73322
)
diff --git
a/Documentation/git-mergetool.txt
b/Documentation/git-mergetool.txt
index 5edac4d267bdc33fd958b1e84a3768433fbfe58d..ff9700d17a333f50d6509bc14a0bd81fad876d3b 100644
(file)
--- a/
Documentation/git-mergetool.txt
+++ b/
Documentation/git-mergetool.txt
@@
-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,
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
+
If a merge resolution program is not specified, 'git-mergetool'
will use the configuration variable `merge.tool`. If the
diff --git
a/Documentation/merge-config.txt
b/Documentation/merge-config.txt
index 8c10f66702022b460a7c3ada8daa83f51b1f1e90..4832bc75e2604c997e004018023e3b93cb394b87 100644
(file)
--- a/
Documentation/merge-config.txt
+++ b/
Documentation/merge-config.txt
@@
-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",
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.
"opendiff". Any other value is treated is custom merge tool
and there must be a corresponding mergetool.<tool>.cmd option.
diff --git
a/contrib/completion/git-completion.bash
b/contrib/completion/git-completion.bash
index d3d8203171a3c7c221399dd6d79c8429c5006bcc..e099ed48ff3a37789c893ef14d3c21cbbe169835 100755
(executable)
--- a/
contrib/completion/git-completion.bash
+++ b/
contrib/completion/git-completion.bash
@@
-1174,7
+1174,8
@@
_git_mergetool ()
--tool=*)
__gitcomp "
kdiff3 tkdiff meld xxdiff emerge
--tool=*)
__gitcomp "
kdiff3 tkdiff meld xxdiff emerge
- vimdiff gvimdiff ecmerge opendiff
+ vimdiff gvimdiff ecmerge diffuse
+ opendiff
" "" "${cur##--tool=}"
return
;;
" "" "${cur##--tool=}"
return
;;
diff --git
a/contrib/difftool/git-difftool-helper
b/contrib/difftool/git-difftool-helper
index e74a2747b64fdedb36ae14cdf2fa4285a2237388..4b0daec5a7d0d90c18967974b87afbcc5fb6dc8b 100755
(executable)
--- a/
contrib/difftool/git-difftool-helper
+++ b/
contrib/difftool/git-difftool-helper
@@
-1,7
+1,5
@@
#!/bin/sh
# git-difftool-helper is a GIT_EXTERNAL_DIFF-compatible diff tool launcher.
#!/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.
#
# This script is typically launched by using the 'git difftool'
# convenience command.
#
@@
-55,6
+53,10
@@
launch_merge_tool () {
"$merge_tool_path" "$LOCAL" "$REMOTE"
;;
"$merge_tool_path" "$LOCAL" "$REMOTE"
;;
+ diffuse)
+ "$merge_tool_path" "$LOCAL" "$REMOTE" | cat
+ ;;
+
vimdiff)
"$merge_tool_path" -d -c "wincmd l" "$LOCAL" "$REMOTE"
;;
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
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
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
fi
fi
if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then
diff --git
a/contrib/difftool/git-difftool.txt
b/contrib/difftool/git-difftool.txt
index a00e9431c596431bc61600db3775a36b5ff7d521..af68466ebc95bbac739a48cb5f1caf3869d2ba3c 100644
(file)
--- a/
contrib/difftool/git-difftool.txt
+++ b/
contrib/difftool/git-difftool.txt
@@
-25,8
+25,8
@@
OPTIONS
--tool=<tool>::
Use the diff tool specified by <tool>.
Valid merge tools are:
--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
+
If a diff tool is not specified, 'git-difftool'
will use the configuration variable `diff.tool`. If the
diff --git
a/git-mergetool.sh
b/git-mergetool.sh
index be9717a2f10577c8cb83dc124bda4e6169ee39e9..b4d2432f02097bf9d75557a28b55200a223554f7 100755
(executable)
--- a/
git-mergetool.sh
+++ b/
git-mergetool.sh
@@
-414,9
+414,9
@@
fi
if test -z "$merge_tool" ; then
if test -n "$DISPLAY"; then
if test -n "$GNOME_DESKTOP_SESSION_ID" ; then
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
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
fi
fi
if echo "${VISUAL:-$EDITOR}" | grep 'emacs' > /dev/null 2>&1; then