builtin-replace: teach "git replace" to actually replace
Teach the syntax: "git replace <object> <replacement>", so that
"git replace" can now create replace refs. These replace refs
will be used by read_sha1_file to substitute <object> with
<replacement> for most of the commands.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh
index bf4c93f..448a19a 100755
--- a/t/t6050-replace.sh
+++ b/t/t6050-replace.sh
@@ -114,9 +114,19 @@
test_must_fail git replace -d &&
test_must_fail git replace -l -d $HASH2 &&
git replace -d $HASH2 &&
+ git show $HASH2 | grep "A U Thor" &&
test -z "$(git replace -l)"
'
+test_expect_success '"git replace" replacing' '
+ git replace $HASH2 $R &&
+ git show $HASH2 | grep "O Thor" &&
+ test_must_fail git replace $HASH2 $R &&
+ git replace -f $HASH2 $R &&
+ test_must_fail git replace -f &&
+ test "$HASH2" = "$(git replace)"
+'
+
#
#
test_done