What's cooking (2026/09 #02)
parent
1d8aa0d6e5
commit
86b67bb8da
|
|
@ -1,10 +1,10 @@
|
|||
To: git@vger.kernel.org
|
||||
Subject: What's cooking in git.git (Sep 2026, #01)
|
||||
Subject: What's cooking in git.git (Sep 2026, #02)
|
||||
X-master-at: 3cb9185f65410273787f74333cc027d2ea5daada
|
||||
X-next-at: 17ff1f980877b90e8f08b7f40578888091f39337
|
||||
X-next-at: 73a4cd73de3e5a9f546c977afafb394d293a2882
|
||||
Bcc: lwn@lwn.net, gitster@pobox.com
|
||||
|
||||
What's cooking in git.git (Sep 2026, #01)
|
||||
What's cooking in git.git (Sep 2026, #02)
|
||||
-----------------------------------------
|
||||
|
||||
Here are the topics that have been cooking in my tree. Commits
|
||||
|
|
@ -19,8 +19,8 @@ arises).
|
|||
|
||||
The 22nd batch of topics have now graduated to the 'master' branch.
|
||||
We have 604 non-merge commits in 'master' since Git 2.55. There
|
||||
are 49 non-merge commits cooking in 'next' (note that some have
|
||||
been reverted), and 213 non-merge commits, including those in and
|
||||
are 66 non-merge commits cooking in 'next' (note that some have
|
||||
been reverted), and 223 non-merge commits, including those in and
|
||||
out of 'next', in 'seen' as of this writing.
|
||||
|
||||
Copies of the source code to Git live in many repositories, and the
|
||||
|
|
@ -51,173 +51,72 @@ Release tarballs are available at:
|
|||
|
||||
https://www.kernel.org/pub/software/scm/git/
|
||||
|
||||
--------------------------------------------------
|
||||
[Graduated to 'master']
|
||||
|
||||
* jc/rerere-doc-typofix (2026-08-24) 1 commit
|
||||
(merged to 'next' on 2026-08-25 at 62bdec98f9)
|
||||
+ rerere: technical documentation typofix
|
||||
|
||||
A missing preposition in the rerere technical documentation has been
|
||||
fixed.
|
||||
|
||||
Graduated to 'master'.
|
||||
source: <xmqqtsojp4zf.fsf@gitster.g>
|
||||
|
||||
|
||||
* ty/repository-fetch-if-missing (2026-08-14) 1 commit
|
||||
(merged to 'next' on 2026-08-25 at 2cc77c1ca1)
|
||||
+ repository: move fetch_if_missing into struct repository
|
||||
(this branch is used by ps/odb-stop-registering-in-memory-sources.)
|
||||
|
||||
The global variable 'fetch_if_missing' has been moved to a member in
|
||||
'struct repository', continuing the libification process and
|
||||
allowing per-repository control (such as for submodules).
|
||||
|
||||
Graduated to 'master'.
|
||||
cf. <xmqqmrun8jeu.fsf@gitster.g>
|
||||
source: <20260815064747.2196896-1-cat@malon.dev>
|
||||
|
||||
--------------------------------------------------
|
||||
[New Topics]
|
||||
|
||||
* jk/rev-info-argv-to-free (2026-08-31) 2 commits
|
||||
- revision: simplify mark_argv_for_free() callers
|
||||
- revision: hang on to "freed" argv elements
|
||||
* jc/history-missing-tree-errorfix (2026-09-02) 1 commit
|
||||
- history: do not dereference NULL when parent tree is missing
|
||||
|
||||
The memory ownership of argv elements passed to the revision
|
||||
machinery has been made more robust by keeping logically "freed"
|
||||
elements alive until the rev_info struct is released, preventing
|
||||
use-after-free bugs when options store references to them.
|
||||
Running "git history" in a corrupt repository can (unsurprisingly)
|
||||
segfault when a necessary tree object is not found.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apaSDqIEyc82Q_zE@pks.im>
|
||||
cf. <apayIuf9kXQcQPvS@pks.im>
|
||||
cf. <xmqq8q5ksvd8.fsf@gitster.g>
|
||||
source: <20260901062815.GC1075462@coredump.intra.peff.net>
|
||||
cf. <apknMr9Jk-CzdLAR@pks.im>
|
||||
source: <20260903063657.2067303-1-zkd18cjb@mail.ustc.edu.cn>
|
||||
|
||||
|
||||
* ps/ci-depends-on-ruby (2026-09-01) 1 commit
|
||||
- ci: fix missing Ruby dependency in "documentation" job
|
||||
* jc/pathspec-match-const (2026-09-03) 1 commit
|
||||
- pathspec: match and original in pathspec_item are const
|
||||
(this branch is used by yt/pathspec-negative-prefix.)
|
||||
|
||||
The CI job that builds the documentation failed because it lacked
|
||||
the 'gem' command. The 'asciidoc' package apparently stopped pulling
|
||||
in the 'ruby' package as a transitive dependency. The CI script has
|
||||
been updated to explicitly install 'ruby'.
|
||||
Two members in "struct pathspec_item" were of type "char *", but
|
||||
nobody updated the string through these pointers. They have been
|
||||
made "const char *" instead.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <20260902071113.GA70165@coredump.intra.peff.net>
|
||||
source: <20260901-b4-pks-ci-fix-documentation-job-v1-1-a8257ee2a9a4@pks.im>
|
||||
cf. <4439BA70-2C03-499D-B3CE-E43700C0A8DA@ytausch.de>
|
||||
source: <xmqqy0dib3ue.fsf_-_@gitster.g>
|
||||
|
||||
|
||||
* ps/odb-stop-registering-in-memory-sources (2026-09-02) 13 commits
|
||||
- odb: remove the ability to link sources ad-hoc
|
||||
- t/helper: stop registering alternates in "ref-store" command
|
||||
- t/helper: adapt read-midx to not link ad-hoc source anymore
|
||||
- builtin/multi-pack-index: refuse unknown sources with "--object-dir="
|
||||
- odb/packed: fix memory leaks when freeing source
|
||||
- tmp-objdir: drop unused function to register alternate
|
||||
- odb: remove infrastructure to register submodule sources
|
||||
- builtin/grep: stop registering submodule ODB as source
|
||||
- submodule-config: stop registering submodule sources
|
||||
- submodule-config: stop using `the_hash_algo`
|
||||
- submodule-config: remove uses of `the_repository`
|
||||
- cache-tree: remove dependency on `the_repository`
|
||||
- cache-tree: drop `the_repository` in `cache_tree_fully_valid()`
|
||||
- Merge branch 'ty/repository-fetch-if-missing' into ps/ps/odb-stop-registering-in-memory-sources
|
||||
* ps/tune-rerere-gc (2026-09-04) 2 commits
|
||||
- builtin/maintenance: improve heuristic for "rerere gc"
|
||||
- rerere: extract logic to determine whether entries are stale
|
||||
|
||||
The mechanism to register in-memory alternate object sources has
|
||||
been removed, as submodule object databases are now accessed
|
||||
natively via their own repository structures. This simplifies
|
||||
object database management and prepares the codebase for migrating
|
||||
alternate tracking into the files backend.
|
||||
|
||||
Needs review.
|
||||
source: <20260902-pks-odb-registering-in-memory-sources-v2-0-c6ca12fdea4d@pks.im>
|
||||
|
||||
|
||||
* jk/ci-use-system-asciidoctor (2026-09-02) 2 commits
|
||||
- ci: drop ALREADY_HAVE_ASCIIDOCTOR variable
|
||||
- ci: fix missing Ruby dependency in "documentation" job
|
||||
|
||||
The CI script to install dependencies for the documentation build
|
||||
has been updated to install asciidoctor directly via the system
|
||||
package manager instead of pinning to an older version via gem.
|
||||
Additionally, an obsolete variable used for retired Azure Pipelines
|
||||
environments has been removed.
|
||||
"git maintenance" triggered "rerere gc" in unappropriate times and
|
||||
interfered with "git rebase" etc. too much. The conditions "rerere
|
||||
gc" gets triggered have been tweaked.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apfWhYF6nmcFGKE3@pks.im>
|
||||
cf. <apfzihj-1YAhn5lT@pks.im>
|
||||
source: <20260902071409.GA641414@coredump.intra.peff.net>
|
||||
cf. <15a488b2-b4ae-4ac8-8cb3-f06ef5bbb52b@gmail.com>
|
||||
source: <20260904-b4-pks-maintenance-rerere-gc-heuristic-v2-0-b1691121fe1c@pks.im>
|
||||
|
||||
|
||||
* jk/submodule-error-leak (2026-09-01) 2 commits
|
||||
- submodule--helper: free URL when repository setup fails
|
||||
- repository: make repo_clear() idempotent
|
||||
* as/push-force-if-includes-no-reflog (2026-09-04) 1 commit
|
||||
- push: fix --force-if-includes when remote-tracking ref has no reflog
|
||||
|
||||
The error path in 'git submodule--helper' has been updated to plug a
|
||||
memory leak when a repository handle could not be obtained,
|
||||
leveraging an updated idempotent repo_clear().
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apfoO5br4MMZv7nR@pks.im>
|
||||
source: <20260902055117.GA41587@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* sa/rev-list-missing-only (2026-09-01) 1 commit
|
||||
- rev-list: add --missing-only option to filter output
|
||||
|
||||
The git rev-list command has been augmented with a '--missing-only'
|
||||
option that filters the output to only show missing objects,
|
||||
stripping the leading '?' character and suppressing present objects,
|
||||
which is useful when used in combination with '--missing=print' or
|
||||
'--missing=print-info'.
|
||||
|
||||
Expecting a reroll.
|
||||
cf. <29b5003e-48b3-490b-a4ec-c57088acc441@gmail.com>
|
||||
source: <20260901185100.33948-2-siddharthasthana31@gmail.com>
|
||||
|
||||
|
||||
* wf/imap-send-draft (2026-09-01) 1 commit
|
||||
- imap-send: add --draft to set IMAP \Draft flag
|
||||
|
||||
The 'git imap-send' command has been taught to take the '--draft'
|
||||
option to mark uploaded messages as drafts, which helps some email
|
||||
clients render them properly for editing and sending.
|
||||
|
||||
Will merge to 'next'?
|
||||
source: <761c3f1b-e280-48b1-a2ad-770b68be3434@slotpi01m90>
|
||||
|
||||
|
||||
* yt/pathspec-negative-prefix (2026-09-02) 1 commit
|
||||
- dir: do not apply prefix to negative pathspecs
|
||||
|
||||
The pathspec matching logic has been updated to avoid out-of-bounds
|
||||
memory accesses when a negative pathspec is shorter than the common
|
||||
prefix of positive pathspecs.
|
||||
|
||||
Needs review.
|
||||
source: <0CA8678D-0540-4A2E-B314-B9BEB04E2BF5@ytausch.de>
|
||||
|
||||
|
||||
* cc/early-scan-options (2026-09-02) 6 commits
|
||||
- fast-import: use early_scan_options() for --allow-unsafe-features
|
||||
- parse-options: build early scan options from a struct option array
|
||||
- parse-options: add parse_options_takes_argument()
|
||||
- rev-parse: fix "--" detection when it is an option value
|
||||
- bisect: fix "--" detection when a term name is "--"
|
||||
- parse-options: add early_scan_options()
|
||||
|
||||
The process of parsing command-line options in commands that
|
||||
perform an early scan over their arguments (such as 'git bisect',
|
||||
'git rev-parse', and 'git fast-import') has been unified using a
|
||||
new early-scan sub-API, which parses and skips known options taking
|
||||
separate values to prevent logic bugs.
|
||||
The timestamp used for checking the reflog of a remote-tracking
|
||||
branch during 'git push --force-if-includes' was left uninitialized
|
||||
when the reflog was completely empty, which has been corrected.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqqpkyviizc.fsf@gitster.g>
|
||||
source: <20260902161047.476753-1-christian.couder@gmail.com>
|
||||
cf. <xmqqzexx58hc.fsf@gitster.g>
|
||||
source: <20260904124433.12840-1-f@lex.la>
|
||||
|
||||
|
||||
* tb/rerere-lock-grace (2026-09-04) 3 commits
|
||||
- sequencer: keep auto maintenance out of the commands a sequence spawns
|
||||
- sequencer: run auto maintenance once a sequence is done
|
||||
- config: add git_config_append_parameter()
|
||||
|
||||
The sequencer machinery (used by 'git rebase', 'git cherry-pick', and
|
||||
'git revert') has been updated to defer automatic maintenance tasks
|
||||
until the end of the operation, preventing nested 'git commit', 'git
|
||||
merge', and 'exec' commands from triggering GC operations that could
|
||||
contend for locks or delete open packs while the sequence is in
|
||||
progress.
|
||||
|
||||
Needs review.
|
||||
source: <pull.2217.v2.git.1788537086.gitgitgadget@gmail.com>
|
||||
|
||||
--------------------------------------------------
|
||||
[Stalled]
|
||||
|
|
@ -302,6 +201,8 @@ Release tarballs are available at:
|
|||
cf. <anL7qL2-4h8ZlLcg@pks.im>
|
||||
source: <20260728052538.12429-1-chungmin@chungminlee.com>
|
||||
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* cc/lazy-fetch-trusted-bit (2026-08-13) 5 commits
|
||||
- builtin/upload-pack: set GIT_NO_LAZY_FETCH to 0 on trusted repo
|
||||
|
|
@ -314,16 +215,157 @@ Release tarballs are available at:
|
|||
introduced to allow 'upload-pack' to lazily fetch missing objects from
|
||||
configured promisor remotes when serving trusted repositories.
|
||||
|
||||
Waiting for response for too long, stalled.
|
||||
cf. <xmqq1pc0mr5i.fsf@gitster.g>
|
||||
cf. <xmqqecg0oabe.fsf@gitster.g>
|
||||
cf. <xmqqy0e8mv0k.fsf@gitster.g>
|
||||
cf. <xmqqjypsoami.fsf@gitster.g>
|
||||
cf. <xmqq1pc0mr5i.fsf@gitster.g>
|
||||
Expecting a reroll.
|
||||
cf. <CAP8UFD0iAvN2=j_15xUWiWuRMSJpBcS6WiYvOaB=wbdsdJyZ7w@mail.gmail.com>
|
||||
source: <20260813154748.2378747-1-christian.couder@gmail.com>
|
||||
|
||||
--------------------------------------------------
|
||||
[Cooking]
|
||||
|
||||
* jk/rev-info-argv-to-free (2026-08-31) 2 commits
|
||||
(merged to 'next' on 2026-09-04 at 9826377f2b)
|
||||
+ revision: simplify mark_argv_for_free() callers
|
||||
+ revision: hang on to "freed" argv elements
|
||||
|
||||
The memory ownership of argv elements passed to the revision
|
||||
machinery has been made more robust by keeping logically "freed"
|
||||
elements alive until the rev_info struct is released, preventing
|
||||
use-after-free bugs when options store references to them.
|
||||
|
||||
Will merge to 'master'.
|
||||
cf. <apaSDqIEyc82Q_zE@pks.im>
|
||||
cf. <apayIuf9kXQcQPvS@pks.im>
|
||||
cf. <xmqq8q5ksvd8.fsf@gitster.g>
|
||||
source: <20260901062815.GC1075462@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* ps/ci-depends-on-ruby (2026-09-01) 1 commit
|
||||
- ci: fix missing Ruby dependency in "documentation" job
|
||||
|
||||
The CI job that builds the documentation failed because it lacked
|
||||
the 'gem' command. The 'asciidoc' package apparently stopped pulling
|
||||
in the 'ruby' package as a transitive dependency. The CI script has
|
||||
been updated to explicitly install 'ruby'.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <87pkyxwf9b.fsf@emacs.iotcl.com>
|
||||
source: <20260901-b4-pks-ci-fix-documentation-job-v1-1-a8257ee2a9a4@pks.im>
|
||||
|
||||
|
||||
* ps/odb-stop-registering-in-memory-sources (2026-09-02) 13 commits
|
||||
- odb: remove the ability to link sources ad-hoc
|
||||
- t/helper: stop registering alternates in "ref-store" command
|
||||
- t/helper: adapt read-midx to not link ad-hoc source anymore
|
||||
- builtin/multi-pack-index: refuse unknown sources with "--object-dir="
|
||||
- odb/packed: fix memory leaks when freeing source
|
||||
- tmp-objdir: drop unused function to register alternate
|
||||
- odb: remove infrastructure to register submodule sources
|
||||
- builtin/grep: stop registering submodule ODB as source
|
||||
- submodule-config: stop registering submodule sources
|
||||
- submodule-config: stop using `the_hash_algo`
|
||||
- submodule-config: remove uses of `the_repository`
|
||||
- cache-tree: remove dependency on `the_repository`
|
||||
- cache-tree: drop `the_repository` in `cache_tree_fully_valid()`
|
||||
- Merge branch 'ty/repository-fetch-if-missing' into ps/ps/odb-stop-registering-in-memory-sources
|
||||
|
||||
The mechanism to register in-memory alternate object sources has
|
||||
been removed, as submodule object databases are now accessed
|
||||
natively via their own repository structures. This simplifies
|
||||
object database management and prepares the codebase for migrating
|
||||
alternate tracking into the files backend.
|
||||
|
||||
Needs review.
|
||||
source: <20260902-pks-odb-registering-in-memory-sources-v2-0-c6ca12fdea4d@pks.im>
|
||||
|
||||
|
||||
* jk/ci-use-system-asciidoctor (2026-09-02) 2 commits
|
||||
- ci: drop ALREADY_HAVE_ASCIIDOCTOR variable
|
||||
- ci: fix missing Ruby dependency in "documentation" job
|
||||
|
||||
The CI script to install dependencies for the documentation build
|
||||
has been updated to install asciidoctor directly via the system
|
||||
package manager instead of pinning to an older version via gem.
|
||||
Additionally, an obsolete variable used for retired Azure Pipelines
|
||||
environments has been removed.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apfWhYF6nmcFGKE3@pks.im>
|
||||
cf. <apfzihj-1YAhn5lT@pks.im>
|
||||
source: <20260902071409.GA641414@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* jk/submodule-error-leak (2026-09-01) 2 commits
|
||||
- submodule--helper: free URL when repository setup fails
|
||||
- repository: make repo_clear() idempotent
|
||||
|
||||
The error path in 'git submodule--helper' has been updated to plug a
|
||||
memory leak when a repository handle could not be obtained,
|
||||
leveraging an updated idempotent repo_clear().
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apfoO5br4MMZv7nR@pks.im>
|
||||
source: <20260902055117.GA41587@coredump.intra.peff.net>
|
||||
|
||||
|
||||
* sa/rev-list-missing-only (2026-09-03) 1 commit
|
||||
- rev-list: add --missing-only option to filter output
|
||||
|
||||
The git rev-list command has been augmented with a '--missing-only'
|
||||
option that filters the output to only show missing objects,
|
||||
stripping the leading '?' character and suppressing present objects,
|
||||
which is useful when used in combination with '--missing=print' or
|
||||
'--missing=print-info'.
|
||||
|
||||
Will merge to 'next'?
|
||||
source: <20260903204551.65592-2-siddharthasthana31@gmail.com>
|
||||
|
||||
|
||||
* wf/imap-send-draft (2026-09-01) 1 commit
|
||||
- imap-send: add --draft to set IMAP \Draft flag
|
||||
|
||||
The 'git imap-send' command has been taught to take the '--draft'
|
||||
option to mark uploaded messages as drafts, which helps some email
|
||||
clients render them properly for editing and sending.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <xmqq8q5kl4gq.fsf@gitster.g>
|
||||
cf. <31d24dc3-3ef6-41cb-acbd-4cb4fb0d2338@app.fastmail.com>
|
||||
source: <761c3f1b-e280-48b1-a2ad-770b68be3434@slotpi01m90>
|
||||
|
||||
|
||||
* yt/pathspec-negative-prefix (2026-09-03) 2 commits
|
||||
- dir: find common prefix among non-exclude pathspec items
|
||||
- dir: do not apply prefix to negative pathspecs
|
||||
- Merge branch 'jc/pathspec-match-const' into yt/pathspec-negative-prefix
|
||||
(this branch uses jc/pathspec-match-const.)
|
||||
|
||||
The pathspec matching logic has been updated to avoid out-of-bounds
|
||||
memory accesses when a negative pathspec is shorter than the common
|
||||
prefix of positive pathspecs.
|
||||
|
||||
Waiting for response.
|
||||
cf. <CABPp-BF6hps9DibSV4ghbowkOD-NfEsHYFdLoKab0hCfEi9rgw@mail.gmail.com>
|
||||
cf. <CABPp-BFJo80oE=rtWc0FRNUxVh=6NHZeQmHD2q69VGwDcrHNhw@mail.gmail.com>
|
||||
cf. <xmqqmrtx6qsk.fsf@gitster.g>
|
||||
source: <887D6D84-F76E-4DCB-9633-CD78DA02BCC5@ytausch.de>
|
||||
|
||||
|
||||
* cc/early-scan-options (2026-09-02) 6 commits
|
||||
- fast-import: use early_scan_options() for --allow-unsafe-features
|
||||
- parse-options: build early scan options from a struct option array
|
||||
- parse-options: add parse_options_takes_argument()
|
||||
- rev-parse: fix "--" detection when it is an option value
|
||||
- bisect: fix "--" detection when a term name is "--"
|
||||
- parse-options: add early_scan_options()
|
||||
|
||||
The process of parsing command-line options in commands that
|
||||
perform an early scan over their arguments (such as 'git bisect',
|
||||
'git rev-parse', and 'git fast-import') has been unified using a
|
||||
new early-scan sub-API, which parses and skips known options taking
|
||||
separate values to prevent logic bugs.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqqpkyviizc.fsf@gitster.g>
|
||||
source: <20260902161047.476753-1-christian.couder@gmail.com>
|
||||
|
||||
|
||||
* ec/commit-fixup-options (2026-05-26) 2 commits
|
||||
- commit: allow -c/-C for all kinds of --fixup
|
||||
|
|
@ -333,21 +375,22 @@ Release tarballs are available at:
|
|||
message from outside the editor has been added for all 'git commit
|
||||
--fixup' variations.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqq1pbkefh0.fsf@gitster.g>
|
||||
Expecting a reroll.
|
||||
cf. <CA+JQ7M__GOnM9LHt0txry-G2z2CKhdZr0b-rU=Yd_A0gCEwmaQ@mail.gmail.com>
|
||||
source: <cover.1779792311.git.erik@cervined.in>
|
||||
|
||||
|
||||
* tc/replay-linearize (2026-08-31) 3 commits
|
||||
- replay: offer an option to linearize the commit topology
|
||||
- replay: resolve the replay base outside pick_regular_commit()
|
||||
- replay: add helper to put entry into replayed_commits
|
||||
(merged to 'next' on 2026-09-04 at 92ae794bfc)
|
||||
+ replay: offer an option to linearize the commit topology
|
||||
+ replay: resolve the replay base outside pick_regular_commit()
|
||||
+ replay: add helper to put entry into replayed_commits
|
||||
|
||||
The 'git replay' command has been taught the '--linearize' option to
|
||||
drop merge commits and linearize the replayed history, mimicking 'git
|
||||
rebase --no-rebase-merges'.
|
||||
|
||||
Will merge to 'next'?
|
||||
Will merge to 'master'.
|
||||
cf. <CABPp-BF1=DZAxX5Now4pCKPi8=cpXo506z=8QVu2vYCSiKdqMA@mail.gmail.com>
|
||||
source: <20260831-toon-git-replay-drop-merges-v9-0-61c4232c6f36@iotcl.com>
|
||||
|
||||
|
|
@ -368,17 +411,19 @@ Release tarballs are available at:
|
|||
way to libify utility helpers.
|
||||
|
||||
Waiting for response.
|
||||
cf. <CAOLa=ZSQs5umaTxT6RKQJdnnAEbK+AHgj0n5yiTM0jsbZcyiig@mail.gmail.com>
|
||||
cf. <xmqqo6el1xz0.fsf@gitster.g>
|
||||
cf. <xmqqse3x1y20.fsf@gitster.g>
|
||||
source: <20260830204835.1040408-1-gitster@pobox.com>
|
||||
|
||||
|
||||
* hk/typofix (2026-08-31) 1 commit
|
||||
- versioncmp: fix typo in versioncmp.c, t/t0022-crlf-rename.sh
|
||||
(merged to 'next' on 2026-09-03 at d33f0c0813)
|
||||
+ versioncmp: fix typo in versioncmp.c, t/t0022-crlf-rename.sh
|
||||
|
||||
Various spelling mistakes in comments and test descriptions have
|
||||
been corrected.
|
||||
|
||||
Will merge to 'next'?
|
||||
Will merge to 'master'.
|
||||
source: <20260901-typo-fix-v3-1-cc342f329190@gmail.com>
|
||||
|
||||
|
||||
|
|
@ -507,17 +552,18 @@ Release tarballs are available at:
|
|||
|
||||
|
||||
* rs/worktree-add-basename-fixes (2026-08-25) 4 commits
|
||||
- worktree add: let worktree_basename() return string copy
|
||||
- worktree add: trim slashes when deriving branch name from path
|
||||
- worktree add: reject separator-only path
|
||||
- worktree add: don't read out of bounds in worktree_basename()
|
||||
(merged to 'next' on 2026-09-03 at b04ceb887c)
|
||||
+ worktree add: let worktree_basename() return string copy
|
||||
+ worktree add: trim slashes when deriving branch name from path
|
||||
+ worktree add: reject separator-only path
|
||||
+ worktree add: don't read out of bounds in worktree_basename()
|
||||
|
||||
The string extraction logic for the branch name and worktree name
|
||||
from the given path in 'git worktree add' has been corrected and
|
||||
simplified to avoid out-of-bounds reads and improper handling of
|
||||
trailing slashes.
|
||||
|
||||
Will merge to 'next'?
|
||||
Will merge to 'master'.
|
||||
cf. <xmqqfqzuw23a.fsf@gitster.g>
|
||||
source: <20260825180350.2099-1-l.s.r@web.de>
|
||||
|
||||
|
|
@ -534,9 +580,10 @@ Release tarballs are available at:
|
|||
and return control to the user to resolve conflicts left in the
|
||||
working tree, just like 'cherry-pick' and 'merge' do.
|
||||
|
||||
Looking good.
|
||||
(a newer iteration v4 exists as <pull.2389.v4.git.git.1788301481.gitgitgadget@gmail.com>)
|
||||
cf. <03b9f094-c969-4309-b2cc-f7cd01959d49@gmail.com>
|
||||
Will merge to 'next'?
|
||||
cf. <1c3f07e0-63c0-483d-8e46-e4edbdd6991a@gmail.com>
|
||||
cf. <4ed77ebd-e4ba-4d37-9c92-d987b70135a6@gmail.com>
|
||||
cf. <xmqqqzji5id2.fsf@gitster.g>
|
||||
source: <pull.2389.v4.git.git.1788301481.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
|
|
@ -554,33 +601,34 @@ Release tarballs are available at:
|
|||
source: <pull.2209.git.1787322203.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
* kn/receive-report-hook (2026-09-01) 3 commits
|
||||
* kn/receive-report-hook (2026-09-04) 4 commits
|
||||
- hook: introduce the receive-report hook
|
||||
- receive-pack: move message generation to separate function
|
||||
- receive-pack: drop static variables to track report status version
|
||||
- doc: add proc-receive hook info in 'git-receive-pack.adoc'
|
||||
|
||||
A new hook 'report' is added to 'git receive-pack', which runs after
|
||||
reference updates and allows the server to filter or modify the
|
||||
packet-line status report sent back to the client.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqqik4nihyd.fsf@gitster.g>
|
||||
source: <20260901-758-introduce-hook-v5-0-35cdc6be3cc1@gmail.com>
|
||||
Needs review.
|
||||
source: <20260904-758-introduce-hook-v7-0-6c66f0a3a572@gmail.com>
|
||||
|
||||
|
||||
* en/midx-missing-pack-fallback (2026-08-29) 4 commits
|
||||
- packfile: recover when a multi-pack-index names a removed pack
|
||||
- mktree: do not use OBJECT_INFO_QUICK when checking objects
|
||||
- mktree: plug per-tree leak in --batch mode
|
||||
- replay: fail gracefully when a merge input is unreadable
|
||||
- Merge branch 'ps/odb-generic-corrupt-objects' into en/midx-missing-pack-fallback
|
||||
(merged to 'next' on 2026-09-04 at 73a4cd73de)
|
||||
+ packfile: recover when a multi-pack-index names a removed pack
|
||||
+ mktree: do not use OBJECT_INFO_QUICK when checking objects
|
||||
+ mktree: plug per-tree leak in --batch mode
|
||||
+ replay: fail gracefully when a merge input is unreadable
|
||||
+ Merge branch 'ps/odb-generic-corrupt-objects' into en/midx-missing-pack-fallback
|
||||
|
||||
The object lookup machinery has been taught to gracefully recover
|
||||
when a multi-pack-index points to an owning pack that was removed
|
||||
during a concurrent geometric repack, and 'git replay' has been
|
||||
fixed to not segfault when reading such missing objects.
|
||||
|
||||
Will merge to 'next'?
|
||||
Will merge to 'master'.
|
||||
cf. <20260831231005.GA973618@coredump.intra.peff.net>
|
||||
cf. <374bffe1-47ff-4cb6-9d69-f4b7da7292da@gmail.com>
|
||||
source: <pull.2207.v3.git.1787986831.gitgitgadget@gmail.com>
|
||||
|
|
@ -622,9 +670,9 @@ Release tarballs are available at:
|
|||
The gitdatamodel documentation page has been linked from a handful
|
||||
of key documentaiton pages.
|
||||
|
||||
Waiting for response.
|
||||
Will merge to 'next'?
|
||||
cf. <apUrC_ROf9lyiuAm@pks.im>
|
||||
cf. <5e12e3ad-a80c-4c7b-81f7-e028e461fdd1@app.fastmail.com>
|
||||
cf. <954865cf-5984-4e0d-9e8c-7c874896a1f2@app.fastmail.com>
|
||||
source: <V2_CV_doc_datamodel_advertize.c20@msgid.xyz>
|
||||
|
||||
|
||||
|
|
@ -655,18 +703,18 @@ Release tarballs are available at:
|
|||
formatting options.
|
||||
|
||||
Needs review.
|
||||
cf. <xmqqse40ei5f.fsf@gitster.g>
|
||||
source: <V2_CV_format-rev_three_more_opts.bd3@msgid.xyz>
|
||||
|
||||
|
||||
* ns/ref-symref-additional-tests (2026-08-20) 2 commits
|
||||
- t1402: test forbidden characters in refnames
|
||||
- t1401: check symbolic-ref failure and --quiet silence on a non-symbolic ref
|
||||
(merged to 'next' on 2026-09-03 at 67a1cf3baa)
|
||||
+ t1402: test forbidden characters in refnames
|
||||
+ t1401: check symbolic-ref failure and --quiet silence on a non-symbolic ref
|
||||
|
||||
A few tests for the reference handling subsystem have been added to
|
||||
exercise the handling of forbidden characters and symbolic references.
|
||||
|
||||
Will merge to 'next'.
|
||||
Will merge to 'master'.
|
||||
cf. <apUdDyG98D5upbhj@pks.im>
|
||||
source: <pull.2203.v2.git.1787264417682.gitgitgadget@gmail.com>
|
||||
source: <pull.2204.v3.git.1787763107646.gitgitgadget@gmail.com>
|
||||
|
|
@ -710,6 +758,7 @@ Release tarballs are available at:
|
|||
capabilities dynamically.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqqbjaefhwo.fsf@gitster.g>
|
||||
source: <cover.1788206466.git.ben.knoble@gmail.com>
|
||||
|
||||
|
||||
|
|
@ -763,8 +812,10 @@ Release tarballs are available at:
|
|||
+ checkout: improve message for ambiguous remote branch name
|
||||
+ checkout: extract function to display advice for ambiguous remotes
|
||||
|
||||
'git worktree add' did not prevent DWIM behavior when '-b' or '-B' was
|
||||
specified, which has been corrected.
|
||||
'git checkout' and 'git worktree add' makes guesses based on a name
|
||||
of a remote-tracking branch, but does not give an error when such a
|
||||
remote-tracking branch cannot be uniquely identified, which has
|
||||
been corrected.
|
||||
|
||||
Will merge to 'master'.
|
||||
cf. <xmqq4igfa2pv.fsf@gitster.g>
|
||||
|
|
@ -772,17 +823,18 @@ Release tarballs are available at:
|
|||
|
||||
|
||||
* hn/ci-cancel-stale-pr-runs (2026-08-31) 1 commit
|
||||
- ci: cancel stale pull request workflow runs
|
||||
(merged to 'next' on 2026-09-03 at e4d4816938)
|
||||
+ ci: cancel stale pull request workflow runs
|
||||
|
||||
GitHub Actions CI workflow runs triggered by pull requests have
|
||||
been configured to cancel older runs when a new push is made to the
|
||||
same pull request.
|
||||
|
||||
Will merge to 'next'?
|
||||
Will merge to 'master'.
|
||||
source: <pull.2369.v3.git.git.1788193095825.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
* hn/checkout-m-autostash-refine (2026-09-02) 2 commits
|
||||
* hn/checkout-m-autostash-refine (2026-09-03) 2 commits
|
||||
- checkout: separate autostash conflict advice from branch-switch message
|
||||
- stash: reserve exit status 1 for conflicts
|
||||
|
||||
|
|
@ -791,10 +843,9 @@ Release tarballs are available at:
|
|||
visually separates autostash conflict advice from the subsequent
|
||||
branch-switch message.
|
||||
|
||||
Waiting for response.
|
||||
cf. <xmqqse3rh1mp.fsf@gitster.g>
|
||||
cf. <xmqqmrtzh0vx.fsf@gitster.g>
|
||||
source: <pull.2364.v4.git.git.1788373743.gitgitgadget@gmail.com>
|
||||
Will merge to 'next'?
|
||||
cf. <xmqq7bl2b1zs.fsf@gitster.g>
|
||||
source: <pull.2364.v5.git.git.1788446398.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
* kj/repo-info-more-path-keys (2026-08-25) 7 commits
|
||||
|
|
@ -811,7 +862,8 @@ Release tarballs are available at:
|
|||
root, superproject working tree, object database, etc.), supporting
|
||||
both absolute and relative path formats.
|
||||
|
||||
Needs review.
|
||||
Needs review (Broken???)
|
||||
cf. <CA+rGoLcZ6u+Rbz2PNGiaPbeHB=LSAqxi0r6jYZL3RjG6wimJ3Q@mail.gmail.com>
|
||||
source: <20260825175818.645579-1-jayatheerthkulkarni2005@gmail.com>
|
||||
|
||||
|
||||
|
|
@ -899,7 +951,7 @@ Release tarballs are available at:
|
|||
Apache handles concurrent requests.
|
||||
|
||||
Will merge to 'next'?
|
||||
cf. <apa0N7VNNkcKurbi@pks.im>
|
||||
cf. <apkFyvN4hcEOadQq@pks.im>
|
||||
source: <pull.2171.v5.git.1788277983.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
|
|
@ -917,14 +969,14 @@ Release tarballs are available at:
|
|||
source: <20260706115816.20267-1-ijackson@chiark.greenend.org.uk>
|
||||
|
||||
|
||||
* mm/line-log-limited-ops (2026-06-27) 7 commits
|
||||
- diffcore-pickaxe: scope -G to the -L tracked range
|
||||
* mm/line-log-limited-ops (2026-09-02) 7 commits
|
||||
- diffcore-pickaxe: limit -G to the -L tracked range
|
||||
- diff: support --check with -L line ranges
|
||||
- line-log: support diff stat formats with -L
|
||||
- diff: support stat formats with -L
|
||||
- diff: extract a line-range diff helper for reuse
|
||||
- diff: emit -L hunk headers via xdiff's formatter
|
||||
- diff: simplify the line-range filter by classifying removals immediately
|
||||
- diff: rename and group the line-range filter for clarity
|
||||
- diff: rename line-range filter struct and clarify fields
|
||||
(this branch is used by mm/diff-process-hunks.)
|
||||
|
||||
The 'git log -L<range>:<path>' command has been taught to limit
|
||||
|
|
@ -932,7 +984,7 @@ Release tarballs are available at:
|
|||
the specified range and path.
|
||||
|
||||
Needs review.
|
||||
source: <pull.2152.v2.git.1782581342.gitgitgadget@gmail.com>
|
||||
source: <pull.2152.v3.git.1788411919.gitgitgadget@gmail.com>
|
||||
|
||||
|
||||
* hn/history-squash (2026-08-20) 8 commits
|
||||
|
|
|
|||
Loading…
Reference in New Issue