Re: git reset --hard in .git causes a checkout in that directory
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 4, 2009, 17:25 UTC
- Message-ID
- <7vljhislbj.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20091204111158.GE27495@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> Junio, I think the following should go to maint (I didn't bother > splitting the --merge and --hard code; --merge is in v1.6.2. I assumed > we don't care about maint releases that far back).
Thanks. The test already checks that the change won't break soft reset, which is good, but it does not seem to check/specify what should happen in the mixed reset in this case (I think it should be allowed). Could you add one while at it?
Show 34 quoted lines
> diff --git a/t/t7103-reset-bare.sh b/t/t7103-reset-bare.sh > index 42bf518..3ddf0ac 100755 > --- a/t/t7103-reset-bare.sh > +++ b/t/t7103-reset-bare.sh > @@ -11,6 +11,16 @@ test_expect_success 'setup non-bare' ' > git commit -a -m two > ' > > +test_expect_success 'hard reset requires a worktree' ' > + (cd .git && > + test_must_fail git reset --hard) > +' > + > +test_expect_success 'merge reset requires a worktree' ' > + (cd .git && > + test_must_fail git reset --merge) > +' > + > test_expect_success 'setup bare' ' > git clone --bare . bare.git && > cd bare.git > @@ -20,6 +30,10 @@ test_expect_success 'hard reset is not allowed' ' > test_must_fail git reset --hard HEAD^ > ' > > +test_expect_success 'merge reset is not allowed' ' > + test_must_fail git reset --merge HEAD^ > +' > + > test_expect_success 'soft reset is allowed' ' > git reset --soft HEAD^ && > test "`git show --pretty=format:%s | head -n 1`" = "one" > -- > 1.6.6.rc1.18.ga777f.dirty