Merge branch 'jk/peel-ref'
Recent optimization broke shallow clones. * 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
This commit is contained in:
commit
62bd0c0105
@ -364,6 +364,15 @@ EOF
|
|||||||
test_cmp count7.expected count7.actual
|
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' '
|
test_expect_success 'setup tests for the --stdin parameter' '
|
||||||
for head in C D E F
|
for head in C D E F
|
||||||
do
|
do
|
||||||
|
@ -327,9 +327,7 @@ static int got_sha1(char *hex, unsigned char *sha1)
|
|||||||
if (!has_sha1_file(sha1))
|
if (!has_sha1_file(sha1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
o = lookup_object(sha1);
|
o = parse_object(sha1);
|
||||||
if (!(o && o->parsed))
|
|
||||||
o = parse_object(sha1);
|
|
||||||
if (!o)
|
if (!o)
|
||||||
die("oops (%s)", sha1_to_hex(sha1));
|
die("oops (%s)", sha1_to_hex(sha1));
|
||||||
if (o->type == OBJ_COMMIT) {
|
if (o->type == OBJ_COMMIT) {
|
||||||
@ -648,7 +646,7 @@ static void receive_needs(void)
|
|||||||
if (parse_feature_request(features, "include-tag"))
|
if (parse_feature_request(features, "include-tag"))
|
||||||
use_include_tag = 1;
|
use_include_tag = 1;
|
||||||
|
|
||||||
o = lookup_object(sha1_buf);
|
o = parse_object(sha1_buf);
|
||||||
if (!o)
|
if (!o)
|
||||||
die("git upload-pack: not our ref %s",
|
die("git upload-pack: not our ref %s",
|
||||||
sha1_to_hex(sha1_buf));
|
sha1_to_hex(sha1_buf));
|
||||||
|
Loading…
Reference in New Issue
Block a user