From: Dmitry Ivankov Date: Mon, 22 Aug 2011 12:10:18 +0000 (+0600) Subject: fast-import: add tests for tagging blobs X-Git-Tag: v1.7.7-rc1~41^2~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2efe38e7da40fdf2b6e0261984d7adaab16ad930;p=git.git fast-import: add tests for tagging blobs fast-import allows to create an annotated tag that annotates a blob, via mark or direct sha1 specification. For mark it works, for sha1 it tries to read the object. It tries to do so via read_sha1_file, and then checks the size to be at least 46. That's weird, let's just allow to (annotated) tag any object referenced by sha1. If the object originates from our packfile, we still fail though. Signed-off-by: Dmitry Ivankov Signed-off-by: Junio C Hamano --- diff --git a/fast-import.c b/fast-import.c index 78d978684..ca2145861 100644 --- a/fast-import.c +++ b/fast-import.c @@ -2688,13 +2688,9 @@ static void parse_new_tag(void) type = oe->type; hashcpy(sha1, oe->idx.sha1); } else if (!get_sha1(from, sha1)) { - unsigned long size; - char *buf; - - buf = read_sha1_file(sha1, &type, &size); - if (!buf || size < 46) - die("Not a valid commit: %s", from); - free(buf); + type = sha1_object_info(sha1, NULL); + if (type < 0) + die("Not a valid object: %s", from); } else die("Invalid ref name or SHA1 expression: %s", from); read_next_command(); diff --git a/t/t9300-fast-import.sh b/t/t9300-fast-import.sh index 2a53640c5..80b06f071 100755 --- a/t/t9300-fast-import.sh +++ b/t/t9300-fast-import.sh @@ -94,6 +94,12 @@ data <expect <actual && + test_cmp expect actual +' + cat >expect <input <expect <actual && + test_cmp expect actual' + test_tick cat >input <