]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2026/01 #05)
authorJunio C Hamano <gitster@pobox.com>
Thu, 15 Jan 2026 18:40:54 +0000 (10:40 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 15 Jan 2026 18:40:54 +0000 (10:40 -0800)
whats-cooking.txt

index 95234cde9fddc0b45b11c943336e4935cc9b0e30..56ede19e001e86a2b83e5499face5643b380fe7d 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
-Subject: What's cooking in git.git (Jan 2026, #04)
-X-master-at: 8745eae506f700657882b9e32b2aa00f234a6fb6
-X-next-at: 054afa95bc2d358432c7c8a34045c160b9f262b3
+Subject: What's cooking in git.git (Jan 2026, #05)
+X-master-at: 7264e61d87e58b9d0f5e6424c47c11e9657dfb75
+X-next-at: de669ffdefc742a24e3b6c5b7c1293aa35dc9ac2
 Bcc: lwn@lwn.net, gitster@pobox.com
 
-What's cooking in git.git (Jan 2026, #04)
+What's cooking in git.git (Jan 2026, #05)
 -----------------------------------------
 
 Here are the topics that have been cooking in my tree.  Commits
@@ -48,67 +48,351 @@ Release tarballs are available at:
 --------------------------------------------------
 [Graduated to 'master']
 
-* ja/doc-synopsis-style-more (2025-12-20) 5 commits
-  (merged to 'next' on 2026-01-05 at 20eb741139)
- + doc: convert git-remote to synopsis style
- + doc: convert git stage to use synopsis block
- + doc: convert git-status tables to AsciiDoc format
- + doc: convert git-status to synopsis style
- + doc: fix t0450-txt-doc-vs-help to select only first synopsis block
+* kh/replay-invalid-onto-advance (2026-01-05) 6 commits
+  (merged to 'next' on 2026-01-08 at 1024748f91)
+ + t3650: add more regression tests for failure conditions
+ + replay: die if we cannot parse object
+ + replay: improve code comment and die message
+ + replay: die descriptively when invalid commit-ish is given
+ + replay: find *onto only after testing for ref name
+ + replay: remove dead code and rearrange
+ (this branch is used by ps/history and pw/replay-drop-empty.)
+
+ Improve the error message when a bad argument is given to the
+ `--onto` option of "git replay".  Test coverage of "git replay" has
+ been improved.
+ cf. <CABPp-BGFNyKkpcWWksqvNqyXspMqfywbYyyhuSUaL41YHNHoNg@mail.gmail.com>
+ source: <V3_CV_replay_die_descr.1a4@msgid.xyz>
+
+
+* ps/clar-integers (2025-12-06) 3 commits
+  (merged to 'next' on 2026-01-08 at 9f9674ac20)
+ + gitattributes: disable blank-at-eof errors for clar test expectations
+ + t/unit-tests: demonstrate use of integer comparison assertions
+ + t/unit-tests: update clar to 39f11fe
+
+ Import newer version of "clar", unit testing framework.
+ source: <20251206-b4-pks-clar-update-v2-0-9a14b10c1a36@pks.im>
+
+
+* ps/odb-misc-fixes (2026-01-06) 3 commits
+  (merged to 'next' on 2026-01-08 at 850d35a76d)
+ + odb: properly close sources before freeing them
+ + builtin/gc: fix condition for whether to write commit graphs
+ + Merge branch 'ps/object-source-management' into ps/odb-misc-fixes
+ (this branch is used by ps/packfile-store-in-odb-source.)
+
+ Miscellaneous fixes on object database layer.
+ source: <20260106-odb-related-fixes-v3-0-7ac157207b20@pks.im>
+
+
+* pt/t7800-difftool-test-racefix (2026-01-03) 1 commit
+  (merged to 'next' on 2026-01-06 at 572d775bca)
+ + t7800: fix racy "difftool --dir-diff syncs worktree" test
+
+ Test fixup.
+ source: <pull.2149.v3.git.git.1767472809897.gitgitgadget@gmail.com>
+
+--------------------------------------------------
+[Stalled]
+
+* dw/config-global-list (2025-10-09) 4 commits
+ - config: keep bailing on unreadable global files
+ - config: read global scope via config_sequence
+ - config: test home and xdg files in `list --global`
+ - cleanup_path: force forward slashes on Windows
+
+ "git config --list --global", unlike "git config --list", did not
+ consult both of the two possible per-user sources of the
+ configuration files, i.e. $HOME/.gitconfig and the XDG one, which
+ has been corrected.
+
+ Will discard. Has been waiting for a reroll for too long.
+ cf. <20251122020047.GB3947@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
+ source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
+
+
+* ms/doc-worktree-side-by-side (2025-10-10) 2 commits
+ - doc: git-worktree: Add side by side branch checkout example
+ - doc: git-worktree: Link to examples
+
+ Document "git worktree add" and use of out-of-tree worktrees with
+ examples.
+
+ Will discard. Has been waiting for a reroll for too long.
+ cf. <CAPig+cSNesf0UwS4=Bxe-Qn+G9y3YYPyOK+7y3q8QJk+o7jaVg@mail.gmail.com>
+ source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
+
+
+* jc/exclude-with-gitignore (2025-11-04) 1 commit
+ - dir.c: do not be fooled by :(exclude) pathspec elements
+
+ "git add ':(exclude)foo.o'" is clearly a request not to add 'foo.o',
+ but the command complained about listing an ignored path foo.o on
+ the command line, which has been corrected.
+
+ Will discard. Has been waiting for further comments for too long.
+ source: <xmqqtsz9o3cn.fsf@gitster.g>
+
+
+* lc/rebase-trailer (2025-11-05) 4 commits
+ - rebase: support --trailer
+ - trailer: append trailers in-process and drop the fork to `interpret-trailers`
+ - trailer: move process_trailers to trailer.h
+ - interpret-trailers: factor out buffer-based processing to process_trailers()
+
+ Refactor code paths to run "interpret-trailers" from "git
+ commit/tag" and use it in "git rebase".
+
+ Will discard. Has been waiting for a reroll for too long.
+ cf. <19a8fe42354.3909481a3912041.7970296104893780556@linux.beauty>
+ source: <20251105142944.73061-1-me@linux.beauty>
+
+
+* sp/shallow-time-boundary (2025-11-23) 1 commit
+ - shallow: set borders which are all reachable after clone shallow since
+
+ The set of shallow boundary "git clone --shallow-since" leaves
+ contained commits that are not on the boundary, which has been
+ corrected.
+
+ Will discard. Has been waiting for further comments for too long.
+ source: <pull.2107.v2.git.git.1763926552033.gitgitgadget@gmail.com>
+
+
+* tc/last-modified-options-cleanup (2025-11-26) 4 commits
+ - fixup! last-modified: document option --max-depth
+ - last-modified: document how depth is handled better
+ - last-modified: document option --max-depth
+ - last-modified: handle and document NUL termination
 
- More doc style updates.
- source: <pull.2020.git.1766258187.gitgitgadget@gmail.com>
+ The "-z" and "--max-depth" documentation (and implementation of
+ "-z") in the "git last-modified" command have been updated.
 
+ Will discard. Has been waiting for a reroll for too long.
+ source: <20251126-toon-last-modified-zzzz-v1-0-608350df0caa@iotcl.com>
 
-* js/mailmap-karsten-blees (2026-01-10) 1 commit
-  (merged to 'next' on 2026-01-10 at 90c69f0044)
- + .mailmap: replace Karsten Blees' default address
 
- Mailmap update for Karsten
- source: <pull.2029.git.1768043204134.gitgitgadget@gmail.com>
+* jk/parse-int (2025-11-30) 5 commits
+ - fsck: use parse_unsigned_from_buf() for parsing timestamp
+ - cache-tree: use parse_int_from_buf()
+ - parse: add functions for parsing from non-string buffers
+ - parse: prefer bool to int for boolean returns
+ - Merge branch 'jk/asan-bonanza' into jk/parse-int
 
+ Introduce a more robust way to parse a decimal integer stored in a
+ piece of memory that is not necessarily terminated with NUL (which
+ Asan strict-string-check complains even when use of strtol() is
+ safe due to varified existence of whitespace after the digits).
 
-* ps/t1300-2021-use-test-path-is-helpers (2026-01-04) 1 commit
-  (merged to 'next' on 2026-01-05 at c9366fe5a0)
- + t1300: use test helpers instead of `test` command
+ Will discard. Has been waiting for a reroll for too long.
+ cf. <aTFvKOHlm4zfT9dU@pks.im>
+ cf. <4d83375b-76e2-4420-80dd-6a04d3201532@gmail.com>
+ source: <20251130131351.GA198697@coredump.intra.peff.net>
 
- Test updates.
- source: <20260104194812.15134-1-pushkarkumarsingh1970@gmail.com>
 
+* kn/ref-location (2025-12-01) 2 commits
+ - refs: add GIT_REF_URI to specify reference backend and directory
+ - refs: support obtaining ref_store for given dir
 
-* rs/commit-stack (2025-12-24) 14 commits
-  (merged to 'next' on 2026-01-05 at 8b44eff694)
- + commit-reach: use commit_stack
- + commit-graph: use commit_stack
- + commit: add commit_stack_grow()
- + shallow: use commit_stack
- + pack-bitmap-write: use commit_stack
- + commit: add commit_stack_init()
- + test-reach: use commit_stack
- + remote: use commit_stack for src_commits
- + remote: use commit_stack for sent_tips
- + remote: use commit_stack for local_commits
- + name-rev: use commit_stack
- + midx: use commit_stack
- + log: use commit_stack
- + revision: export commit_stack
+ A mechanism to specify what reference backend to use and store
+ references in which directory is introduced, which would likely to
+ be useful during ref migration.
+
+ Will discard. Has been waiting for further comments for too long.
+ source: <20251201-kn-alternate-ref-dir-v3-0-c11b946bc2fa@gmail.com>
 
- Code clean-up, unifying various hand-rolled "list of commit
- objects" and use the commit_stack API.
- source: <20251224170327.68049-1-l.s.r@web.de>
 
+* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
+ - xdiff: re-diff shifted change groups when using histogram algorithm
+
+ The final clean-up phase of the diff output could turn the result of
+ histogram diff algorithm suboptimal, which has been corrected.
+
+ Will discard. Has been waiting for further comments for too long.
+ source: <pull.2120.git.git.1765054287938.gitgitgadget@gmail.com>
+
+
+* js/neuter-sideband (2025-12-17) 4 commits
+ - sideband: add options to allow more control sequences to be passed through
+ - sideband: do allow ANSI color sequences by default
+ - sideband: introduce an "escape hatch" to allow control characters
+ - sideband: mask control characters
 
-* sb/bundle-uri-without-uri (2025-12-19) 1 commit
-  (merged to 'next' on 2026-01-05 at 62d0a58199)
- + bundle-uri: validate that bundle entries have a uri
+ Invalidate control characters in sideband messages, to avoid
+ terminal state getting messed up.
 
- Diagnose invalid bundle-URI that lack the URI entry, instead of
- crashing.
- source: <pull.2134.v2.git.git.1766160106521.gitgitgadget@gmail.com>
+ Will discard. Has been waiting for further comments for too long.
+ cf. <aS-D5lD2Kk6BHNIl@fruit.crustytoothpaste.net>
+ source: <pull.1853.v2.git.1765981422.gitgitgadget@gmail.com>
 
 --------------------------------------------------
 [New Topics]
 
+* tc/last-modified-not-a-tree (2026-01-14) 3 commits
+ - last-modified: verify revision argument is a commit-ish
+ - last-modified: remove double error message
+ - last-modified: rewrite error message when more than one revision given
+
+ Giving "git last-modified" a tree (not a commit-ish) died an
+ uncontrolled death, which has been corrected.
+
+ Expecting a reroll?
+ cf. <aWd2VcX7gERTDK2t@pks.im>
+ cf. <bc0db8d5-3c5f-4dd4-9c35-ccb02a6bf5c9@app.fastmail.com>
+ source: <20260114-toon-last-modified-tree-v2-0-ba3b1860898f@iotcl.com>
+
+
+* sp/myfirstcontribution-include-update (2026-01-12) 1 commit
+ - doc: MyFirstContribution: fix missing dependencies and clarify build steps
+
+ Doc update.
+
+ Will merge to 'next'?
+ source: <20260112195625.391821-1-shreyanshpaliwalcmsmn@gmail.com>
+
+
+* ar/run-command-hook-pre-push-fix (2026-01-14) 2 commits
+ - hook: make ungroup opt-out instead of opt-in
+ - hook: allow hooks to disable stdout_to_stderr
+ (this branch uses ar/run-command-hook.)
+
+ Recent update to use run-hooks API broke pre-push hook, which has
+ been corrected.
+
+ Will merge to 'next' and then to 'master'.
+ source: <20260114185731.2381550-3-adrian.ratiu@collabora.com>
+
+
+* cs/add-skip-submodule-ignore-all (2026-01-13) 5 commits
+ - Documentation: update add --force option + ignore=all config
+ - tests: fix existing tests when add an ignore=all submodule
+ - tests: t2206-add-submodule-ignored: ignore=all and add --force tests
+ - read-cache: submodule add need --force given ignore=all configuration
+ - read-cache: update add_files_to_cache take param ignored_too
+
+ "git add <submodule>" has been taught to honor
+ submodule.<name>.ignore that is set to "all" (and requires "git add
+ -f" to override it).
+
+ Expecting a reroll?
+ cf. <B94F0800-06B5-47BC-8C22-AAE1882E5B9C@gmail.com>
+ source: <37fe7956e089394bb1d75f4c8af4a3347b204803.1768376879.git.gitgitgadget@gmail.com>
+
+
+* kn/ref-batch-output-error-reporting-fix (2026-01-14) 6 commits
+ - receive-pack: utilize rejected ref error details
+ - fetch: utilize rejected ref error details
+ - update-ref: utilize rejected error details if available
+ - refs: add rejection detail to the callback function
+ - refs: attach rejection details to updates
+ - refs: remove unused header
+
+ A handful of code paths that started using batched ref update API
+ (after Git 2.51 or so) lost detailed error output, which have been
+ corrected.
+
+ Expecting a reroll?
+ cf. <20260114175558.GG885771@coredump.intra.peff.net>
+ source: <20260114-633-regression-lost-diagnostic-message-when-pushing-non-commit-objects-to-refs-heads-v1-6-f5f8b173c501@gmail.com>
+
+
+* ps/geometric-repacking-with-promisor-remotes (2026-01-05) 5 commits
+  (merged to 'next' on 2026-01-15 at a5a24c2f14)
+ + builtin/repack: handle promisor packs with geometric repacking
+ + repack-promisor: extract function to remove redundant packs
+ + repack-promisor: extract function to finalize repacking
+ + repack-geometry: extract function to compute repacking split
+ + builtin/pack-objects: exclude promisor objects with "--stdin-packs"
+
+ "git repack --geometric" did not work with promisor packs, which
+ has been corrected.
+
+ Will merge to 'master'.
+ source: <20260105-pks-geometric-repack-with-promisors-v1-0-c4660573437e@pks.im>
+
+
+* tb/midx-write-corrupt-checksum-fix (2026-01-12) 3 commits
+  (merged to 'next' on 2026-01-15 at c387b3f023)
+ + midx-write.c: assume checksum-invalid MIDXs require an update
+ + t/t5319-multi-pack-index.sh: drop early 'test_done'
+ + Merge branch 'ps/repack-avoid-noop-midx-rewrite' into tb/midx-write-corrupt-checksum-fix
+ (this branch is used by tb/incremental-midx-part-3.2.)
+
+ The logic that avoids reusing MIDX files with a wrong checksum was
+ broken, which has been corrected.
+
+ Will merge to 'master'.
+ source: <cover.1768261435.git.me@ttaylorr.com>
+
+
+* ac/sparse-checkout-string-list-cleanup (2026-01-15) 1 commit
+ - sparse-checkout: optimize string_list construction
+
+ Code clean-up.
+
+ Will merge to 'next'.
+ source: <20260115130935.93526-1-amishhhaaaa@gmail.com>
+
+
+* ps/commit-list-functions-renamed (2026-01-15) 3 commits
+ - commit: rename `free_commit_list()` to conform to coding guidelines
+ - commit: rename `reverse_commit_list()` to conform to coding guidelines
+ - commit: rename `copy_commit_list()` to conform to coding guidelines
+
+ Rename three functions around the commit_list data structure.
+
+ Comments?
+ source: <20260115-pks-commit-list-coding-guidelines-v1-0-c58868dbf412@pks.im>
+
+
+* ps/config-doc-get-urlmatch-fix (2026-01-15) 1 commit
+ - Documentation/config: fix replacement for --get-urlmatch
+
+ Docfix.
+
+ Will merge to 'next'.
+ source: <20260115110832.15315-1-pushkarkumarsingh1970@gmail.com>
+
+
+* ps/odb-for-each-object (2026-01-15) 16 commits
+ - odb: drop unused `for_each_{loose,packed}_object()` functions
+ - reachable: convert to use `odb_for_each_object()`
+ - builtin/pack-objects: use `packfile_store_for_each_object()`
+ - odb: introduce mtime fields for object info requests
+ - treewide: drop uses of `for_each_{loose,packed}_object()`
+ - treewide: enumerate promisor objects via `odb_for_each_object()`
+ - builtin/fsck: refactor to use `odb_for_each_object()`
+ - odb: introduce `odb_for_each_object()`
+ - packfile: introduce function to iterate through objects
+ - packfile: extract function to iterate through objects of a store
+ - object-file: introduce function to iterate through objects
+ - object-file: extract function to read object info from path
+ - odb: fix flags parameter to be unsigned
+ - odb: rename `FOR_EACH_OBJECT_*` flags
+ - Merge branch 'ps/packfile-store-in-odb-source' into ps/odb-for-each-object
+ - Merge branch 'ps/read-object-info-improvements' into ps/odb-for-each-object
+ (this branch uses ps/packfile-store-in-odb-source and ps/read-object-info-improvements.)
+
+ Revamp object enumeration API around odb.
+
+ Comments?
+ source: <20260115-pks-odb-for-each-object-v1-0-5418a91d5d99@pks.im>
+
+
+* ps/validate-prefix-in-subtree-split (2026-01-15) 1 commit
+ - subtree: validate --prefix against commit in split
+
+ "git subtree split --prefix=P <commit>" now checks the prefix P
+ against the tree of the (potentially quite different from the
+ current working tree) given commit.
+
+ Expecting a reroll?
+ source: <20260115122652.18673-2-pushkarkumarsingh1970@gmail.com>
+
+--------------------------------------------------
+[Cooking]
+
 * bc/doc-stash-import-export (2026-01-08) 1 commit
   (merged to 'next' on 2026-01-10 at 48f26103bc)
  + gitfaq: document using stash import/export to sync working tree
@@ -158,6 +442,7 @@ Release tarballs are available at:
 * ar/run-command-hook (2026-01-09) 1 commit
   (merged to 'next' on 2026-01-10 at 236f60e30d)
  + hook: check for NULL pointer before deref
+ (this branch is used by ar/run-command-hook-pre-push-fix.)
 
  Fix-up a topic that has recently graduated to 'master'.
 
@@ -166,27 +451,28 @@ Release tarballs are available at:
 
 
 * ps/ref-consistency-checks (2026-01-12) 17 commits
- - builtin/fsck: drop `fsck_head_link()`
- - builtin/fsck: move generic HEAD check into `refs_fsck()`
- - builtin/fsck: move generic object ID checks into `refs_fsck()`
- - refs/reftable: introduce generic checks for refs
- - refs/reftable: fix consistency checks with worktrees
- - refs/reftable: extract function to retrieve backend for worktree
- - refs/reftable: adapt includes to become consistent
- - refs/files: introduce function to perform normal ref checks
- - refs/files: extract generic symref target checks
- - fsck: drop unused fields from `struct fsck_ref_report`
- - refs/files: perform consistency checks for root refs
- - refs/files: improve error handling when verifying symrefs
- - refs/files: extract function to check single ref
- - refs/files: remove useless indirection
- - refs/files: remove `refs_check_dir` parameter
- - refs/files: move fsck functions into global scope
- - refs/files: simplify iterating through root refs
+  (merged to 'next' on 2026-01-13 at ba6c9deadb)
+ + builtin/fsck: drop `fsck_head_link()`
+ + builtin/fsck: move generic HEAD check into `refs_fsck()`
+ + builtin/fsck: move generic object ID checks into `refs_fsck()`
+ + refs/reftable: introduce generic checks for refs
+ + refs/reftable: fix consistency checks with worktrees
+ + refs/reftable: extract function to retrieve backend for worktree
+ + refs/reftable: adapt includes to become consistent
+ + refs/files: introduce function to perform normal ref checks
+ + refs/files: extract generic symref target checks
+ + fsck: drop unused fields from `struct fsck_ref_report`
+ + refs/files: perform consistency checks for root refs
+ + refs/files: improve error handling when verifying symrefs
+ + refs/files: extract function to check single ref
+ + refs/files: remove useless indirection
+ + refs/files: remove `refs_check_dir` parameter
+ + refs/files: move fsck functions into global scope
+ + refs/files: simplify iterating through root refs
 
  Update code paths that check data integrity around refs subsystem.
 
- Will merge to 'next".
+ Will merge to 'master'.
  cf. <CAOLa=ZShPP3BPXa=YnC-vuX4zF=pUTFdUidZwOdna8bfVTNM9w@mail.gmail.com>
  source: <20260112-pks-refs-verify-fixes-v2-0-2e9e453bd6c3@pks.im>
 
@@ -213,12 +499,13 @@ Release tarballs are available at:
 
 
 * cs/rebased-subtree-split (2026-01-09) 1 commit
- - contrib/subtree: detect rewritten subtree commits
+  (merged to 'next' on 2026-01-13 at b213ccc8c1)
+ + contrib/subtree: detect rewritten subtree commits
 
  The split command in "git subtree" (in contrib/) has been taught to
  deal better with rebased history.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260110011811.788219-1-ask+git@howdoi.land>
 
 
@@ -230,40 +517,42 @@ Release tarballs are available at:
  get confused where the updated shallow points are, which has been
  corrected.
 
- Will merge to 'next'?
+ Expecting a reroll?
+ cf. <11b951ab-b624-4ab8-b7b1-fe41a40c9d0e@app.fastmail.com>
+ cf. <f021269b-c89c-41c8-aa08-2ec2443ac7e8@app.fastmail.com>
  source: <pull.2121.v2.git.git.1767997426.gitgitgadget@gmail.com>
 
 
 * kt/http-backend-errors (2026-01-11) 1 commit
- - http-backend: write newlines to stderr when responding with errors
+  (merged to 'next' on 2026-01-13 at 35d72c8eb9)
+ + http-backend: write newlines to stderr when responding with errors
 
  Some error messages from the http transport layer lacked the
  terminating newline, which has been corrected.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260112014508.17248-1-kj@kjtsanaktsidis.id.au>
 
 
 * ps/t1410-cleanup (2026-01-11) 1 commit
- - t1410: use test helpers in reflog rewind test
+  (merged to 'next' on 2026-01-13 at 51b666d16e)
+ + t1410: use test helpers in reflog rewind test
 
  Test clean-up.
 
- Will merge to 'next'.
+ Will merge to 'master'.
  source: <20260111191525.17087-1-pushkarkumarsingh1970@gmail.com>
 
 
-* dd/t5403-modernise (2026-01-11) 2 commits
+* dd/t5403-modernise (2026-01-12) 2 commits
  - t5403: use test_cmp for post-checkout argument checks
- - t5403:introduce check_post_checkout helper function
+ - t5403: introduce check_post_checkout helper function
 
  Test clean-up.
 
  Will merge to 'next'?
- source: <20260112065301.1290-3-deveshigurgaon@gmail.com>
+ source: <20260112163643.231-3-deveshigurgaon@gmail.com>
 
---------------------------------------------------
-[Cooking]
 
 * ml/doc-blame-markup (2026-01-08) 2 commits
   (merged to 'next' on 2026-01-10 at 1f87b77810)
@@ -338,7 +627,7 @@ Release tarballs are available at:
  source: <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
 
 
-* hn/status-compare-with-push (2026-01-10) 2 commits
+* hn/status-compare-with-push (2026-01-13) 2 commits
  - status: show comparison with push remote tracking branch
  - refactor format_branch_comparison in preparation
 
@@ -347,18 +636,20 @@ Release tarballs are available at:
  different (i.e., triangular workflow).
 
  Will merge to 'next'?
- source: <pull.2138.v22.git.git.1768074976.gitgitgadget@gmail.com>
+ source: <pull.2138.v25.git.git.1768306316.gitgitgadget@gmail.com>
 
 
-* ob/core-attributesfile-in-repository (2026-01-02) 1 commit
- - environment: move "core.attributesFile" into repo-setting
+* ob/core-attributesfile-in-repository (2026-01-13) 3 commits
+ - environment: move "branch.autoSetupMerge" into `struct repo_config_values`
+ - environment: environment: stop using core.sparseCheckout globally
+ - environment: stop storing `core.attributesFile` globally
 
  The core.attributesfile is intended to be set per repository, but
  were kept track of by a single global variable in-core, which has
  been corrected by moving it to per-repository data structure.
 
  Comments?
- source: <aVfzMsN2ouY3UBFG@ubuntu>
+ source: <cover.1768318762.git.belkid98@gmail.com>
 
 
 * aa/add-p-previous-decisions (2026-01-08) 1 commit
@@ -389,16 +680,6 @@ Release tarballs are available at:
  source: <pull.2150.v2.git.git.1767226763360.gitgitgadget@gmail.com>
 
 
-* pt/t7800-difftool-test-racefix (2026-01-03) 1 commit
-  (merged to 'next' on 2026-01-06 at 572d775bca)
- + t7800: fix racy "difftool --dir-diff syncs worktree" test
-
- Test fixup.
-
- Will merge to 'master'.
- source: <pull.2149.v3.git.git.1767472809897.gitgitgadget@gmail.com>
-
-
 * en/fsck-snapshot-ref-state (2026-01-09) 1 commit
   (merged to 'next' on 2026-01-12 at d5dff1bba4)
  + fsck: snapshot default refs before object walk
@@ -410,25 +691,6 @@ Release tarballs are available at:
  source: <pull.2026.v3.git.1767980953134.gitgitgadget@gmail.com>
 
 
-* kh/replay-invalid-onto-advance (2026-01-05) 6 commits
-  (merged to 'next' on 2026-01-08 at 1024748f91)
- + t3650: add more regression tests for failure conditions
- + replay: die if we cannot parse object
- + replay: improve code comment and die message
- + replay: die descriptively when invalid commit-ish is given
- + replay: find *onto only after testing for ref name
- + replay: remove dead code and rearrange
- (this branch is used by ps/history and pw/replay-drop-empty.)
-
- Improve the error message when a bad argument is given to the
- `--onto` option of "git replay".  Test coverage of "git replay" has
- been improved.
-
- Will merge to 'master'.
- cf. <CABPp-BGFNyKkpcWWksqvNqyXspMqfywbYyyhuSUaL41YHNHoNg@mail.gmail.com>
- source: <V3_CV_replay_die_descr.1a4@msgid.xyz>
-
-
 * cc/lop-filter-auto (2025-12-23) 9 commits
  - fetch-pack: wire up and enable auto filter logic
  - promisor-remote: keep advertised filter in memory
@@ -491,7 +753,10 @@ Release tarballs are available at:
 
  Upstream symbolic link support on Windows from Git-for-Windows.
 
- Will merge to 'next'?
+ Expecting a reroll.
+ cf. <5fe64b77-d10b-b66e-8622-14bec1e96f4a@gmx.de>
+ cf. <14388349-d1b5-fc8f-b6c7-4a7b43e64494@gmx.de>
+ cf. <704e952d-7924-00ce-b8b0-ad355e659335@gmx.de>
  source: <pull.2018.v2.git.1767989115.gitgitgadget@gmail.com>
 
 
@@ -505,93 +770,83 @@ Release tarballs are available at:
  source: <pull.2011.v4.git.1767804355831.gitgitgadget@gmail.com>
 
 
-* js/neuter-sideband (2025-12-17) 4 commits
- - sideband: add options to allow more control sequences to be passed through
- - sideband: do allow ANSI color sequences by default
- - sideband: introduce an "escape hatch" to allow control characters
- - sideband: mask control characters
-
- Invalidate control characters in sideband messages, to avoid
- terminal state getting messed up.
-
- Comments?
- cf. <aS-D5lD2Kk6BHNIl@fruit.crustytoothpaste.net>
- source: <pull.1853.v2.git.1765981422.gitgitgadget@gmail.com>
-
-
 * ps/read-object-info-improvements (2026-01-12) 8 commits
- - packfile: drop repository parameter from `packed_object_info()`
- - packfile: skip unpacking object header for disk size requests
- - packfile: disentangle return value of `packed_object_info()`
- - packfile: always populate pack-specific info when reading object info
- - packfile: extend `is_delta` field to allow for "unknown" state
- - packfile: always declare object info to be OI_PACKED
- - object-file: always set OI_LOOSE when reading object info
- - Merge branch 'jc/object-read-stream-fix' into ps/read-object-info-improvements
+  (merged to 'next' on 2026-01-14 at e84be1a7bc)
+ + packfile: drop repository parameter from `packed_object_info()`
+ + packfile: skip unpacking object header for disk size requests
+ + packfile: disentangle return value of `packed_object_info()`
+ + packfile: always populate pack-specific info when reading object info
+ + packfile: extend `is_delta` field to allow for "unknown" state
+ + packfile: always declare object info to be OI_PACKED
+ + object-file: always set OI_LOOSE when reading object info
+ + Merge branch 'jc/object-read-stream-fix' into ps/read-object-info-improvements
+ (this branch is used by ps/odb-for-each-object.)
 
  The object-info API has been cleaned up.
 
- Comments?
+ Will merge to 'master'.
  source: <20260112-b4-pks-odb-read-object-info-improvements-v5-0-9a6124e95bf2@pks.im>
 
 
-* tb/macos-iconv-workarounds (2026-01-11) 2 commits
- - utf8.c: enable workaround for iconv under macOS 14/15
- - utf8.c: prepare workaround for iconv under macOS 14/15
+* tb/macos-iconv-workarounds (2026-01-12) 2 commits
+  (merged to 'next' on 2026-01-13 at f2e51d72b8)
+ + utf8.c: enable workaround for iconv under macOS 14/15
+ + utf8.c: prepare workaround for iconv under macOS 14/15
 
  The iconv library on macOS fails to correctly handle stateful
  ISO/IEC 2022 encoded strings.  Work it around instead of replacing
  it wholesale from homebrew.
 
- Will merge to 'next'.
- source: <20260111195151.716191-1-tboegi@web.de>
+ Will merge to 'master'.
+ source: <20260112162553.774051-1-tboegi@web.de>
 
 
 * js/prep-symlink-windows (2026-01-09) 6 commits
- - trim_last_path_component(): avoid hard-coding the directory separator
- - strbuf_readlink(): support link targets that exceed 2*PATH_MAX
- - strbuf_readlink(): avoid calling `readlink()` twice in corner-cases
- - init: do parse _all_ core.* settings early
- - mingw: do resolve symlinks in `getcwd()`
- - Merge branch 'js/test-symlink-windows' into js/prep-symlink-windows
+  (merged to 'next' on 2026-01-14 at d05f3a8ea5)
+ + trim_last_path_component(): avoid hard-coding the directory separator
+ + strbuf_readlink(): support link targets that exceed 2*PATH_MAX
+ + strbuf_readlink(): avoid calling `readlink()` twice in corner-cases
+ + init: do parse _all_ core.* settings early
+ + mingw: do resolve symlinks in `getcwd()`
+ + Merge branch 'js/test-symlink-windows' into js/prep-symlink-windows
  (this branch is used by js/symlink-windows.)
 
  Further preparation to upstream symbolic link support on Windows.
 
- Will merge to 'next'?
+ Will merge to 'master'.
  source: <pull.2017.v2.git.1767989109.gitgitgadget@gmail.com>
 
 
-* ap/http-probe-rpc-use-auth (2025-11-12) 1 commit
- - remote-curl: Use auth for probe_rpc() requests too
+* ap/http-probe-rpc-use-auth (2026-01-14) 1 commit
+ - remote-curl: use auth for probe_rpc() requests too
 
  HTTP transport failed to authenticate in some code pahts, which has
  been corrected.
 
- Expecting a reroll?
- cf. <aWSvJbYBWpJc-Vcc@pks.im>
- source: <20251112223722.376330-1-aplattner@nvidia.com>
+ Will merge to 'next'?
+ source: <20260114163619.614297-2-aplattner@nvidia.com>
 
 
 * ps/packfile-store-in-odb-source (2026-01-09) 12 commits
- - packfile: move MIDX into packfile store
- - packfile: refactor `find_pack_entry()` to work on the packfile store
- - packfile: inline `find_kept_pack_entry()`
- - packfile: only prepare owning store in `packfile_store_prepare()`
- - packfile: only prepare owning store in `packfile_store_get_packs()`
- - packfile: move packfile store into object source
- - packfile: refactor misleading code when unusing pack windows
- - packfile: refactor kept-pack cache to work with packfile stores
- - packfile: pass source to `prepare_pack()`
- - packfile: create store via its owning source
- - Merge branch 'ps/odb-misc-fixes' into ps/packfile-store-in-odb-source
- - Merge branch 'ps/object-read-stream' into ps/packfile-store-in-odb-source
- (this branch uses ps/odb-misc-fixes.)
+  (merged to 'next' on 2026-01-14 at f375c8e347)
+ + packfile: move MIDX into packfile store
+ + packfile: refactor `find_pack_entry()` to work on the packfile store
+ + packfile: inline `find_kept_pack_entry()`
+ + packfile: only prepare owning store in `packfile_store_prepare()`
+ + packfile: only prepare owning store in `packfile_store_get_packs()`
+ + packfile: move packfile store into object source
+ + packfile: refactor misleading code when unusing pack windows
+ + packfile: refactor kept-pack cache to work with packfile stores
+ + packfile: pass source to `prepare_pack()`
+ + packfile: create store via its owning source
+ + Merge branch 'ps/odb-misc-fixes' into ps/packfile-store-in-odb-source
+ + Merge branch 'ps/object-read-stream' into ps/packfile-store-in-odb-source
+ (this branch is used by ps/odb-for-each-object.)
 
  The packfile_store data structure is moved from object store to odb
  source.
 
- Will merge to 'next'?
+ Will merge to 'master'.
  source: <20260109-b4-pks-pack-store-via-source-v3-0-877fd7b7bf81@pks.im>
 
 
@@ -616,32 +871,7 @@ Release tarballs are available at:
  source: <pull.2123.git.git.1765261419802.gitgitgadget@gmail.com>
 
 
-* ps/odb-misc-fixes (2026-01-06) 3 commits
-  (merged to 'next' on 2026-01-08 at 850d35a76d)
- + odb: properly close sources before freeing them
- + builtin/gc: fix condition for whether to write commit graphs
- + Merge branch 'ps/object-source-management' into ps/odb-misc-fixes
- (this branch is used by ps/packfile-store-in-odb-source.)
-
- Miscellaneous fixes on object database layer.
-
- Will merge to 'master'.
- source: <20260106-odb-related-fixes-v3-0-7ac157207b20@pks.im>
-
-
-* ps/clar-integers (2025-12-06) 3 commits
-  (merged to 'next' on 2026-01-08 at 9f9674ac20)
- + gitattributes: disable blank-at-eof errors for clar test expectations
- + t/unit-tests: demonstrate use of integer comparison assertions
- + t/unit-tests: update clar to 39f11fe
-
- Import newer version of "clar", unit testing framework.
-
- Will merge to 'master'.
- source: <20251206-b4-pks-clar-update-v2-0-9a14b10c1a36@pks.im>
-
-
-* tb/incremental-midx-part-3.2 (2025-12-06) 17 commits
+* tb/incremental-midx-part-3.2 (2026-01-14) 19 commits
  - midx: enable reachability bitmaps during MIDX compaction
  - midx: implement MIDX compaction
  - t/helper/test-read-midx.c: plug memory leak when selecting layer
@@ -657,61 +887,22 @@ Release tarballs are available at:
  - git-multi-pack-index(1): align SYNOPSIS with 'git multi-pack-index -h'
  - git-multi-pack-index(1): remove non-existent incompatibility
  - builtin/multi-pack-index.c: make '--progress' a common option
- - midx: split `get_midx_checksum()` by adding `get_midx_hash()`
+ - midx: introduce `midx_get_checksum_hex()`
+ - midx: rename `get_midx_checksum()` to `midx_get_checksum_hash()`
  - midx: mark `get_midx_checksum()` arguments as const
+ - Merge branch 'tb/midx-write-corrupt-checksum-fix' into tb/incremental-midx-part-3.2
+ (this branch uses tb/midx-write-corrupt-checksum-fix.)
 
  Further work on incremental repacking using MIDX/bitmap
 
- Expecting a reroll.
- cf. <aTd+fxpflcLuJXDn@nand.local>
- source: <cover.1765053054.git.me@ttaylorr.com>
-
-
-* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
- - xdiff: re-diff shifted change groups when using histogram algorithm
-
- The final clean-up phase of the diff output could turn the result of
- histogram diff algorithm suboptimal, which has been corrected.
-
  Comments?
- source: <pull.2120.git.git.1765054287938.gitgitgadget@gmail.com>
-
-
-* jk/parse-int (2025-11-30) 5 commits
- - fsck: use parse_unsigned_from_buf() for parsing timestamp
- - cache-tree: use parse_int_from_buf()
- - parse: add functions for parsing from non-string buffers
- - parse: prefer bool to int for boolean returns
- - Merge branch 'jk/asan-bonanza' into jk/parse-int
-
- Introduce a more robust way to parse a decimal integer stored in a
- piece of memory that is not necessarily terminated with NUL (which
- Asan strict-string-check complains even when use of strtol() is
- safe due to varified existence of whitespace after the digits).
-
- Expecting a reroll.
- cf. <aTFvKOHlm4zfT9dU@pks.im>
- cf. <4d83375b-76e2-4420-80dd-6a04d3201532@gmail.com>
- source: <20251130131351.GA198697@coredump.intra.peff.net>
-
-
-* tc/last-modified-options-cleanup (2025-11-26) 4 commits
- - fixup! last-modified: document option --max-depth
- - last-modified: document how depth is handled better
- - last-modified: document option --max-depth
- - last-modified: handle and document NUL termination
-
- The "-z" and "--max-depth" documentation (and implementation of
- "-z") in the "git last-modified" command have been updated.
-
- Expecting a reroll.
- source: <20251126-toon-last-modified-zzzz-v1-0-608350df0caa@iotcl.com>
+ source: <cover.1768420450.git.me@ttaylorr.com>
 
 
 * pw/replay-drop-empty (2025-12-18) 2 commits
  - replay: drop commits that become empty
  - Merge branch 'ps/history' into pw/replay-drop-empty
- (this branch uses kh/replay-invalid-onto-advance and ps/history.)
+ (this branch uses ps/history.)
 
  "git replay" is taught to drop commits that become empty (not the
  ones that are empty in the original).
@@ -720,70 +911,6 @@ Release tarballs are available at:
  source: <375adc4e941f3bb22a2b12ee26a083951ed724dd.1766076625.git.phillip.wood@dunelm.org.uk>
 
 
-* sp/shallow-time-boundary (2025-11-23) 1 commit
- - shallow: set borders which are all reachable after clone shallow since
-
- The set of shallow boundary "git clone --shallow-since" leaves
- contained commits that are not on the boundary, which has been
- corrected.
-
- Comments?
- source: <pull.2107.v2.git.git.1763926552033.gitgitgadget@gmail.com>
-
-
-* kn/ref-location (2025-12-01) 2 commits
- - refs: add GIT_REF_URI to specify reference backend and directory
- - refs: support obtaining ref_store for given dir
-
- A mechanism to specify what reference backend to use and store
- references in which directory is introduced, which would likely to
- be useful during ref migration.
-
- Comments?
- source: <20251201-kn-alternate-ref-dir-v3-0-c11b946bc2fa@gmail.com>
-
-
-* dw/config-global-list (2025-10-09) 4 commits
- - config: keep bailing on unreadable global files
- - config: read global scope via config_sequence
- - config: test home and xdg files in `list --global`
- - cleanup_path: force forward slashes on Windows
-
- "git config --list --global", unlike "git config --list", did not
- consult both of the two possible per-user sources of the
- configuration files, i.e. $HOME/.gitconfig and the XDG one, which
- has been corrected.
-
- Expecting a reroll.
- cf. <20251122020047.GB3947@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
- source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
-
-
-* lc/rebase-trailer (2025-11-05) 4 commits
- - rebase: support --trailer
- - trailer: append trailers in-process and drop the fork to `interpret-trailers`
- - trailer: move process_trailers to trailer.h
- - interpret-trailers: factor out buffer-based processing to process_trailers()
-
- Refactor code paths to run "interpret-trailers" from "git
- commit/tag" and use it in "git rebase".
-
- Expecting a reroll.
- cf. <19a8fe42354.3909481a3912041.7970296104893780556@linux.beauty>
- source: <20251105142944.73061-1-me@linux.beauty>
-
-
-* jc/exclude-with-gitignore (2025-11-04) 1 commit
- - dir.c: do not be fooled by :(exclude) pathspec elements
-
- "git add ':(exclude)foo.o'" is clearly a request not to add 'foo.o',
- but the command complained about listing an ignored path foo.o on
- the command line, which has been corrected.
-
- Comments?
- source: <xmqqtsz9o3cn.fsf@gitster.g>
-
-
 * bc/sha1-256-interop-02 (2025-11-17) 15 commits
  - object-file-convert: always make sure object ID algo is valid
  - rust: add a small wrapper around the hashfile code
@@ -819,7 +946,7 @@ Release tarballs are available at:
  source: <cover.1767649692.git.ben.knoble+github@gmail.com>
 
 
-* ps/history (2026-01-12) 9 commits
+* ps/history (2026-01-13) 9 commits
  - builtin/history: implement "reword" subcommand
  - builtin: add new "history" command
  - wt-status: provide function to expose status for trees
@@ -829,25 +956,15 @@ Release tarballs are available at:
  - builtin/replay: move core logic into "libgit.a"
  - builtin/replay: extract core logic to replay revisions
  - Merge branch 'kh/replay-invalid-onto-advance' into ps/history
- (this branch is used by pw/replay-drop-empty; uses kh/replay-invalid-onto-advance.)
+ (this branch is used by pw/replay-drop-empty.)
 
  "git history" history rewriting UI.
- source: <20260112-b4-pks-history-builtin-v10-0-e3c6aa5b4cec@pks.im>
-
 
-* ms/doc-worktree-side-by-side (2025-10-10) 2 commits
- - doc: git-worktree: Add side by side branch checkout example
- - doc: git-worktree: Link to examples
-
- Document "git worktree add" and use of out-of-tree worktrees with
- examples.
-
- Expecting a reroll.
- cf. <CAPig+cSNesf0UwS4=Bxe-Qn+G9y3YYPyOK+7y3q8QJk+o7jaVg@mail.gmail.com>
- source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
+ Will merge to 'next'?
+ source: <20260113-b4-pks-history-builtin-v11-0-e74ebfa2652d@pks.im>
 
 
-* ar/submodule-gitdir-tweak (2026-01-07) 11 commits
+* ar/submodule-gitdir-tweak (2026-01-12) 11 commits
  - submodule: detect conflicts with existing gitdir configs
  - submodule: hash the submodule name for the gitdir path
  - submodule: fix case-folding gitdir filesystem collisions
@@ -864,8 +981,8 @@ Release tarballs are available at:
  each other by encoding submodule names before using them as path
  components.
 
Comments?
- source: <20260107230145.517562-1-adrian.ratiu@collabora.com>
Will merge to 'next'?
+ source: <20260112184632.1334495-1-adrian.ratiu@collabora.com>
 
 --------------------------------------------------
 [Discarded]
@@ -876,6 +993,6 @@ Release tarballs are available at:
  The command line completion script (in contrib/) learned to
  complete "git -<TAB>" to give single-letter options like "-C".
 
- Will discard.  We do not complete single-letter options themselves.
+ We do not complete single-letter options themselves.
  cf. <xmqqo6onjfwl.fsf@gitster.g>
  source: <pull.2100.v2.git.git.1764174391776.gitgitgadget@gmail.com>