diff options
author | David Aguilar <davvid@gmail.com> | 2009-05-24 00:24:41 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-05-24 11:21:05 -0700 |
commit | b6f0621a462e4ff11999c8e2d8279c0ffd3be201 (patch) | |
tree | c054ccc5f9f12c8db69de036c9d868a458ca2d48 | |
parent | 4481ff048df4c86021d783de6f099909495f04ff (diff) | |
download | git-b6f0621a462e4ff11999c8e2d8279c0ffd3be201.tar.gz git-b6f0621a462e4ff11999c8e2d8279c0ffd3be201.tar.xz |
mergetool--lib: add support for araxis merge
Araxis merge is now a built-in diff/merge tool.
This adds araxis to git-completion and updates
the documentation to mention araxis.
Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | Documentation/git-difftool.txt | 2 | ||||
-rw-r--r-- | Documentation/git-mergetool.txt | 2 | ||||
-rw-r--r-- | Documentation/merge-config.txt | 2 | ||||
-rwxr-xr-x | contrib/completion/git-completion.bash | 2 | ||||
-rw-r--r-- | git-mergetool--lib.sh | 25 |
5 files changed, 27 insertions, 6 deletions
diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt index 15b247bab..96a6c51a4 100644 --- a/Documentation/git-difftool.txt +++ b/Documentation/git-difftool.txt @@ -31,7 +31,7 @@ OPTIONS Use the diff tool specified by <tool>. Valid merge tools are: kdiff3, kompare, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, - ecmerge, diffuse and opendiff + ecmerge, diffuse, opendiff and araxis. + If a diff tool is not specified, 'git-difftool' will use the configuration variable `diff.tool`. If the diff --git a/Documentation/git-mergetool.txt b/Documentation/git-mergetool.txt index ff9700d17..68ed6c095 100644 --- 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, - diffuse, tortoisemerge and opendiff + diffuse, tortoisemerge, opendiff and araxis. + 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 4832bc75e..c0f96e707 100644 --- 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", - "diffuse", "ecmerge", "tortoisemerge", and + "diffuse", "ecmerge", "tortoisemerge", "araxis", and "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 1683e6d7b..ead530d3a 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -911,7 +911,7 @@ _git_diff () } __git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff - tkdiff vimdiff gvimdiff xxdiff + tkdiff vimdiff gvimdiff xxdiff araxis " _git_difftool () diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh index 8b5e6a8c6..bfb01f784 100644 --- a/git-mergetool--lib.sh +++ b/git-mergetool--lib.sh @@ -18,6 +18,9 @@ translate_merge_tool_path () { emerge) echo emacs ;; + araxis) + echo compare + ;; *) echo "$1" ;; @@ -43,7 +46,7 @@ check_unchanged () { valid_tool () { case "$1" in kdiff3 | tkdiff | xxdiff | meld | opendiff | \ - emerge | vimdiff | gvimdiff | ecmerge | diffuse) + emerge | vimdiff | gvimdiff | ecmerge | diffuse | araxis) ;; # happy tortoisemerge) if ! merge_mode; then @@ -263,6 +266,24 @@ run_merge_tool () { status=1 fi ;; + araxis) + if merge_mode; then + touch "$BACKUP" + if $base_present; then + "$merge_tool_path" -wait -merge -3 -a1 \ + "$BASE" "$LOCAL" "$REMOTE" "$MERGED" \ + >/dev/null 2>&1 + else + "$merge_tool_path" -wait -2 \ + "$LOCAL" "$REMOTE" "$MERGED" \ + >/dev/null 2>&1 + fi + check_unchanged + else + "$merge_tool_path" -wait -2 "$LOCAL" "$REMOTE" \ + >/dev/null 2>&1 + fi + ;; *) merge_tool_cmd="$(get_merge_tool_cmd "$1")" if test -z "$merge_tool_cmd"; then @@ -302,7 +323,7 @@ guess_merge_tool () { else tools="opendiff kdiff3 tkdiff xxdiff meld $tools" fi - tools="$tools gvimdiff diffuse ecmerge" + tools="$tools gvimdiff diffuse ecmerge araxis" fi if echo "${VISUAL:-$EDITOR}" | grep emacs > /dev/null 2>&1; then # $EDITOR is emacs so add emerge as a candidate |