git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/4] mergetool--lib: Add functions for finding available tools

From
Junio C Hamano <gitster@pobox.com>
Date
Jan 27, 2013, 22:31 UTC
Message-ID
<7vvcaitfzq.fsf@alter.siamese.dyndns.org>
In-Reply-To
<1359321886-80523-4-git-send-email-davvid@gmail.com>
David Aguilar <davvid@gmail.com> writes:
Show 20 quoted lines
> 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
> +}
I think you got the operator precedence mixed up.

What happens when diff_mode=true, can_diff=true, merge_mode=true and can_merge=false?

	if true && true || true && false
	then
		echo OK
	else
		echo NO
	fi
	if (true && true) || (true && false)
	then
		echo OK
	else
		echo NO
	fi
Show 16 quoted lines
> +is_available () {
> +	merge_tool_path=$(translate_merge_tool_path "$1") &&
> +	type "$merge_tool_path" >/dev/null 2>&1
> +}
> +
> +filter_tools () {
> +	filter="$1"
> +	prefix="$2"
> +	(
> +		cd "$MERGE_TOOLS_DIR" &&
> +		for i in *
> +		do
> +			echo "$i"
> +		done
> +	) | sort | while read tool
> +	do

Please start a new line before keywords that define the syntactic structure, like "while", i.e.

	... piped | commands |
	while read tool
	do
		...
Previous: Johannes SixtNext: John Keeping
Message 11 of 18 in “Documentation: Auto-generate merge tool lists”
  1. 0/4 Documentation: Auto-generate merge tool listsDavid Aguilar, Jan 27, 2013
  2. 1/4 mergetool--lib: Simplify command expressionsDavid Aguilar, Jan 27, 2013
  3. Johannes SixtJan 27, 2013
  4. David AguilarJan 27, 2013
  5. Junio C HamanoJan 27, 2013
  6. Junio C HamanoJan 27, 2013
  7. 2/4 mergetool--lib: Improve the help text in guess_merge_tool()David Aguilar, Jan 27, 2013
  8. Junio C HamanoJan 27, 2013
  9. 3/4 mergetool--lib: Add functions for finding available toolsDavid Aguilar, Jan 27, 2013
  10. Johannes SixtJan 27, 2013
  11. Junio C HamanoJan 27, 2013
  12. John KeepingJan 27, 2013
  13. Junio C HamanoJan 27, 2013
  14. David AguilarJan 27, 2013
  15. 4/4 doc: Generate a list of valid merge toolsDavid Aguilar, Jan 27, 2013
  16. Junio C HamanoJan 27, 2013
  17. John KeepingJan 27, 2013
  18. Junio C HamanoJan 27, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.