Subject: Re: What's cooking in git.git (Dec 2024, #01; Tue, 3)

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 3 Dec 2024 11:17:41 +0100

On Tue, Dec 03, 2024 at 03:48:10PM +0900, Junio C Hamano wrote:
> * kn/midx-wo-the-repository (2024-11-28) 10 commits
>  - midx: inline the `MIDX_MIN_SIZE` definition
>  - midx: pass down `hash_algo` to functions using global variables
>  - midx: pass `repository` to `load_multi_pack_index`
>  - midx: cleanup internal usage of `the_repository` and `the_hash_algo`
>  - midx-write: pass down repository to `write_midx_file[_only]`
>  - write-midx: add repository field to `write_midx_context`
>  - midx-write: use `revs->repo` inside `read_refs_snapshot`
>  - midx-write: pass down repository to static functions
>  - Merge branch 'kn/pass-repo-to-builtin-sub-sub-commands' into kn/midx-wo-the-repository
>  - Merge branch 'kn/the-repository' into kn/midx-wo-the-repository
>  (this branch uses kn/pass-repo-to-builtin-sub-sub-commands and kn/the-repository.)
> 
>  Yet another "pass the repository through the callchain" topic.
> 
>  Will merge to 'next'?
>  source: <20241127-374-refactor-midx-c-[email-masked]>

This series looks good to me.

> * jt/bundle-fsck (2024-11-28) 4 commits
>  - transport: propagate fsck configuration during bundle fetch
>  - fetch-pack: split out fsck config parsing
>  - bundle: support fsck message configuration
>  - bundle: add bundle verification options type
> 
>  "git bundle --unbundle" and "git clone" running on a bundle file
>  both learned to trigger fsck over the new objects with configurable
>  fck check levels.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I've posted one more question on this series about how the config
callback function is set up and why we ignore errors when parsing the
"fetch.fsck.skipList" config. So you may want to hold off merging until
that question was addressed.

> * ps/send-pack-unhide-error-in-atomic-push (2024-11-15) 6 commits
>  - push: not send push-options to server with --dry-run
>  - push: only ignore finish_connect() for dry-run mode
>  - t5543: atomic push reports exit code failure
>  - t5504: modernize test by moving heredocs into test bodies
>  - push: fix the behavior of the Done message for porcelain
>  - t5548: new test cases for push --porcelain and --dry-run
> 
>  "git push --atomic --porcelain" used to ignore failures from the
>  other side, losing the error status from the child process, which
>  has been corrected.
> 
>  Probably needs a redesign.
>  cf. <[email-masked]>
>  source: <[email-masked]>

I wonder whether we want to roll with the first version that I have sent
instead of using v2 from Jiang. It seems like a more minimal fix and
does not have the issue that we have different behaviour across dry-runs
and non-dry-runs.

In any case, additional input on this series would be welcome.

> * ps/build (2024-12-02) 24 commits
>  - meson: fix conflicts with in-flight topics
>  - Introduce support for the Meson build system
>  - Documentation: add comparison of build systems
>  - t: allow overriding build dir
>  - t: better support for out-of-tree builds
>  - Documentation: extract script to generate a list of mergetools
>  - Documentation: teach "cmd-list.perl" about out-of-tree builds
>  - Documentation: allow sourcing generated includes from separate dir
>  - Makefile: simplify building of templates
>  - Makefile: allow "bin-wrappers/" directory to exist
>  - Makefile: refactor generators to be PWD-independent
>  - Makefile: extract script to generate gitweb.js
>  - Makefile: extract script to generate gitweb.cgi
>  - Makefile: extract script to massage Shell scripts
>  - Makefile: use "generate-perl.sh" to massage Perl library
>  - Makefile: extract script to massage Perl scripts
>  - Makefile: consistently use PERL_PATH
>  - Makefile: generate doc versions via GIT-VERSION-GEN
>  - Makefile: generate "git.rc" via GIT-VERSION-GEN
>  - Makefile: propagate Git version via generated header
>  - Makefile: refactor GIT-VERSION-GEN to be reusable
>  - Makefile: consistently use @PLACEHOLDER@ to substitute
>  - Makefile: use common template for GIT-BUILD-OPTIONS
>  - Merge branch 'ps/clar-build-improvement' into ps/build
> 
>  Build procedure update plus introduction of Mason based builds
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

Fine with me.

> * kn/the-repository (2024-11-27) 10 commits
>  - packfile.c: remove unnecessary prepare_packed_git() call
>  - midx: add repository to `multi_pack_index` struct
>  - config: make `packed_git_(limit|window_size)` non-global variables
>  - config: make `delta_base_cache_limit` a non-global variable
>  - packfile: pass down repository to `for_each_packed_object`
>  - packfile: pass down repository to `has_object[_kept]_pack`
>  - packfile: pass down repository to `odb_pack_name`
>  - packfile: pass `repository` to static function in the file
>  - packfile: use `repository` from `packed_git` directly
>  - packfile: add repository to struct `packed_git`
>  (this branch is used by kn/midx-wo-the-repository.)
> 
>  Various implicit uses of 'the_repoository' in the packfile code
>  have been eliminated.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

I think there were two nits that Karthik has addressed but not yet sent
out. May make sense to wait for that final reroll before merging it
down.

Patrick