summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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