Merge branch 'jt/partial-clone-fsck-connectivity'

Partial clone support of "git clone" has been updated to correctly
validate the objects it receives from the other side.  The server
side has been corrected to send objects that are directly
requested, even if they may match the filtering criteria (e.g. when
doing a "lazy blob" partial clone).

* jt/partial-clone-fsck-connectivity:
  clone: check connectivity even if clone is partial
  upload-pack: send refs' objects despite "filter"
This commit is contained in:
Junio C Hamano
2018-07-24 14:50:47 -07:00
8 changed files with 91 additions and 7 deletions

View File

@ -48,7 +48,7 @@ static void process_blob(struct rev_info *revs,
pathlen = path->len;
strbuf_addstr(path, name);
if (filter_fn)
if (!(obj->flags & USER_GIVEN) && filter_fn)
r = filter_fn(LOFS_BLOB, obj,
path->buf, &path->buf[pathlen],
filter_data);
@ -133,7 +133,7 @@ static void process_tree(struct rev_info *revs,
}
strbuf_addstr(base, name);
if (filter_fn)
if (!(obj->flags & USER_GIVEN) && filter_fn)
r = filter_fn(LOFS_BEGIN_TREE, obj,
base->buf, &base->buf[baselen],
filter_data);
@ -172,7 +172,7 @@ static void process_tree(struct rev_info *revs,
cb_data, filter_fn, filter_data);
}
if (filter_fn) {
if (!(obj->flags & USER_GIVEN) && filter_fn) {
r = filter_fn(LOFS_END_TREE, obj,
base->buf, &base->buf[baselen],
filter_data);