Code Compare is a commercial file comparison tool for Windows, see

    http://www.devart.com/codecompare/

Version 2.80.4 added support for command line arguments preceded by a
dash instead of a slash. This is required for Git for Windows because
slashes in command line arguments get mangled with according to these
rules:

    http://www.mingw.org/wiki/Posix_path_conversion

Signed-off-by: Sebastian Schuberth <sschube...@gmail.com>
---
 Documentation/merge-config.txt         |  8 ++++----
 contrib/completion/git-completion.bash |  2 +-
 git-mergetool--lib.sh                  |  2 +-
 mergetools/codecompare                 | 25 +++++++++++++++++++++++++
 4 files changed, 31 insertions(+), 6 deletions(-)
 create mode 100644 mergetools/codecompare

diff --git a/Documentation/merge-config.txt b/Documentation/merge-config.txt
index 861bd6f..e9e0d55 100644
--- a/Documentation/merge-config.txt
+++ b/Documentation/merge-config.txt
@@ -54,10 +54,10 @@ merge.stat::
 merge.tool::
        Controls which merge resolution program is used by
        linkgit:git-mergetool[1].  Valid built-in values are: "araxis",
-       "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.
+       "bc3", "codecompare", "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.
 
 merge.verbosity::
        Controls the amount of output shown by the recursive merge
diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index ffedce7..222b804 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1071,7 +1071,7 @@ _git_diff ()
 }
 
 __git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
-                       tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3
+                       tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 
codecompare
 "
 
 _git_difftool ()
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index f730253..54cb708 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -126,7 +126,7 @@ list_merge_tool_candidates () {
                else
                        tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
                fi
-               tools="$tools gvimdiff diffuse ecmerge p4merge araxis bc3"
+               tools="$tools gvimdiff diffuse ecmerge p4merge araxis bc3 
codecompare"
        fi
        case "${VISUAL:-$EDITOR}" in
        *vim*)
diff --git a/mergetools/codecompare b/mergetools/codecompare
new file mode 100644
index 0000000..3f0486b
--- /dev/null
+++ b/mergetools/codecompare
@@ -0,0 +1,25 @@
+diff_cmd () {
+       "$merge_tool_path" "$LOCAL" "$REMOTE"
+}
+
+merge_cmd () {
+       touch "$BACKUP"
+       if $base_present
+       then
+               "$merge_tool_path" -MF="$LOCAL" -TF="$REMOTE" -BF="$BASE" \
+                       -RF="$MERGED"
+       else
+               "$merge_tool_path" -MF="$LOCAL" -TF="$REMOTE" \
+                       -RF="$MERGED"
+       fi
+       check_unchanged
+}
+
+translate_merge_tool_path() {
+       if merge_mode
+       then
+               echo CodeMerge
+       else
+               echo CodeCompare
+       fi
+}
-- 
1.7.11.msysgit.3


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to