Web lists-archives.com

Re: What's cooking in git.git (Oct 2017, #01; Wed, 4)

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.