On Wed, Oct 04, 2017 at 04:19:52PM +0900, Junio C Hamano wrote:
> * jt/partial-clone-lazy-fetch (2017-10-02) 18 commits
> - fetch-pack: restore save_commit_buffer after use
> - unpack-trees: batch fetching of missing blobs
> - clone: configure blobmaxbytes in created repos
> - clone: support excluding large blobs
> - fetch: support excluding large blobs
> - fetch: refactor calculation of remote list
> - fetch-pack: support excluding large blobs
> - pack-objects: support --blob-max-bytes
> - pack-objects: rename want_.* to ignore_.*
> - gc: do not repack promisor packfiles
> - rev-list: support termination at promisor objects
> - sha1_file: support lazily fetching missing objects
> - introduce fetch-object: fetch one promisor object
> - index-pack: refactor writing of .keep files
> - fsck: support promisor objects as CLI argument
> - fsck: support referenced promisor objects
> - fsck: support refs pointing to promisor objects
> - fsck: introduce partialclone extension
>
> A journey for "git clone" and "git fetch" to become "lazier" by
> depending more on its remote repository---this is the beginning of
> it.
>
> Needs review.
The merge of this topic into jch (at 766f92478b0) causes the test suite
to fail when compiled with ASan/UBSan. The simplest reproduction I could
come up with is:
$ make SANITIZE=address,undefined BLK_SHA1=1 &&
GIT_DIR=nope ./git shortlog </dev/null >/dev/null
repository.c:69:31: runtime error: index 1869098813 out of bounds for type
'git_hash_algo [1]'
Note that the series is fine by itself, it's only the merge which fails.
Which implies to me it's some funny interaction with bc/hash-algo (which
introduces the hash_algo concept). But I didn't dig further.
+cc brian and Jonathan.
-Peff