Re: [PATCH v2] mergetools/diffmerge: support DiffMerge as a git mergetool
Thanks for the re-roll. We're very close; see below. On Fri, Oct 11, 2013 at 10:01 PM, Stefan Saasen ssaa...@atlassian.com wrote: 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 ssaa...@atlassian.com Acked-by: David Aguilar dav...@gmail.com --- 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..0fcb253 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+=p4merge araxis bc3 codecompare I don't believe += is portable across all POSIX shells. I tried this on dash (which is the default /bin/sh on Debian) and it was not understood there. $ f=1 2 3 $ f+= 4 /bin/dash: 2: f+= 4: not found I think we should stick to the tools=$tools . style of concatenation. Everything else looks good to me. Thanks, -- David -- 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
Re: [PATCH v2] mergetools/diffmerge: support DiffMerge as a git mergetool
Not a problem. I'll change it to: tools=$tools gvimdiff diffuse diffmerge ecmerge tools=$tools p4merge araxis bc3 code compare and send a v3. Thanks for the review David. On 13 October 2013 06:55, David Aguilar dav...@gmail.com wrote: Thanks for the re-roll. We're very close; see below. On Fri, Oct 11, 2013 at 10:01 PM, Stefan Saasen ssaa...@atlassian.com wrote: 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 ssaa...@atlassian.com Acked-by: David Aguilar dav...@gmail.com --- 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..0fcb253 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+=p4merge araxis bc3 codecompare I don't believe += is portable across all POSIX shells. I tried this on dash (which is the default /bin/sh on Debian) and it was not understood there. $ f=1 2 3 $ f+= 4 /bin/dash: 2: f+= 4: not found I think we should stick to the tools=$tools . style of concatenation. Everything else looks good to me. Thanks, -- David -- 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 v2] mergetools/diffmerge: support DiffMerge as a git mergetool
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 ssaa...@atlassian.com Acked-by: David Aguilar dav...@gmail.com --- 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..0fcb253 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+=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 21 +} + +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