Re: [PATCH 1/2] rebase --root: demonstrate a bug while amending rootcommit messages

2018-06-18 Thread Johannes Schindelin
Hi Todd,

On Mon, 18 Jun 2018, Todd Zullinger wrote:

> Phillip Wood wrote:
> > On 15/06/18 05:31, Johannes Schindelin via GitGitGadget wrote:
> >> 
> >> From: Todd Zullinger 
> >>  
> >> +test_expect_failure 'rebase -i --root reword root commit' '
> >> +  test_when_finished "test_might_fail git rebase --abort" &&
> >> +  git checkout -b reword-root-branch master &&
> >> +  set_fake_editor &&
> >> +  FAKE_LINES="reword 1 2" FAKE_COMMIT_MESSAGE="A changed" \
> >> +  git rebase -i --root &&
> >> +  git show HEAD^ | grep "A changed"
> > 
> > I wonder if it should also check that HEAD^ is the root commit, to make
> > sure that the squash-onto commit that's created and then amended has
> > been squashed onto.
> 
> Hmm, is that something which other tests don't cover or an
> issue that could affect 'rebase -i --root' with reword
> differently than other 'rebase -i' commands?
> 
> I admit I'm not well-versed in the rebase -i tests and I
> focused only on creating a test which demonstrated the bug I
> noticed.

I think we should test this here, to make sure it is tested, and it should
be as easy as:

test -z "$(git show -s --format=%p HEAD^)"

Hopefully you beat me to it, otherwise I will try to take care of this
tomorrow.

Ciao,
Dscho


Re: [PATCH 1/2] rebase --root: demonstrate a bug while amending rootcommit messages

2018-06-18 Thread Todd Zullinger
Hi Phillip,

Phillip Wood wrote:
> On 15/06/18 05:31, Johannes Schindelin via GitGitGadget wrote:
>> 
>> From: Todd Zullinger 
>>  
>> +test_expect_failure 'rebase -i --root reword root commit' '
>> +test_when_finished "test_might_fail git rebase --abort" &&
>> +git checkout -b reword-root-branch master &&
>> +set_fake_editor &&
>> +FAKE_LINES="reword 1 2" FAKE_COMMIT_MESSAGE="A changed" \
>> +git rebase -i --root &&
>> +git show HEAD^ | grep "A changed"
> 
> I wonder if it should also check that HEAD^ is the root commit, to make
> sure that the squash-onto commit that's created and then amended has
> been squashed onto.

Hmm, is that something which other tests don't cover or an
issue that could affect 'rebase -i --root' with reword
differently than other 'rebase -i' commands?

I admit I'm not well-versed in the rebase -i tests and I
focused only on creating a test which demonstrated the bug I
noticed.

-- 
Todd
~~
The average woman would rather be beautiful than smart because the
average man can see better than he can think.



Re: [PATCH 1/2] rebase --root: demonstrate a bug while amending rootcommit messages

2018-06-18 Thread Phillip Wood
Hi Todd/Johannes

On 15/06/18 05:31, Johannes Schindelin via GitGitGadget wrote:
> 
> From: Todd Zullinger 
> 
> When splitting a repository, running `git rebase -i --root` to reword
> the initial commit, Git dies with
> 
>   BUG: sequencer.c:795: root commit without message.
> 
> Signed-off-by: Todd Zullinger 
> Signed-off-by: Johannes Schindelin 
> ---
>  t/t3404-rebase-interactive.sh | 9 +
>  1 file changed, 9 insertions(+)
> 
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> index c65826dda..ca94c688d 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -971,6 +971,15 @@ test_expect_success 'rebase -i --root fixup root commit' 
> '
>   test 0 = $(git cat-file commit HEAD | grep -c ^parent\ )
>  '
>  
> +test_expect_failure 'rebase -i --root reword root commit' '
> + test_when_finished "test_might_fail git rebase --abort" &&
> + git checkout -b reword-root-branch master &&
> + set_fake_editor &&
> + FAKE_LINES="reword 1 2" FAKE_COMMIT_MESSAGE="A changed" \
> + git rebase -i --root &&
> + git show HEAD^ | grep "A changed"

I wonder if it should also check that HEAD^ is the root commit, to make
sure that the squash-onto commit that's created and then amended has
been squashed onto.

Best Wishes

Phillip

> +'
> +
>  test_expect_success C_LOCALE_OUTPUT 'rebase --edit-todo does not work on 
> non-interactive rebase' '
>   git reset --hard &&
>   git checkout conflict-branch &&
>