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

Re: [PATCH v2] add tests for 'git rebase --keep-empty'

From
Neil Horman <nhorman@tuxdriver.com>
Date
Aug 10, 2012, 13:26 UTC
Message-ID
<20120810132608.GA29609@hmsreliant.think-freely.org>
In-Reply-To
<1344526791-13539-1-git-send-email-martin.von.zweigbergk@gmail.com>
On Thu, Aug 09, 2012 at 08:39:51AM -0700, Martin von Zweigbergk wrote:
Show 5 quoted lines
> Add test cases for 'git rebase --keep-empty' with and without an
> "empty" commit already in upstream. The empty commit that is about to
> be rebased should be kept in both cases.
> 
> Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Show 50 quoted lines
> ---
> 
> Added another test for when the upstream already has an empty
> commit. The test case protects the current behavior; I just assume the
> current behavior is what we want.
> 
> While writing the test case, I also noticed that an interrupted 'git
> rebase --keep-empty' can not be continued 'git rebase --continue', but
> instead needs 'git cherry-pick --continue'. I guess this shouldn't
> really be surprising given that it's implemented in terms of
> cherry-pick. This should be fixed once all the different kinds of
> rebase use the same way of finding the commits to rebase, so I
> wouldn't worry about fixing this specific problem right now.
> 
>  t/t3401-rebase-partial.sh | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
> 
> diff --git a/t/t3401-rebase-partial.sh b/t/t3401-rebase-partial.sh
> index 7f8693b..58f4823 100755
> --- a/t/t3401-rebase-partial.sh
> +++ b/t/t3401-rebase-partial.sh
> @@ -47,7 +47,23 @@ test_expect_success 'rebase ignores empty commit' '
>  	git commit --allow-empty -m empty &&
>  	test_commit D &&
>  	git rebase C &&
> -	test $(git log --format=%s C..) = "D"
> +	test "$(git log --format=%s C..)" = "D"
> +'
> +
> +test_expect_success 'rebase --keep-empty' '
> +	git reset --hard D &&
> +	git rebase --keep-empty C &&
> +	test "$(git log --format=%s C..)" = "D
> +empty"
> +'
> +
> +test_expect_success 'rebase --keep-empty keeps empty even if already in upstream' '
> +	git reset --hard A &&
> +	git commit --allow-empty -m also-empty &&
> +	git rebase --keep-empty D &&
> +	test "$(git log --format=%s A..)" = "also-empty
> +D
> +empty"
>  '
>  
>  test_done
> -- 
> 1.7.11.1.104.ge7b44f1
> 
> 
Previous: Junio C HamanoNext: Joachim Schmitz
Message 5 of 8 in “add test for 'git rebase --keep-empty'”
  1. add test for 'git rebase --keep-empty'Martin von Zweigbergk, Aug 8, 2012
  2. Neil HormanAug 8, 2012
  3. add tests for 'git rebase --keep-empty'Martin von Zweigbergk, Aug 9, 2012
  4. Junio C HamanoAug 9, 2012
  5. Neil HormanAug 10, 2012
  6. Joachim SchmitzAug 10, 2012
  7. Porting to a new platformJunio C Hamano, Aug 10, 2012
  8. Joachim SchmitzAug 10, 2012

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.