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 <dav...@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

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