@matheusbsbs / matheus-bagliano / commits / ffe6dc081a
Fork 0

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*)