Re: [PATCH v3] mergetools/diffmerge: support DiffMerge as a git mergetool

2013-10-13 Thread Jonathan Nieder
Stefan Saasen wrote:

> Signed-off-by: Stefan Saasen 
> Acked-by: David Aguilar 

Thanks.
--
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


[PATCH v3] mergetools/diffmerge: support DiffMerge as a git mergetool

2013-10-12 Thread Stefan Saasen
DiffMerge is a non-free (but gratis) tool that supports OS X, Windows and Linux.

See http://www.sourcegear.com/diffmerge/

DiffMerge includes a script `/usr/bin/diffmerge` that can be used to launch the
graphical compare tool.

This change adds mergetool support for DiffMerge and adds 'diffmerge' as an
option to the mergetool help.

Signed-off-by: Stefan Saasen 
Acked-by: David Aguilar 
---
 contrib/completion/git-completion.bash |  2 +-
 git-mergetool--lib.sh  |  3 ++-
 mergetools/diffmerge   | 15 +++
 3 files changed, 18 insertions(+), 2 deletions(-)
 create mode 100644 mergetools/diffmerge

diff --git a/contrib/completion/git-completion.bash 
b/contrib/completion/git-completion.bash
index e1b7313..07b0ba5 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1188,7 +1188,7 @@ _git_diff ()
__git_complete_revlist_file
 }
 
-__git_mergetools_common="diffuse ecmerge emerge kdiff3 meld opendiff
+__git_mergetools_common="diffuse diffmerge ecmerge emerge kdiff3 meld opendiff
tkdiff vimdiff gvimdiff xxdiff araxis p4merge bc3 
codecompare
 "
 
diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
index feee6a4..858bc37 100644
--- a/git-mergetool--lib.sh
+++ b/git-mergetool--lib.sh
@@ -250,7 +250,8 @@ list_merge_tool_candidates () {
else
tools="opendiff kdiff3 tkdiff xxdiff meld $tools"
fi
-   tools="$tools gvimdiff diffuse ecmerge p4merge araxis bc3 
codecompare"
+   tools="$tools gvimdiff diffuse diffmerge ecmerge"
+   tools="$tools p4merge araxis bc3 codecompare"
fi
case "${VISUAL:-$EDITOR}" in
*vim*)
diff --git a/mergetools/diffmerge b/mergetools/diffmerge
new file mode 100644
index 000..85ac720
--- /dev/null
+++ b/mergetools/diffmerge
@@ -0,0 +1,15 @@
+diff_cmd () {
+   "$merge_tool_path" "$LOCAL" "$REMOTE" >/dev/null 2>&1
+}
+
+merge_cmd () {
+   if $base_present
+   then
+   "$merge_tool_path" --merge --result="$MERGED" \
+   "$LOCAL" "$BASE" "$REMOTE"
+   else
+   "$merge_tool_path" --merge \
+   --result="$MERGED" "$LOCAL" "$REMOTE"
+   fi
+   status=$?
+}
-- 
1.8.2.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