What's cooking (2026/01 #07)

This commit is contained in:
Junio C Hamano
2026-01-21 08:45:54 -08:00
parent 89e2b375ac
commit 29fecdcc1d

View File

@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Jan 2026, #06)
X-master-at: b5c409c40f1595e3e590760c6f14a16b6683e22c
X-next-at: 0ac79233d615b382626469283a2cd0dfe9edd163
Subject: What's cooking in git.git (Jan 2026, #07)
X-master-at: 83a69f19359e6d9bc980563caca38b2b5729808c
X-next-at: eba53bf80eb721f8e61c7b20a0dfc69f2d841278
Bcc: lwn@lwn.net, gitster@pobox.com
What's cooking in git.git (Jan 2026, #06)
What's cooking in git.git (Jan 2026, #07)
-----------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -21,6 +21,12 @@ Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors. Some
repositories have only a subset of branches.
Git 2.53-rc1 has been tagged. What's slated to 'master' as of this
edition of the "What's cooking" report will be merged and would
appear in the upcoming release, while everything else will have to
wait until the next cycle begins. Until then, please hunt for
regressions.
With maint, master, next, seen, todo:
git://git.kernel.org/pub/scm/git/git.git/
@@ -48,87 +54,169 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
* ac/t1420-use-more-direct-check (2026-01-06) 1 commit
(merged to 'next' on 2026-01-10 at 6bccdd0e04)
+ t1420: modernize the lost-found test
* cs/rebased-subtree-split (2026-01-09) 1 commit
(merged to 'next' on 2026-01-13 at b213ccc8c1)
+ contrib/subtree: detect rewritten subtree commits
Test update.
source: <20260106132658.798706-1-andchi@fastmail.com>
The split command in "git subtree" (in contrib/) has been taught to
deal better with rebased history.
source: <20260110011811.788219-1-ask+git@howdoi.land>
* 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
* 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
Update a FAQ entry on synching two separate repositories using the
"git stash export/import" recently introduced.
source: <20260109014608.42773-1-sandals@crustytoothpaste.net>
"git fsck" used inconsistent set of refs to show a confused
warning, which has been corrected.
source: <pull.2026.v3.git.1767980953134.gitgitgadget@gmail.com>
* ds/builtin-doc-update (2026-01-08) 1 commit
(merged to 'next' on 2026-01-10 at a98a468cf0)
+ builtin.h: update documentation
* je/doc-reset (2026-01-05) 4 commits
(merged to 'next' on 2026-01-12 at 44b4f99803)
+ doc: git-reset: clarify `git reset <pathspec>`
+ doc: git-reset: clarify `git reset [mode]`
+ doc: git-reset: clarify intro
+ doc: git-reset: reorder the forms
Update in-code comment doc to match the current API.
source: <pull.2028.git.1767929941577.gitgitgadget@gmail.com>
Documentation updates.
source: <cover.1767649692.git.ben.knoble+github@gmail.com>
* jk/cat-file-avoid-bitmap-when-unneeded (2026-01-06) 1 commit
(merged to 'next' on 2026-01-10 at 5e3f0240f7)
+ cat-file: only use bitmaps when filtering
* js/prep-symlink-windows (2026-01-09) 6 commits
(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.)
Fix for a performance regression in "git cat-file".
cf. <aV4Xa9ceY4ahYj2m@pks.im>
source: <20260106102558.GA68914@coredump.intra.peff.net>
Further preparation to upstream symbolic link support on Windows.
source: <pull.2017.v2.git.1767989109.gitgitgadget@gmail.com>
* jk/t-perf-fixes (2026-01-06) 2 commits
(merged to 'next' on 2026-01-10 at 9a633e87df)
+ t/perf/run: preserve GIT_PERF_* from environment
+ t/perf/perf-lib: fix assignment of TEST_OUTPUT_DIRECTORY
* kt/http-backend-errors (2026-01-11) 1 commit
(merged to 'next' on 2026-01-13 at 35d72c8eb9)
+ http-backend: write newlines to stderr when responding with errors
Perf-test fixes.
source: <20260106101043.GA3723319@coredump.intra.peff.net>
Some error messages from the http transport layer lacked the
terminating newline, which has been corrected.
source: <20260112014508.17248-1-kj@kjtsanaktsidis.id.au>
* kh/doc-patch-id (2026-01-07) 6 commits
(merged to 'next' on 2026-01-10 at 27a1d947d1)
+ doc: patch-id: --verbatim locks in --stable
+ doc: patch-id: spell out the git-diff-tree(1) form
+ doc: patch-id: use definite article for the result
+ patch-id: use “patch ID” throughout
+ doc: patch-id: capitalize Git version
+ doc: patch-id: dont use semicolon between bullet points
* ps/packfile-store-in-odb-source (2026-01-09) 12 commits
(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.)
"git patch-id" documentation updates.
source: <CV_doc_patch-id_3.1ab@msgid.xyz>
The packfile_store data structure is moved from object store to odb
source.
source: <20260109-b4-pks-pack-store-via-source-v3-0-877fd7b7bf81@pks.im>
* kj/t7101-modernize (2026-01-08) 1 commit
(merged to 'next' on 2026-01-10 at c33f8ae0bb)
+ t7101: modernize test path checks
* ps/read-object-info-improvements (2026-01-12) 8 commits
(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.)
Test update.
source: <20260109032027.68680-1-jayatheerthkulkarni2005@gmail.com>
The object-info API has been cleaned up.
source: <20260112-b4-pks-odb-read-object-info-improvements-v5-0-9a6124e95bf2@pks.im>
* ml/doc-blame-markup (2026-01-08) 2 commits
(merged to 'next' on 2026-01-10 at 1f87b77810)
+ doc: git-blame: convert to new doc format
+ doc: blame-options: convert to new doc format
* ps/ref-consistency-checks (2026-01-12) 17 commits
(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
Doc mark-up update.
cf. <2813520.mvXUDI8C0e@piment-oiseau>
source: <20260108153039.658217-1-git@michael.lyo.nz>
Update code paths that check data integrity around refs subsystem.
cf. <CAOLa=ZShPP3BPXa=YnC-vuX4zF=pUTFdUidZwOdna8bfVTNM9w@mail.gmail.com>
source: <20260112-pks-refs-verify-fixes-v2-0-2e9e453bd6c3@pks.im>
* ps/t1410-cleanup (2026-01-11) 1 commit
(merged to 'next' on 2026-01-13 at 51b666d16e)
+ t1410: use test helpers in reflog rewind test
Test clean-up.
source: <20260111191525.17087-1-pushkarkumarsingh1970@gmail.com>
* 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.
source: <20260112162553.774051-1-tboegi@web.de>
--------------------------------------------------
[New Topics]
* dk/replay-doc-omit-irrelevant-rev-list-options (2026-01-21) 2 commits
(merged to 'next' on 2026-01-21 at a17b449304)
+ lint-gitlink: preemptively ignore all /ifn?def|endif/ macros
+ replay: drop rev-list formatting options from manual
Documentation clean-up.
Will merge to 'master'.
source: <01a7acfaf87494419b3766da57d4c05cf99c79bb.1768873599.git.ben.knoble+github@gmail.com>
* pw/mailmap-self (2026-01-20) 1 commit
(merged to 'next' on 2026-01-21 at da7d118d77)
+ mailmap: add an entry for Phillip Wood
Unify entries in .mailmap file for Phillip Wood.
Will merge to 'master'.
source: <f10c3f680d58ca0abbf795ae8b0f2ad14ab85419.1768906910.git.phillip.wood@dunelm.org.uk>
--------------------------------------------------
[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
. 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
@@ -137,63 +225,68 @@ Release tarballs are available at:
Will discard. Has been waiting for a reroll for too long.
cf. <20251122020047.GB3947@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
cf. <xmqq1pjkyq25.fsf@gitster.g>
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
. 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>
cf. <xmqq7btcyq7f.fsf@gitster.g>
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
. 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.
cf. <xmqqwm1cxbad.fsf@gitster.g>
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()
. 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>
cf. <xmqqsec0xb50.fsf@gitster.g>
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
. 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.
cf. <xmqqfr80xanx.fsf@gitster.g>
source: <pull.2107.v2.git.git.1763926552033.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
. 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
@@ -203,22 +296,24 @@ Release tarballs are available at:
Will discard. Has been waiting for a reroll for too long.
cf. <aTFvKOHlm4zfT9dU@pks.im>
cf. <4d83375b-76e2-4420-80dd-6a04d3201532@gmail.com>
cf. <xmqqldhsxawm.fsf@gitster.g>
source: <20251130131351.GA198697@coredump.intra.peff.net>
* 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
. 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.
Will discard. Has been waiting for further comments for too long.
cf. <xmqqbjioxahm.fsf@gitster.g>
source: <20251201-kn-alternate-ref-dir-v3-0-c11b946bc2fa@gmail.com>
--------------------------------------------------
[New Topics]
[Cooking]
* ar/run-command-hook-take-2 (2026-01-14) 14 commits
- hook: make ungroup opt-out instead of opt-in
@@ -257,38 +352,42 @@ Release tarballs are available at:
* rj/cygwin-test-fixes-for-2.53 (2026-01-16) 2 commits
- t0610-reftable-basics: mitigate a flaky test on cygwin
- t9700/test.pl: fix path type expectation on cygwin
(merged to 'next' on 2026-01-21 at 8a1ed2cace)
+ t0610-reftable-basics: mitigate a flaky test on cygwin
+ t9700/test.pl: fix path type expectation on cygwin
Test fixup.
Will merge to 'next' and then to 'master'.
Will merge to 'master'.
source: <f46e023b-1925-41b2-9842-42e7cb727056@ramsayjones.plus.com>
* jx/build-options-gettext (2026-01-17) 1 commit
- help: report on whether or not gettext is enabled
(merged to 'next' on 2026-01-21 at dd35ac2e2a)
+ help: report on whether or not gettext is enabled
"git bugreport" and "git version --build-options" learned to
include use of 'gettext' feature, to make it easier to diagnose
problems around l10n.
Will merge to 'next'.
Will merge to 'master'.
source: <251e1b533ca2e38a9bedae44360ce636cdea4bc3.1768657640.git.zhiyou.jx@alibaba-inc.com>
* ty/t1005-test-path-is-helpers (2026-01-16) 1 commit
- t1005: modernize "! test -f" to "test_path_is_missing"
(merged to 'next' on 2026-01-21 at 690bb3b255)
+ t1005: modernize "! test -f" to "test_path_is_missing"
Test clean-up.
Will merge to 'next'.
Will merge to 'master'.
source: <20260117062515.319664-1-a3205153416@gmail.com>
* js/ci-leak-skip-svn (2026-01-17) 2 commits
- ci: skip CVS and P4 tests in leaks job, too
- ci(*-leaks): skip the git-svn tests to save time
(merged to 'next' on 2026-01-21 at ebcf21d088)
+ ci: skip CVS and P4 tests in leaks job, too
+ ci(*-leaks): skip the git-svn tests to save time
Dscho observed that SVN tests are taking too much time in CI leak
checking tasks, but most time is spent not in our code but in libsvn
@@ -296,23 +395,23 @@ Release tarballs are available at:
value to discover for us. Skip SVN, P4, and CVS tests in the leak
checking tasks.
Will merge to 'next' and down to 'master'.
source: <pull.2031.git.1768584676520.gitgitgadget@gmail.com>
Will merge to 'master'.
source: <b649f137-7140-4fb6-848a-b3408e54bbe5@gmail.com>
* jk/remote-tracking-ref-leakfix (2026-01-18) 4 commits
- remote: always allocate branch.push_tracking_ref
- remote: fix leak in branch_get_push_1() with invalid "simple" config
- remote: drop const return of tracking_for_push_dest()
- remote: return non-const pointer from error_buf()
(merged to 'next' on 2026-01-21 at 7f0736a973)
+ remote: always allocate branch.push_tracking_ref
+ remote: fix leak in branch_get_push_1() with invalid "simple" config
+ remote: drop const return of tracking_for_push_dest()
+ remote: return non-const pointer from error_buf()
(this branch is used by hn/status-compare-with-push.)
Leakfix.
Will merge to 'next'.
Will cook in 'next'.
source: <20260119051858.GA1991308@coredump.intra.peff.net>
--------------------------------------------------
[Cooking]
* yc/histogram-hunk-shift-fix (2025-12-06) 1 commit
- xdiff: re-diff shifted change groups when using histogram algorithm
@@ -339,18 +438,17 @@ Release tarballs are available at:
source: <pull.1853.v3.git.1768602373.gitgitgadget@gmail.com>
* tc/last-modified-options-cleanup (2026-01-16) 5 commits
* tc/last-modified-options-cleanup (2026-01-20) 4 commits
- last-modified: change default max-depth to 0
- last-modified: add option '--max-depth' to help output
- last-modified: document option --max-depth
- last-modified: add option '-z' to help output
- last-modified: document NUL termination
- last-modified: document option '--max-depth'
- last-modified: document option '-z'
- last-modified: clarify in the docs the command takes a pathspec
The "-z" and "--max-depth" documentation (and implementation of
"-z") in the "git last-modified" command have been updated.
Will merge to 'next'?
source: <20260116-toon-last-modified-zzzz-v2-0-79e44f2806fe@iotcl.com>
source: <20260120-toon-last-modified-zzzz-v3-0-9bffd4968b0e@iotcl.com>
* tc/last-modified-not-a-tree (2026-01-16) 4 commits
@@ -391,21 +489,20 @@ Release tarballs are available at:
source: <37fe7956e089394bb1d75f4c8af4a3347b204803.1768376879.git.gitgitgadget@gmail.com>
* kn/ref-batch-output-error-reporting-fix (2026-01-16) 7 commits
* kn/ref-batch-output-error-reporting-fix (2026-01-20) 6 commits
- fetch: delay user information post committing of transaction
- 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: skip to next ref when current ref is rejected
- refs: drop unnecessary header includes
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.
Will merge to 'next'?
source: <20260116-633-regression-lost-diagnostic-message-when-pushing-non-commit-objects-to-refs-heads-v2-0-925a0e9c7f32@gmail.com>
source: <20260120-633-regression-lost-diagnostic-message-when-pushing-non-commit-objects-to-refs-heads-v3-0-e0edb29acbef@gmail.com>
* ps/geometric-repacking-with-promisor-remotes (2026-01-05) 5 commits
@@ -467,7 +564,7 @@ Release tarballs are available at:
source: <20260115110832.15315-1-pushkarkumarsingh1970@gmail.com>
* ps/odb-for-each-object (2026-01-15) 16 commits
* ps/odb-for-each-object (2026-01-20) 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()`
@@ -484,12 +581,11 @@ Release tarballs are available at:
- 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>
source: <20260120-pks-odb-for-each-object-v2-0-d05cbfd3d6f8@pks.im>
* ps/validate-prefix-in-subtree-split (2026-01-15) 1 commit
@@ -503,33 +599,6 @@ Release tarballs are available at:
source: <20260115122652.18673-2-pushkarkumarsingh1970@gmail.com>
* ps/ref-consistency-checks (2026-01-12) 17 commits
(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 'master'.
cf. <CAOLa=ZShPP3BPXa=YnC-vuX4zF=pUTFdUidZwOdna8bfVTNM9w@mail.gmail.com>
source: <20260112-pks-refs-verify-fixes-v2-0-2e9e453bd6c3@pks.im>
* rs/tree-wo-the-repository (2026-01-15) 11 commits
(merged to 'next' on 2026-01-16 at 72f0a82905)
+ cocci: remove obsolete the_repository rules
@@ -552,17 +621,6 @@ Release tarballs are available at:
source: <20260109213021.2546-1-l.s.r@web.de>
* cs/rebased-subtree-split (2026-01-09) 1 commit
(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 'master'.
source: <20260110011811.788219-1-ask+git@howdoi.land>
* sp/shallow-deepen-relative-fix (2026-01-16) 2 commits
- shallow: handling fetch relative-deepen
- shallow: free local object_array allocations
@@ -575,27 +633,6 @@ Release tarballs are available at:
source: <pull.2121.v4.git.git.1768602661.gitgitgadget@gmail.com>
* kt/http-backend-errors (2026-01-11) 1 commit
(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 'master'.
source: <20260112014508.17248-1-kj@kjtsanaktsidis.id.au>
* ps/t1410-cleanup (2026-01-11) 1 commit
(merged to 'next' on 2026-01-13 at 51b666d16e)
+ t1410: use test helpers in reflog rewind test
Test clean-up.
Will merge to 'master'.
source: <20260111191525.17087-1-pushkarkumarsingh1970@gmail.com>
* dd/t5403-modernise (2026-01-12) 2 commits
- t5403: use test_cmp for post-checkout argument checks
- t5403: introduce check_post_checkout helper function
@@ -635,16 +672,18 @@ Release tarballs are available at:
source: <pull.2156.git.git.1767379944.gitgitgadget@gmail.com>
* hn/status-compare-with-push (2026-01-13) 2 commits
- status: show comparison with push remote tracking branch
* hn/status-compare-with-push (2026-01-18) 3 commits
- status: add status.compareBranches config for multiple branch comparisons
- refactor format_branch_comparison in preparation
- Merge branch 'jk/remote-tracking-ref-leakfix' into hn/status-compare-with-push
(this branch uses jk/remote-tracking-ref-leakfix.)
"git status" learned to show comparison between the current branch
and its push destination as well as its upstream, when the two are
different (i.e., triangular workflow).
Will merge to 'next'?
source: <pull.2138.v25.git.git.1768306316.gitgitgadget@gmail.com>
source: <pull.2138.v26.git.git.1768766353.gitgitgadget@gmail.com>
* ob/core-attributesfile-in-repository (2026-01-13) 3 commits
@@ -661,12 +700,13 @@ Release tarballs are available at:
* aa/add-p-previous-decisions (2026-01-08) 1 commit
- add -p: show user's hunk decision when selecting hunks
(merged to 'next' on 2026-01-21 at 4e2fe2bd9b)
+ add -p: show user's hunk decision when selecting hunks
"git add -p" and friends notes what the current status of the hunk
being shown is.
Will merge to 'next'?
Will cook in 'next'.
source: <aV_IGCld5T_dBxTs@Adekunles-MacBook-Air.local>
@@ -688,17 +728,6 @@ Release tarballs are available at:
source: <pull.2150.v2.git.git.1767226763360.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
"git fsck" used inconsistent set of refs to show a confused
warning, which has been corrected.
Will merge to 'master'.
source: <pull.2026.v3.git.1767980953134.gitgitgadget@gmail.com>
* 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
@@ -738,91 +767,41 @@ Release tarballs are available at:
* js/symlink-windows (2026-01-09) 19 commits
- mingw: special-case index entries for symlinks with buggy size
- mingw: emulate `stat()` a little more faithfully
- mingw: try to create symlinks without elevated permissions
- mingw: add support for symlinks to directories
- mingw: implement basic `symlink()` functionality (file symlinks only)
- mingw: implement `readlink()`
- mingw: allow `mingw_chdir()` to change to symlink-resolved directories
- mingw: support renaming symlinks
- mingw: handle symlinks to directories in `mingw_unlink()`
- mingw: add symlink-specific error codes
- mingw: change default of `core.symlinks` to false
- mingw: factor out the retry logic
- mingw: compute the correct size for symlinks in `mingw_lstat()`
- mingw: teach dirent about symlinks
- mingw: let `mingw_lstat()` error early upon problems with reparse points
- mingw: drop the separate `do_lstat()` function
- mingw: implement `stat()` with symlink support
- mingw: don't call `GetFileAttributes()` twice in `mingw_lstat()`
- Merge branch 'js/prep-symlink-windows' into js/symlink-windows
(this branch uses js/prep-symlink-windows.)
(merged to 'next' on 2026-01-21 at eaaead3f22)
+ mingw: special-case index entries for symlinks with buggy size
+ mingw: emulate `stat()` a little more faithfully
+ mingw: try to create symlinks without elevated permissions
+ mingw: add support for symlinks to directories
+ mingw: implement basic `symlink()` functionality (file symlinks only)
+ mingw: implement `readlink()`
+ mingw: allow `mingw_chdir()` to change to symlink-resolved directories
+ mingw: support renaming symlinks
+ mingw: handle symlinks to directories in `mingw_unlink()`
+ mingw: add symlink-specific error codes
+ mingw: change default of `core.symlinks` to false
+ mingw: factor out the retry logic
+ mingw: compute the correct size for symlinks in `mingw_lstat()`
+ mingw: teach dirent about symlinks
+ mingw: let `mingw_lstat()` error early upon problems with reparse points
+ mingw: drop the separate `do_lstat()` function
+ mingw: implement `stat()` with symlink support
+ mingw: don't call `GetFileAttributes()` twice in `mingw_lstat()`
+ Merge branch 'js/prep-symlink-windows' into js/symlink-windows
Upstream symbolic link support on Windows from Git-for-Windows.
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>
Will merge to 'master'.
source: <pull.2018.v2.git.1767989115.gitgitgadget@gmail.com>
* pc/lockfile-pid (2026-01-07) 1 commit
* pc/lockfile-pid (2026-01-20) 1 commit
- lockfile: add PID file for debugging stale locks
Allow recording process ID of the process that holds the lock next
to a lockfile for diagnosis.
Comments?
source: <pull.2011.v4.git.1767804355831.gitgitgadget@gmail.com>
* ps/read-object-info-improvements (2026-01-12) 8 commits
(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.
Will merge to 'master'.
source: <20260112-b4-pks-odb-read-object-info-improvements-v5-0-9a6124e95bf2@pks.im>
* 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 'master'.
source: <20260112162553.774051-1-tboegi@web.de>
* js/prep-symlink-windows (2026-01-09) 6 commits
(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 'master'.
source: <pull.2017.v2.git.1767989109.gitgitgadget@gmail.com>
Will merge to 'next'?
source: <pull.2011.v5.git.1768933954845.gitgitgadget@gmail.com>
* ap/http-probe-rpc-use-auth (2026-01-14) 1 commit
@@ -835,47 +814,24 @@ Release tarballs are available at:
source: <20260114163619.614297-2-aplattner@nvidia.com>
* ps/packfile-store-in-odb-source (2026-01-09) 12 commits
(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 'master'.
source: <20260109-b4-pks-pack-store-via-source-v3-0-877fd7b7bf81@pks.im>
* lo/repo-info-keys (2026-01-09) 3 commits
* lo/repo-info-keys (2026-01-19) 3 commits
- repo: add new flag --keys to git-repo-info
- repo: add a default output format to enum output_format
- Merge branch 'lo/repo-struct-z' into lo/repo-info-keys
"git repo info" learns "--keys" action to list known keys.
Expecting a (hopefully small and final) reroll?
cf. <12814829.O9o76ZdvQC@piment-oiseau>
source: <20251207190532.67107-1-lucasseikioshiro@gmail.com>
Will merge to 'next'?
source: <20260119210932.68893-1-lucasseikioshiro@gmail.com>
* sb/doc-update-ref-markup-fix (2025-12-08) 1 commit
- doc: fix `update-ref` `symref-create` formatting
(merged to 'next' on 2026-01-21 at 60d4750233)
+ doc: fix `update-ref` `symref-create` formatting
Doc mark-up fix.
Will merge to 'next'.
Will merge to 'master'.
source: <pull.2123.git.git.1765261419802.gitgitgadget@gmail.com>
@@ -943,19 +899,6 @@ Release tarballs are available at:
source: <20251117221621.2863243-1-sandals@crustytoothpaste.net>
* je/doc-reset (2026-01-05) 4 commits
(merged to 'next' on 2026-01-12 at 44b4f99803)
+ doc: git-reset: clarify `git reset <pathspec>`
+ doc: git-reset: clarify `git reset [mode]`
+ doc: git-reset: clarify intro
+ doc: git-reset: reorder the forms
Documentation updates.
Will merge to 'master'.
source: <cover.1767649692.git.ben.knoble+github@gmail.com>
* ps/history (2026-01-13) 9 commits
- builtin/history: implement "reword" subcommand
- builtin: add new "history" command
@@ -994,16 +937,3 @@ Release tarballs are available at:
Will merge to 'next'?
source: <20260112184632.1334495-1-adrian.ratiu@collabora.com>
--------------------------------------------------
[Discarded]
* wm/complete-git-short-opts (2025-11-26) 1 commit
. completion: complete "git -<TAB>" with short options
The command line completion script (in contrib/) learned to
complete "git -<TAB>" to give single-letter options like "-C".
We do not complete single-letter options themselves.
cf. <xmqqo6onjfwl.fsf@gitster.g>
source: <pull.2100.v2.git.git.1764174391776.gitgitgadget@gmail.com>