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

Re: [PATCH 1/2] rebase -i: demonstrate incorrect behavior of post-rewrite

From
Junio C Hamano <gitster@pobox.com>
Date
May 22, 2015, 14:22 UTC
Message-ID
<xmqq1ti8heu9.fsf@gitster.dls.corp.google.com>
In-Reply-To
<0000014d7bc3f7a5-332dd95f-907f-4f46-a5d6-6b9e5dc70b0a-000000@eu-west-1.amazonses.com>
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 13 quoted lines
> The 'exec' command is sending the current commit to stopped-sha, which is
> supposed to contain the original commit (before rebase). As a result, if
> an 'exec' command fails, the next 'git rebase --continue' will send the
> current commit as <old-sha1> to the post-rewrite hook.
>
> The test currently fails with :
>
> --- expected.data       2015-05-21 17:55:29.000000000 +0000
> +++ [...]post-rewrite.data      2015-05-21 17:55:29.000000000 +0000
> @@ -1,2 +1,3 @@
>  2362ae8e1b1b865e6161e6f0e165ffb974abf018 488028e9fac0b598b70cbeb594258a917e3f6fab
> +488028e9fac0b598b70cbeb594258a917e3f6fab 488028e9fac0b598b70cbeb594258a917e3f6fab
>  babc8a4c7470895886fc129f1a015c486d05a351 8edffcc4e69a4e696a1d4bab047df450caf99507

Indent displayed material like the above a bit, please. And please sign-off your patches.

Show 26 quoted lines
> ---
>  t/t5407-post-rewrite-hook.sh | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
>
> diff --git a/t/t5407-post-rewrite-hook.sh b/t/t5407-post-rewrite-hook.sh
> index ea2e0d4..53a4062 100755
> --- a/t/t5407-post-rewrite-hook.sh
> +++ b/t/t5407-post-rewrite-hook.sh
> @@ -212,4 +212,21 @@ EOF
>  	verify_hook_input
>  '
>  
> +test_expect_failure 'git rebase -i (exec)' '
> +	git reset --hard D &&
> +	clear_hook_input &&
> +	FAKE_LINES="edit 1 exec_false 2" git rebase -i B &&
> +	echo something >bar &&
> +	git add bar &&
> +	# Fails because of exec false
> +	test_must_fail git rebase --continue &&
> +	git rebase --continue &&
> +	echo rebase >expected.args &&
> +	cat >expected.data <<EOF &&
> +$(git rev-parse C) $(git rev-parse HEAD^)
> +$(git rev-parse D) $(git rev-parse HEAD)
> +EOF
By using a dash to start the here-document like this:
	cat >expect <<-\EOF &&
	$(git rev-parse C) $(git rev-parse HEAD^)
        ...
        EOF

you can tab-indent the contents and the end marker at the same level to make it easier to read.

Show 8 quoted lines
> +	verify_hook_input
> +'
> +
>  test_done
>
>
> ---
> https://github.com/git/git/pull/138
Previous: Matthieu MoyNext: Matthieu Moy
Message 3 of 7 in “rebase -i: fix post-rewrite hook with failed exec command”
  1. 2/2 rebase -i: fix post-rewrite hook with failed exec commandMatthieu Moy, May 22, 2015
  2. 1/2 rebase -i: demonstrate incorrect behavior of post-rewriteMatthieu Moy, May 22, 2015
  3. Junio C HamanoMay 22, 2015
  4. Matthieu MoyMay 22, 2015
  5. Junio C HamanoMay 22, 2015
  6. Roberto TyleyJun 1, 2015
  7. Junio C HamanoMay 22, 2015

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.