summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e58db03)
raw | patch | inline | side by side (parent: e58db03)
author | Dan McGee <dpmcgee@gmail.com> | |
Wed, 6 Jun 2007 01:19:47 +0000 (21:19 -0400) | ||
committer | Theodore Ts'o <tytso@mit.edu> | |
Sun, 10 Jun 2007 12:27:29 +0000 (08:27 -0400) |
Signed-off-by: Dan McGee <dpmcgee@gmail.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Documentation/config.txt | patch | blob | history | |
Documentation/git-mergetool.txt | patch | blob | history | |
git-mergetool.sh | patch | blob | history |
index de408b6571c38c508c42a96d9d622226e401258e..a2057d9d24432c6092fa875454f2ebdd6b5dec89 100644 (file)
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
merge.tool::
Controls which merge resolution program is used by
gitlink:git-mergetool[l]. Valid values are: "kdiff3", "tkdiff",
- "meld", "xxdiff", "emerge", "vimdiff", and "opendiff"
+ "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and "opendiff".
merge.verbosity::
Controls the amount of output shown by the recursive merge
index b89c51c65b78e38c99a29f8e0b330039d1421ec2..6c32c6d18ead2047ce590e2853bbc1a5a2dd1e7c 100644 (file)
-t or --tool=<tool>::
Use the merge resolution program specified by <tool>.
Valid merge tools are:
- kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, and opendiff
+ kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, 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 bb21b037d65f5a63ba461647b449c9390cb1488f..c9a90cd69e3d0261ffb3cade6531d91a56a6dbdd 100755 (executable)
--- a/git-mergetool.sh
+++ b/git-mergetool.sh
check_unchanged
save_backup
;;
+ gvimdiff)
+ touch "$BACKUP"
+ gvimdiff -f -- "$LOCAL" "$path" "$REMOTE"
+ check_unchanged
+ save_backup
+ ;;
xxdiff)
touch "$BACKUP"
if base_present ; then
if test -z "$merge_tool"; then
merge_tool=`git-config merge.tool`
case "$merge_tool" in
- kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | "")
+ kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | "")
;; # happy
*)
echo >&2 "git config option merge.tool set to unknown tool: $merge_tool"
merge_tool=xxdiff
elif type meld >/dev/null 2>&1 && test -n "$DISPLAY"; then
merge_tool=meld
+ elif type gvimdiff >/dev/null 2>&1 && test -n "$DISPLAY"; then
+ merge_tool=gvimdiff
elif type opendiff >/dev/null 2>&1; then
merge_tool=opendiff
elif type emacs >/dev/null 2>&1; then
fi
case "$merge_tool" in
- kdiff3|tkdiff|meld|xxdiff|vimdiff|opendiff)
+ kdiff3|tkdiff|meld|xxdiff|vimdiff|gvimdiff|opendiff)
if ! type "$merge_tool" > /dev/null 2>&1; then
echo "The merge tool $merge_tool is not available"
exit 1