From: Junio C Hamano Date: Wed, 04 Sep 2013 20:39:58 GMT Subject: Re: [PATCH v4 03/11] t6050-replace: test that objects are of the same type Message-ID: In-Reply-To: <20130903071026.29838.76131.chriscool@tuxfamily.org> Christian Couder writes: > Signed-off-by: Christian Couder > --- > t/t6050-replace.sh | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh > index decdc33..5c352c4 100755 > --- a/t/t6050-replace.sh > +++ b/t/t6050-replace.sh > @@ -263,4 +263,17 @@ test_expect_success 'not just commits' ' > test_cmp file.replaced file > ' > > +test_expect_success 'replaced and replacement objects must be of the same type' ' > + test_must_fail git replace mytag $HASH1 2>err && > + grep "mytag. points to a replaced object of type .tag" err && > + grep "$HASH1. points to a replacement object of type .commit" err && Hmm, would these messages ever get translated? I think it is sufficient to make sure that the proposed replacement fails for these cases. > + test_must_fail git replace HEAD^{tree} HEAD~1 2>err && > + grep "HEAD^{tree}. points to a replaced object of type .tree" err && > + grep "HEAD~1. points to a replacement object of type .commit" err && > + BLOB=$(git rev-parse :file) && > + test_must_fail git replace HEAD^ $BLOB 2>err && > + grep "HEAD^. points to a replaced object of type .commit" err && > + grep "$BLOB. points to a replacement object of type .blob" err > +' > + > test_done