git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Sixt <j6t@kdbg.org>
To: David Aguilar <davvid@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org, John Keeping <john@keeping.me.uk>
Subject: Re: [PATCH 3/4] mergetool--lib: Add functions for finding available tools
Date: Sun, 27 Jan 2013 23:26:52 +0100	[thread overview]
Message-ID: <5105A9AC.1040808@kdbg.org> (raw)
In-Reply-To: <1359321886-80523-4-git-send-email-davvid@gmail.com>

Am 27.01.2013 22:24, schrieb David Aguilar:
> Refactor show_tool_help() so that the tool-finding logic is broken out
> into separate functions.
> 
> Signed-off-by: David Aguilar <davvid@gmail.com>
> ---
>  git-mergetool--lib.sh | 60 +++++++++++++++++++++++++++++----------------------
>  1 file changed, 34 insertions(+), 26 deletions(-)
> 
> diff --git a/git-mergetool--lib.sh b/git-mergetool--lib.sh
> index cf52423..894b849 100644
> --- a/git-mergetool--lib.sh
> +++ b/git-mergetool--lib.sh
> @@ -2,6 +2,33 @@
>  # git-mergetool--lib is a library for common merge tool functions
>  MERGE_TOOLS_DIR=$(git --exec-path)/mergetools
>  
> +mode_ok () {
> +	diff_mode && can_diff ||
> +	merge_mode && can_merge
> +}

&& and || have the same precedence: if diff_mode and can_diff both are
"true", then the result of the function is that of can_merge. I don't
think that is what is intended.

> +filter_tools () {
> +	filter="$1"
> +	prefix="$2"
> +	(
> +		cd "$MERGE_TOOLS_DIR" &&
> +		for i in *
> +		do
> +			echo "$i"
> +		done

		cd "$MERGE_TOOLS_DIR" &&
		printf "%s\n" *

But what's wrong with "ls -1"? It would save the explicit sort.

> +	) | sort | while read tool
> +	do
> +		setup_tool "$tool" 2>/dev/null &&
> +		(eval "$filter" "$tool") &&
> +		printf "$prefix$tool\n"
> +	done
> +}

-- Hannes

  reply	other threads:[~2013-01-27 22:27 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-27 21:24 [PATCH 0/4] Documentation: Auto-generate merge tool lists David Aguilar
2013-01-27 21:24 ` [PATCH 1/4] mergetool--lib: Simplify command expressions David Aguilar
2013-01-27 22:08   ` Johannes Sixt
2013-01-27 22:18     ` David Aguilar
2013-01-27 22:32       ` Junio C Hamano
2013-01-27 22:21   ` Junio C Hamano
2013-01-27 21:24 ` [PATCH 2/4] mergetool--lib: Improve the help text in guess_merge_tool() David Aguilar
2013-01-27 23:12   ` Junio C Hamano
2013-01-27 21:24 ` [PATCH 3/4] mergetool--lib: Add functions for finding available tools David Aguilar
2013-01-27 22:26   ` Johannes Sixt [this message]
2013-01-27 22:31   ` Junio C Hamano
2013-01-27 23:04   ` John Keeping
2013-01-27 23:32   ` Junio C Hamano
2013-01-27 23:45     ` David Aguilar
2013-01-27 21:24 ` [PATCH 4/4] doc: Generate a list of valid merge tools David Aguilar
2013-01-27 22:36   ` Junio C Hamano
2013-01-27 22:54   ` John Keeping
2013-01-27 23:46   ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5105A9AC.1040808@kdbg.org \
    --to=j6t@kdbg.org \
    --cc=davvid@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=john@keeping.me.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).