On Sunday 25 March 2018 11:18 AM, Eric Sunshine wrote: > On Sun, Mar 25, 2018 at 09:11:34AM +0530, Kaartic Sivaraam wrote: >> On Sunday 25 March 2018 07:04 AM, Eric Sunshine wrote: >>> Can we have a couple new tests: one checking "git branch --list" for >>> the typical case (when rebasing off a named branch) and one checking >>> when rebasing from a detached HEAD? >> >> Sure, but I guess it would take some time for me to add the tests. I'll >> send a v2 with the suggested changes. > > A couple more comments: > > * Please run the commit message through a spell checker; it contains > several typographical errors. > Thanks for motivating me to search for a spell checker. I have now discovered the spell check feature (:set spell) in Vim! > * I wonder if it makes sense to give slightly different output in the > detached HEAD case. Normal output is: > > (no branch, rebasing <branch>) > > and, with your change, detached HEAD output is: > > (no branch, rebasing d3adb33f) > > which is okay, but perhaps it could be better; for instance: > > (no branch, rebasing detached HEAD d3adb33f) > I just recently discovered that the variable used to print information related to detached HEAD (state.detached_from) might also contain remote branch names (origin/master, etc.) other than commit hashes. So, it might make sense to distinguish detached HEAD. > Anyhow, I wrote the tests for you. When you re-roll, you can make the > following patch 2/2 and your fix 1/2. Thanks a lot! > (If you go with the above idea > of using a slightly different wording for the detached HEAD case, then > you'll need to adjust the 'grep' slightly in the second test.) > > --- >8 --- > From: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> > Date: Sun, 25 Mar 2018 01:29:58 -0400 > Subject: [PATCH] t3200: verify "branch --list" sanity when rebasing from > detached HEAD > > "git branch --list" shows an in-progress rebase as: > > * (no branch, rebasing <branch>) > master > ... > > However, if the rebase is started from a detached HEAD, then there is no > <branch>, and it would attempt to print a NULL pointer. The previous > commit fixed this problem, so add a test to verify that the output is > sane in this situation. > > Signed-off-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> > --- > t/t3200-branch.sh | 24 ++++++++++++++++++++++++ > 1 file changed, 24 insertions(+) > > diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh > index 6c0b7ea4ad..d1f80c80ab 100755 > --- a/t/t3200-branch.sh > +++ b/t/t3200-branch.sh > @@ -6,6 +6,7 @@ > test_description='git branch assorted tests' > > . ./test-lib.sh > +. "$TEST_DIRECTORY"/lib-rebase.sh > > test_expect_success 'prepare a trivial repository' ' > echo Hello >A && > @@ -1246,6 +1247,29 @@ test_expect_success '--merged is incompatible with --no-merged' ' > test_must_fail git branch --merged HEAD --no-merged HEAD > ' > > +test_expect_success '--list during rebase' ' > + test_when_finished "reset_rebase" && > + git checkout master && > + FAKE_LINES="1 edit 2" && > + export FAKE_LINES && > + set_fake_editor && > + git rebase -i HEAD~2 && > + git branch --list >actual && > + grep "rebasing master" actual > +' > + > +test_expect_success '--list during rebase from detached HEAD' ' > + test_when_finished "reset_rebase && git checkout master" && > + git checkout HEAD^0 && > + oid=$(git rev-parse --short HEAD) && > + FAKE_LINES="1 edit 2" && > + export FAKE_LINES && > + set_fake_editor && > + git rebase -i HEAD~2 && > + git branch --list >actual && > + grep "rebasing $oid" actual > +' > + > test_expect_success 'tracking with unexpected .fetch refspec' ' > rm -rf a b c d && > git init a && > -- Kaartic
Attachment:
signature.asc
Description: OpenPGP digital signature