Subject: Re: What's cooking in git.git (Aug 2024, #05; Wed, 14)

From: Patrick Steinhardt <[email-masked]>
Date: Thu, 15 Aug 2024 10:44:25 +0200

On Wed, Aug 14, 2024 at 08:34:32PM -0700, Junio C Hamano wrote:
> * ps/clar-unit-test (2024-08-13) 8 commits
>  . t/unit-tests: convert ctype tests to use clar
>  . t/unit-tests: convert strvec tests to use clar
>  . Makefile: wire up the clar unit testing framework
>  . t/clar: fix compatibility with NonStop
>  . t/clar: fix another whitespace error
>  . t/clar: fix whitespace errors
>  . t: import the clar unit testing framework
>  . t: do not pass GIT_TEST_OPTS to unit tests with prove
> 
>  Import clar unit tests framework libgit2 folks invented for our
>  use.
> 
>  On hold.
>  cf. https://github.com/git/git/actions/runs/10377935505/job/28733214241
>  Seems to break "make sparse" among other things.
>  source: <[email-masked]>

Oh, I didn't notice it still breaks `make sparse`. Will have a look.

> * ps/leakfixes-part-4 (2024-08-14) 23 commits
>  - builtin/diff: free symmetric diff members
>  - diff: free state populated via options
>  - builtin/log: fix leak when showing converted blob contents
>  - userdiff: fix leaking memory for configured diff drivers
>  - builtin/format-patch: fix various trivial memory leaks
>  - diff: fix leak when parsing invalid ignore regex option
>  - unpack-trees: clear index when not propagating it
>  - sequencer: release todo list on error paths
>  - merge-ort: unconditionally release attributes index
>  - builtin/fast-export: plug leaking tag names
>  - builtin/fast-export: fix leaking diff options
>  - builtin/fast-import: plug trivial memory leaks
>  - builtin/notes: fix leaking `struct notes_tree` when merging notes
>  - builtin/rebase: fix leaking `commit.gpgsign` value
>  - config: fix leaking comment character config
>  - submodule-config: fix leaking name entry when traversing submodules
>  - read-cache: fix leaking hashfile when writing index fails
>  - bulk-checkin: fix leaking state TODO
>  - object-name: fix leaking symlink paths in object context
>  - object-file: fix memory leak when reading corrupted headers
>  - git: fix leaking system paths
>  - remote: plug memory leak when aliasing URLs
>  - Merge branch 'ps/leakfixes-part-3' into ps/leakfixes-part-4
> 
>  More leak fixes.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

This one is ready to be merged from my point of view.

> * ps/config-wo-the-repository (2024-08-13) 21 commits
>  - config: hide functions using `the_repository` by default
>  - global: prepare for hiding away repo-less config functions
>  - config: don't depend on `the_repository` with branch conditions
>  - config: don't have setters depend on `the_repository`
>  - config: pass repo to functions that rename or copy sections
>  - config: pass repo to `git_die_config()`
>  - config: pass repo to `git_config_get_expiry_in_days()`
>  - config: pass repo to `git_config_get_expiry()`
>  - config: pass repo to `git_config_get_max_percent_split_change()`
>  - config: pass repo to `git_config_get_split_index()`
>  - config: pass repo to `git_config_get_index_threads()`
>  - config: expose `repo_config_clear()`
>  - config: introduce missing setters that take repo as parameter
>  - path: hide functions using `the_repository` by default
>  - path: stop relying on `the_repository` in `worktree_git_path()`
>  - path: stop relying on `the_repository` when reporting garbage
>  - hooks: remove implicit dependency on `the_repository`
>  - editor: do not rely on `the_repository` for interactive edits
>  - path: expose `do_git_common_path()` as `repo_common_pathv()`
>  - path: expose `do_git_path()` as `repo_git_pathv()`
>  - Merge branch 'ps/refs-wo-the-repository' into ps/config-wo-the-repository
> 
>  Use of API functions that implicitly depend on the_repository
>  object in the config subsystem has been rewritten to pass a
>  repository object through the callchain.
> 
>  Will merge to 'next'?
>  source: <[email-masked]>

This one, as well.

Patrick