Re: [PATCH 1/2] rebase --root: demonstrate a bug while amending rootcommit messages
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
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
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 && >