Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
mergetool--lib: Add Beyond Compare 3 as a tool
author
Sebastian Schuberth
<sschuberth@gmail.com>
Sun, 27 Feb 2011 11:32:46 +0000
(12:32 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Mon, 28 Feb 2011 20:42:38 +0000
(12:42 -0800)
Signed-off-by: Sebastian Schuberth <sschuberth@gmail.com>
Tested-by: Chris Packham <judge.packham@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-difftool.txt
patch
|
blob
|
history
Documentation/git-mergetool.txt
patch
|
blob
|
history
Documentation/merge-config.txt
patch
|
blob
|
history
contrib/completion/git-completion.bash
patch
|
blob
|
history
git-mergetool--lib.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
aa03f60
)
diff --git
a/Documentation/git-difftool.txt
b/Documentation/git-difftool.txt
index 4c8825d19347cc895a9c9764cd60a111b1ad5f56..f087eff8763288d298f0d58ee24e3f2f07003b3a 100644
(file)
--- a/
Documentation/git-difftool.txt
+++ b/
Documentation/git-difftool.txt
@@
-31,7
+31,7
@@
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:
- araxis, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
+ araxis,
bc3,
diffuse, emerge, ecmerge, gvimdiff, kdiff3,
kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
+
If a diff tool is not specified, 'git difftool'
kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
+
If a diff tool is not specified, 'git difftool'
diff --git
a/Documentation/git-mergetool.txt
b/Documentation/git-mergetool.txt
index 4987245aca2877f233ab26f2cf244430b2da8211..740b3f1e670552d3331bb2de2754c46c68be222a 100644
(file)
--- a/
Documentation/git-mergetool.txt
+++ b/
Documentation/git-mergetool.txt
@@
-26,7
+26,7
@@
OPTIONS
--tool=<tool>::
Use the merge resolution program specified by <tool>.
Valid merge tools are:
--tool=<tool>::
Use the merge resolution program specified by <tool>.
Valid merge tools are:
- araxis, diffuse, ecmerge, emerge, gvimdiff, kdiff3,
+ araxis,
bc3,
diffuse, ecmerge, emerge, gvimdiff, kdiff3,
meld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.
+
If a merge resolution program is not specified, 'git mergetool'
meld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.
+
If a merge resolution program is not specified, 'git mergetool'
diff --git
a/Documentation/merge-config.txt
b/Documentation/merge-config.txt
index 90587db169870c682e747440b507273152e1e348..33bf74c334ead9ee5e44d81d15d544b0625f2894 100644
(file)
--- a/
Documentation/merge-config.txt
+++ b/
Documentation/merge-config.txt
@@
-34,7
+34,7
@@
merge.stat::
merge.tool::
Controls which merge resolution program is used by
linkgit:git-mergetool[1]. Valid built-in values are: "araxis",
merge.tool::
Controls which merge resolution program is used by
linkgit:git-mergetool[1]. Valid built-in values are: "araxis",
- "diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
+ "
bc3", "
diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
"opendiff", "p4merge", "tkdiff", "tortoisemerge", "vimdiff"
and "xxdiff". Any other value is treated is custom merge tool
and there must be a corresponding mergetool.<tool>.cmd option.
"opendiff", "p4merge", "tkdiff", "tortoisemerge", "vimdiff"
and "xxdiff". 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 893b7716cafa4811d237480a980140d308aa20dc..058c2a92b823e420d0cffd23bdcde49d08d7bb0e 100755
(executable)
--- a/
contrib/completion/git-completion.bash
+++ b/
contrib/completion/git-completion.bash
@@
-1358,7
+1358,7
@@
_git_diff ()
}
__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
}
__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
- tkdiff vimdiff gvimdiff xxdiff araxis p4merge
+ tkdiff vimdiff gvimdiff xxdiff araxis p4merge
bc3
"
_git_difftool ()
"
_git_difftool ()
diff --git
a/git-mergetool--lib.sh
b/git-mergetool--lib.sh
index efca09f51f58f289815402bfe84b04e12149904b..eeefb9c29946fc748e6278d571e7c07e67e144bc 100644
(file)
--- a/
git-mergetool--lib.sh
+++ b/
git-mergetool--lib.sh
@@
-13,6
+13,9
@@
translate_merge_tool_path () {
araxis)
echo compare
;;
araxis)
echo compare
;;
+ bc3)
+ echo bcompare
+ ;;
emerge)
echo emacs
;;
emerge)
echo emacs
;;
@@
-46,7
+49,7
@@
check_unchanged () {
valid_tool () {
case "$1" in
valid_tool () {
case "$1" in
- araxis | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \
+ araxis |
bc3 |
diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \
kdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)
;; # happy
kompare)
kdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)
;; # happy
kompare)
@@
-106,6
+109,21
@@
run_merge_tool () {
>/dev/null 2>&1
fi
;;
>/dev/null 2>&1
fi
;;
+ bc3)
+ if merge_mode; then
+ touch "$BACKUP"
+ if $base_present; then
+ "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" \
+ -mergeoutput="$MERGED"
+ else
+ "$merge_tool_path" "$LOCAL" "$REMOTE" \
+ -mergeoutput="$MERGED"
+ fi
+ check_unchanged
+ else
+ "$merge_tool_path" "$LOCAL" "$REMOTE"
+ fi
+ ;;
diffuse)
if merge_mode; then
touch "$BACKUP"
diffuse)
if merge_mode; then
touch "$BACKUP"
@@
-342,7
+360,7
@@
guess_merge_tool () {
else
tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
fi
else
tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
fi
- tools="$tools gvimdiff diffuse ecmerge p4merge araxis"
+ tools="$tools gvimdiff diffuse ecmerge p4merge araxis
bc3
"
fi
case "${VISUAL:-$EDITOR}" in
*vim*)
fi
case "${VISUAL:-$EDITOR}" in
*vim*)