summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Christian Couder <chriscool@tuxfamily.org>2013-09-06 07:10:55 +0200
committerLibravatar Junio C Hamano <gitster@pobox.com>2013-09-06 13:29:38 -0700
commit3e625c8fec8a2ec49352e8f0a3862ccbfca11d3a (patch)
treef4edc36b74e200f9affc765d3396dcccfde3838b
parentDocumentation/replace: state that objects must be of the same type (diff)
downloadtgif-3e625c8fec8a2ec49352e8f0a3862ccbfca11d3a.tar.xz
t6050-replace: test that objects are of the same type
and that the -f option bypasses the type check Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t6050-replace.sh13
1 files changed, 13 insertions, 0 deletions
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index decdc33c52..09bad9877f 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 &&
+ test_must_fail git replace HEAD^{tree} HEAD~1 &&
+ BLOB=$(git rev-parse :file) &&
+ test_must_fail git replace HEAD^ $BLOB
+'
+
+test_expect_success '-f option bypasses the type check' '
+ git replace -f mytag $HASH1 &&
+ git replace -f HEAD^{tree} HEAD~1 &&
+ git replace -f HEAD^ $BLOB
+'
+
test_done