Re: [PATCH v2 13/27] t1400: Test that stdin -z update treats empty <newvalue> as zeros
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 31, 2014, 21:48 UTC
- Message-ID
- <xmqqbnwm3uqw.fsf@gitster.dls.corp.google.com>
- In-Reply-To
- <1395683820-17304-14-git-send-email-mhagger@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
> This is the (slightly inconsistent) status quo; make sure it doesn't > change by accident.
Interesting. So "oldvalue" being empty is "we do not care what it is" (as opposed to "we know it must not exist yet" aka 0{40}), and "newvalue" being empty is the same as "delete it" aka 0{40}.
That is unfortunate, but I agree it is a good idea to add a test for it, so that we will notice when we decide to fix it.
Show 24 quoted lines
> > Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> > --- > t/t1400-update-ref.sh | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/t/t1400-update-ref.sh b/t/t1400-update-ref.sh > index a2015d0..208f56e 100755 > --- a/t/t1400-update-ref.sh > +++ b/t/t1400-update-ref.sh > @@ -730,6 +730,13 @@ test_expect_success 'stdin -z fails update with bad ref name' ' > grep "fatal: invalid ref format: ~a" err > ' > > +test_expect_success 'stdin -z treats empty new value as zeros' ' > + git update-ref $a $m && > + printf $F "update $a" "" "" >stdin && > + git update-ref -z --stdin <stdin && > + test_must_fail git rev-parse --verify -q $a > +' > + > test_expect_success 'stdin -z fails update with no new value' ' > printf $F "update $a" >stdin && > test_must_fail git update-ref -z --stdin <stdin 2>err &&