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

Re: [PATCH 4/6] submodule update: align reporting path for custom command execution

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 29, 2016, 23:57 UTC
Message-ID
<xmqqfuv8vnvk.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<1459292558-5840-5-git-send-email-sbeller@google.com>
Stefan Beller <sbeller@google.com> writes:
> In the predefined actions (merge, rebase, none, checkout), we use
> the display path, which is relative to the current working directory.
> Also use the display path when running a custom command.
Very sensible.
Show 68 quoted lines
> Signed-off-by: Stefan Beller <sbeller@google.com>
> ---
>  git-submodule.sh            |  4 ++--
>  t/t7406-submodule-update.sh | 29 ++++++++++++++++++++++++++---
>  2 files changed, 28 insertions(+), 5 deletions(-)
>
> diff --git a/git-submodule.sh b/git-submodule.sh
> index 11ed32a..be2a2b5 100755
> --- a/git-submodule.sh
> +++ b/git-submodule.sh
> @@ -803,8 +803,8 @@ Maybe you want to use 'update --init'?")"
>  				;;
>  			!*)
>  				command="${update_module#!}"
> -				die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$prefix\$sm_path'")"
> -				say_msg="$(eval_gettext "Submodule path '\$prefix\$sm_path': '\$command \$sha1'")"
> +				die_msg="$(eval_gettext "Execution of '\$command \$sha1' failed in submodule path '\$displaypath'")"
> +				say_msg="$(eval_gettext "Submodule path '\$displaypath': '\$command \$sha1'")"
>  				must_die_on_failure=yes
>  				;;
>  			*)
> diff --git a/t/t7406-submodule-update.sh b/t/t7406-submodule-update.sh
> index 9a4ba41..f062065 100755
> --- a/t/t7406-submodule-update.sh
> +++ b/t/t7406-submodule-update.sh
> @@ -344,16 +344,39 @@ test_expect_success 'submodule update - command in .git/config' '
>  	)
>  '
>  
> +cat << EOF >expect
> +Execution of 'false $submodulesha1' failed in submodule path 'submodule'
> +EOF
> +
>  test_expect_success 'submodule update - command in .git/config catches failure' '
>  	(cd super &&
>  	 git config submodule.submodule.update "!false"
>  	) &&
>  	(cd super/submodule &&
> -	  git reset --hard HEAD^
> +	  git reset --hard $submodulesha1^
>  	) &&
>  	(cd super &&
> -	 test_must_fail git submodule update submodule
> -	)
> +	 test_must_fail git submodule update submodule 2>../actual
> +	) &&
> +	test_cmp actual expect
> +'
> +
> +cat << EOF >expect
> +Execution of 'false $submodulesha1' failed in submodule path '../submodule'
> +EOF
> +
> +test_expect_success 'submodule update - command in .git/config catches failure -- subdirectory' '
> +	(cd super &&
> +	 git config submodule.submodule.update "!false"
> +	) &&
> +	(cd super/submodule &&
> +	  git reset --hard $submodulesha1^
> +	) &&
> +	(cd super &&
> +	 mkdir tmp && cd tmp &&
> +	 test_must_fail git submodule update ../submodule 2>../../actual
> +	) &&
> +	test_cmp actual expect
>  '
>  
>  test_expect_success 'submodule init does not copy command into .git/config' '
Previous: Stefan BellerNext: Stefan Beller
Message 10 of 12 in “[PATCHv3 0/6] Fix path bugs in submodule commands executed from sub dir”
  1. Stefan BellerMar 29, 2016
  2. 1/6 submodule foreach: correct path display in recursive submodulesStefan Beller, Mar 29, 2016
  3. Junio C HamanoMar 29, 2016
  4. 2/6 submodule update --init: correct path handling in recursive submodulesStefan Beller, Mar 29, 2016
  5. Junio C HamanoMar 29, 2016
  6. Stefan BellerMar 30, 2016
  7. 3/6 submodule status: correct path handling in recursive submodulesStefan Beller, Mar 29, 2016
  8. Junio C HamanoMar 29, 2016
  9. 4/6 submodule update: align reporting path for custom command executionStefan Beller, Mar 29, 2016
  10. Junio C HamanoMar 29, 2016
  11. 5/6 submodule update: test recursive path reporting from subdirectoryStefan Beller, Mar 29, 2016
  12. 6/6 t7407: make expectation as clear as possibleStefan Beller, Mar 29, 2016

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.