mergetool--lib: Add Beyond Compare 3 as a tool
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>
Sebastian Schuberth committed
Feb 27, 2011 at 12:32 UTC
ffe6dc081aa23d56e6306d143d99ca508db38c5e
5 files changed
+24
-6
Documentation/git-difftool.txt
+1
-1
@@ -31,7 +31,7 @@ OPTIONS
31
--tool=<tool>::
32
Use the diff tool specified by <tool>.
33
Valid merge tools are:
34
- araxis, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
34
+ araxis, bc3, diffuse, emerge, ecmerge, gvimdiff, kdiff3,
35
kompare, meld, opendiff, p4merge, tkdiff, vimdiff and xxdiff.
36
+
37
If a diff tool is not specified, 'git difftool'
Documentation/git-mergetool.txt
+1
-1
@@ -26,7 +26,7 @@ OPTIONS
26
--tool=<tool>::
27
Use the merge resolution program specified by <tool>.
28
Valid merge tools are:
29
- araxis, diffuse, ecmerge, emerge, gvimdiff, kdiff3,
29
+ araxis, bc3, diffuse, ecmerge, emerge, gvimdiff, kdiff3,
30
meld, opendiff, p4merge, tkdiff, tortoisemerge, vimdiff and xxdiff.
31
+
32
If a merge resolution program is not specified, 'git mergetool'
Documentation/merge-config.txt
+1
-1
@@ -34,7 +34,7 @@ merge.stat::
34
merge.tool::
35
Controls which merge resolution program is used by
36
linkgit:git-mergetool[1]. Valid built-in values are: "araxis",
37
- "diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
37
+ "bc3", "diffuse", "ecmerge", "emerge", "gvimdiff", "kdiff3", "meld",
38
"opendiff", "p4merge", "tkdiff", "tortoisemerge", "vimdiff"
39
and "xxdiff". Any other value is treated is custom merge tool
40
and there must be a corresponding mergetool.<tool>.cmd option.
contrib/completion/git-completion.bash
+1
-1
@@ -1358,7 +1358,7 @@ _git_diff ()
1358
}
1359
1360
__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
1361
- tkdiff vimdiff gvimdiff xxdiff araxis p4merge
1361
+ tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3
1362
"
1363
1364
_git_difftool ()
git-mergetool--lib.sh
+20
-2
@@ -13,6 +13,9 @@ translate_merge_tool_path () {
13
araxis)
14
echo compare
15
;;
16
+ bc3)
17
+ echo bcompare
18
+ ;;
19
emerge)
20
echo emacs
21
;;
@@ -46,7 +49,7 @@ check_unchanged () {
49
50
valid_tool () {
51
case "$1" in
49
- araxis | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \
52
+ araxis | bc3 | diffuse | ecmerge | emerge | gvimdiff | gvimdiff2 | \
53
kdiff3 | meld | opendiff | p4merge | tkdiff | vimdiff | vimdiff2 | xxdiff)
54
;; # happy
55
kompare)
@@ -106,6 +109,21 @@ run_merge_tool () {
109
>/dev/null 2>&1
110
fi
111
;;
112
+ bc3)
113
+ if merge_mode; then
114
+ touch "$BACKUP"
115
+ if $base_present; then
116
+ "$merge_tool_path" "$LOCAL" "$REMOTE" "$BASE" \
117
+ -mergeoutput="$MERGED"
118
+ else
119
+ "$merge_tool_path" "$LOCAL" "$REMOTE" \
120
+ -mergeoutput="$MERGED"
121
+ fi
122
+ check_unchanged
123
+ else
124
+ "$merge_tool_path" "$LOCAL" "$REMOTE"
125
+ fi
126
+ ;;
127
diffuse)
128
if merge_mode; then
129
touch "$BACKUP"
@@ -342,7 +360,7 @@ guess_merge_tool () {
360
else
361
tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
362
fi
345
- tools="$tools gvimdiff diffuse ecmerge p4merge araxis"
363
+ tools="$tools gvimdiff diffuse ecmerge p4merge araxis bc3"
364
fi
365
case "${VISUAL:-$EDITOR}" in
366
*vim*)