diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-04-04 12:59:55 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-04-04 12:59:55 -0700 |
commit | 5ccb7e2ef33612075fe6eedbf08c020b3ea1e7b9 (patch) | |
tree | 7f5608d85f59eb346db40f77db155d267403325b | |
parent | 9b924eee98332225f63c36c5d9673c47e0a8b769 (diff) | |
parent | f59de5d1ff9b0f9d570df99128f41520a281f9a5 (diff) | |
download | git-5ccb7e2ef33612075fe6eedbf08c020b3ea1e7b9.tar.gz |
Merge branch 'jk/peel-ref' into maint
* jk/peel-ref:
upload-pack: load non-tip "want" objects from disk
upload-pack: make sure "want" objects are parsed
upload-pack: drop lookup-before-parse optimization
-rwxr-xr-x | t/t5500-fetch-pack.sh | 9 | ||||
-rw-r--r-- | upload-pack.c | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh index 354d32c584..d574085696 100755 --- a/t/t5500-fetch-pack.sh +++ b/t/t5500-fetch-pack.sh @@ -364,6 +364,15 @@ EOF test_cmp count7.expected count7.actual ' +test_expect_success 'clone shallow with packed refs' ' + git pack-refs --all && + git clone --depth 1 --branch A "file://$(pwd)/." shallow8 && + echo "in-pack: 4" > count8.expected && + GIT_DIR=shallow8/.git git count-objects -v | + grep "^in-pack" > count8.actual && + test_cmp count8.expected count8.actual +' + test_expect_success 'setup tests for the --stdin parameter' ' for head in C D E F do diff --git a/upload-pack.c b/upload-pack.c index 30146a04f7..948cfffe13 100644 --- a/upload-pack.c +++ b/upload-pack.c @@ -325,9 +325,7 @@ static int got_sha1(char *hex, unsigned char *sha1) if (!has_sha1_file(sha1)) return -1; - o = lookup_object(sha1); - if (!(o && o->parsed)) - o = parse_object(sha1); + o = parse_object(sha1); if (!o) die("oops (%s)", sha1_to_hex(sha1)); if (o->type == OBJ_COMMIT) { @@ -640,7 +638,7 @@ static void receive_needs(void) if (parse_feature_request(features, "include-tag")) use_include_tag = 1; - o = lookup_object(sha1_buf); + o = parse_object(sha1_buf); if (!o) die("git upload-pack: not our ref %s", sha1_to_hex(sha1_buf)); |