Re: [PATCH] contrib/difftool: add support for Kompare
- From
David Aguilar <davvid@gmail.com>
- Date
- Jan 31, 2009, 06:37 UTC
- Message-ID
- <20090131063714.GA29621@gmail.com>
- In-Reply-To
- <200901310019.30117.markus.heidelberg@web.de>
On 0, Markus Heidelberg <markus.heidelberg@web.de> wrote:
Show 6 quoted lines
> > Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> > --- > contrib/difftool/git-difftool-helper | 16 ++++++++++------ > contrib/difftool/git-difftool.txt | 3 ++- > 2 files changed, 12 insertions(+), 7 deletions(-)
Good stuff =) Should we patch mergetool with the same change? Kompare's pretty popular in KDE land.
BTW git.git's next branch has:
commit fb700cb0679e22900f0d1435641e6cf7c652968b Author: Johannes Gilger <heipei@hackvalue.de> Date: Sat Jan 24 00:12:45 2009 +0100
mergetool: Don't repeat merge tool candidates
git mergetool listed some candidates for mergetools twice, depending on
the environment.
This slightly changes the behavior when both KDE_FULL_SESSION and
GNOME_DESKTOP_SESSION_ID are set at the same time; in such a case
meld is used in favor of kdiff3 (the old code favored kdiff3 in such a
case), but it should not matter in practice.
Signed-off-by: Johannes Gilger <heipei@hackvalue.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>difftool probably needs a similar patch. I'll see if I can get to that this weekend if no one beats me to it.
Show 73 quoted lines
>
> diff --git a/contrib/difftool/git-difftool-helper b/contrib/difftool/git-difftool-helper
> index 0c48506..10632a3 100755
> --- a/contrib/difftool/git-difftool-helper
> +++ b/contrib/difftool/git-difftool-helper
> @@ -1,7 +1,7 @@
> #!/bin/sh
> # git-difftool-helper is a GIT_EXTERNAL_DIFF-compatible diff tool launcher.
> -# It supports kdiff3, tkdiff, xxdiff, meld, opendiff, emerge, ecmerge,
> -# vimdiff, gvimdiff, and custom user-configurable tools.
> +# It supports kdiff3, kompare, tkdiff, xxdiff, meld, opendiff,
> +# emerge, ecmerge, vimdiff, gvimdiff, and custom user-configurable tools.
> # This script is typically launched by using the 'git difftool'
> # convenience command.
> #
> @@ -73,6 +73,10 @@ launch_merge_tool () {
> > /dev/null 2>&1
> ;;
>
> + kompare)
> + "$merge_tool_path" "$LOCAL" "$REMOTE"
> + ;;
> +
> tkdiff)
> "$merge_tool_path" -o "$MERGED" "$LOCAL" "$REMOTE"
> ;;
> @@ -134,7 +138,7 @@ valid_custom_tool() {
> # Built-in merge tools are always valid.
> valid_tool() {
> case "$1" in
> - kdiff3 | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | ecmerge)
> + kdiff3 | kompare | tkdiff | xxdiff | meld | opendiff | emerge | vimdiff | gvimdiff | ecmerge)
> ;; # happy
> *)
> if ! valid_custom_tool "$1"
> @@ -180,14 +184,14 @@ if test -z "$merge_tool"; then
>
> # We have a $DISPLAY so try some common UNIX merge tools
> if test -n "$DISPLAY"; then
> - merge_tool_candidates="kdiff3 tkdiff xxdiff meld gvimdiff"
> + merge_tool_candidates="kdiff3 kompare tkdiff xxdiff meld gvimdiff"
> # If gnome then prefer meld
> if test -n "$GNOME_DESKTOP_SESSION_ID"; then
> merge_tool_candidates="meld $merge_tool_candidates"
> fi
> - # If KDE then prefer kdiff3
> + # If KDE then prefer kdiff3 or kompare
> if test "$KDE_FULL_SESSION" = "true"; then
> - merge_tool_candidates="kdiff3 $merge_tool_candidates"
> + merge_tool_candidates="kdiff3 kompare $merge_tool_candidates"
> fi
> fi
>
> diff --git a/contrib/difftool/git-difftool.txt b/contrib/difftool/git-difftool.txt
> index ca3dbd2..6e2610c 100644
> --- a/contrib/difftool/git-difftool.txt
> +++ b/contrib/difftool/git-difftool.txt
> @@ -28,7 +28,8 @@ OPTIONS
> --tool=<tool>::
> Use the merge resolution program specified by <tool>.
> Valid merge tools are:
> - kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, and opendiff
> + kdiff3, kompare, tkdiff, meld, xxdiff, emerge,
> + vimdiff, gvimdiff, ecmerge, and opendiff
> +
> If a merge resolution program is not specified, 'git-difftool'
> will use the configuration variable `merge.tool`. If the
> --
> 1.6.1.2.256.g62566b
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html-- David