Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
t6050: show that git cat-file --batch fails with replace objects
author
Christian Couder
<chriscool@tuxfamily.org>
Wed, 11 Dec 2013 07:46:08 +0000
(08:46 +0100)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 12 Dec 2013 19:53:49 +0000
(11:53 -0800)
When --batch is passed to git cat-file, the sha1_object_info_extended()
function is used to get information about the objects passed to
git cat-file.
Unfortunately sha1_object_info_extended() doesn't take care of
object replacement properly, so it will often fail with a
message like this:
$ echo
a3fb2e1845a1aaf129b7975048973414dc172173
| git cat-file --batch
a3fb2e1845a1aaf129b7975048973414dc172173
commit 231
fatal: object
a3fb2e1845a1aaf129b7975048973414dc172173
change size!?
The goal of this patch is to show this breakage.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t6050-replace.sh
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
de7b5d6
)
diff --git
a/t/t6050-replace.sh
b/t/t6050-replace.sh
index 7d479843522e3b183fdb4d72d86909b53e0edbda..b90dbdcd2baf54f50669d30f51586915ff2b35eb 100755
(executable)
--- a/
t/t6050-replace.sh
+++ b/
t/t6050-replace.sh
@@
-276,6
+276,11
@@
test_expect_success '-f option bypasses the type check' '
git replace -f HEAD^ $BLOB
'
+test_expect_failure 'git cat-file --batch works on replace objects' '
+ git replace | grep $PARA3 &&
+ echo $PARA3 | git cat-file --batch
+'
+
test_expect_success 'replace ref cleanup' '
test -n "$(git replace)" &&
git replace -d $(git replace) &&