What's cooking (2025/11 #08)
parent
773e2595c2
commit
f1da9159bc
|
|
@ -1,10 +1,10 @@
|
||||||
To: git@vger.kernel.org
|
To: git@vger.kernel.org
|
||||||
Subject: What's cooking in git.git (Nov 2025, #07; Sun, 23)
|
Subject: What's cooking in git.git (Nov 2025, #08; Tue, 25)
|
||||||
X-master-at: debbc87557487aa9a8ed8a35367d17f8b4081c76
|
X-master-at: 6ab38b7e9cc7adafc304f3204616a4debd49c6e9
|
||||||
X-next-at: 89d9e04f91292258263fb94060e466f84fbfc9d4
|
X-next-at: 9f829587aff1b6c6d7a88078af6c6011bf5bcd19
|
||||||
Bcc: lwn@lwn.net, gitster@pobox.com
|
Bcc: lwn@lwn.net, gitster@pobox.com
|
||||||
|
|
||||||
What's cooking in git.git (Nov 2025, #07; Sun, 23)
|
What's cooking in git.git (Nov 2025, #08; Tue, 25)
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
|
|
||||||
Here are the topics that have been cooking in my tree. Commits
|
Here are the topics that have been cooking in my tree. Commits
|
||||||
|
|
@ -48,49 +48,168 @@ Release tarballs are available at:
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
[Graduated to 'master']
|
[Graduated to 'master']
|
||||||
|
|
||||||
* jc/gitattributes-whitespace-no-indent-fix (2025-11-11) 1 commit
|
* bc/submodule-force-same-hash (2025-11-14) 2 commits
|
||||||
(merged to 'next' on 2025-11-19 at cd849a23a1)
|
(merged to 'next' on 2025-11-19 at eec9dca32c)
|
||||||
+ .gitattributes: remove misspelled no-op whitespace attribute
|
+ read-cache: drop submodule check from add_to_cache()
|
||||||
|
+ object-file: disallow adding submodules of different hash algo
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-14
|
Originally merged to 'next' on 2025-11-16
|
||||||
|
|
||||||
Ever since we added whitespace rules for this project, we misspelt
|
Adding a repository that uses a different hash function is a no-no,
|
||||||
an entry, which has been corrected.
|
but "git submodule add" didn't prevent it, which has been corrected.
|
||||||
source: <xmqqv7jgwgxb.fsf@gitster.g>
|
source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
|
||||||
|
|
||||||
|
|
||||||
* kn/maintenance-is-needed (2025-11-08) 7 commits
|
* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
|
||||||
(merged to 'next' on 2025-11-19 at faaa24f412)
|
(merged to 'next' on 2025-11-19 at 5d5f74f4f0)
|
||||||
+ maintenance: add 'is-needed' subcommand
|
+ attr: avoid recursion when expanding attribute macros
|
||||||
+ maintenance: add checking logic in `pack_refs_condition()`
|
|
||||||
+ refs: add a `optimize_required` field to `struct ref_storage_be`
|
|
||||||
+ reftable/stack: add function to check if optimization is required
|
|
||||||
+ reftable/stack: return stack segments directly
|
|
||||||
+ Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-needed
|
|
||||||
+ Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-needed
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-14
|
Originally merged to 'next' on 2025-11-16
|
||||||
|
|
||||||
"git maintenance" command learned "is-needed" subcommand to tell if
|
The code to expand attribute macros has been rewritten without
|
||||||
it is necessary to perform various maintenance tasks.
|
recursion to avoid running out of stack space in an uncontrolled
|
||||||
source: <20251108-562-add-sub-command-to-check-if-maintenance-is-needed-v4-0-a90f229b6023@gmail.com>
|
way.
|
||||||
|
source: <20251111223647.GA4055973@coredump.intra.peff.net>
|
||||||
|
|
||||||
|
|
||||||
* rs/diff-quiet-no-rename (2025-11-09) 1 commit
|
* jx/repo-struct-utf8width-fix (2025-11-15) 2 commits
|
||||||
(merged to 'next' on 2025-11-19 at dc0b078446)
|
(merged to 'next' on 2025-11-19 at 35bff72b75)
|
||||||
+ diff: disable rename detection with --quiet
|
+ builtin/repo: fix table alignment for UTF-8 characters
|
||||||
|
+ t/unit-tests: add UTF-8 width tests for CJK chars
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-14
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
As "git diff --quiet" only cares about the existence of any
|
The "git repo structure" subcommand tried to align its output but
|
||||||
changes, disable rename/copy detection to skip more expensive
|
mixed up byte count and display column width, which has been
|
||||||
processing whose result will be discarded anyway.
|
corrected.
|
||||||
source: <8796cd59-2335-4674-823d-d682ce7b7f8e@web.de>
|
source: <cover.1763213290.git.worldhello.net@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
* kh/doc-commit-extra-references (2025-11-14) 1 commit
|
||||||
|
(merged to 'next' on 2025-11-19 at 9c89891116)
|
||||||
|
+ doc: commit: link to git-status(1) on all format options
|
||||||
|
|
||||||
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
|
Doc update.
|
||||||
|
source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
|
||||||
|
|
||||||
|
|
||||||
|
* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
|
||||||
|
(merged to 'next' on 2025-11-19 at 335d6bb2ea)
|
||||||
|
+ osxkeychain: avoid incorrectly skipping store operation
|
||||||
|
|
||||||
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
|
An earlier check added to osx keychain credential helper to avoid
|
||||||
|
storing the credential itself supplied was overeager and rejected
|
||||||
|
credential material supplied by other helper backends that it would
|
||||||
|
have wanted to store, which has been corrected.
|
||||||
|
source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
* ps/object-source-loose (2025-11-02) 13 commits
|
||||||
|
(merged to 'next' on 2025-11-19 at 8bb0269243)
|
||||||
|
+ object-file: refactor writing objects via a stream
|
||||||
|
+ object-file: rename `write_object_file()`
|
||||||
|
+ object-file: refactor freshening of objects
|
||||||
|
+ object-file: rename `has_loose_object()`
|
||||||
|
+ object-file: read objects via the loose object source
|
||||||
|
+ object-file: move loose object map into loose source
|
||||||
|
+ object-file: hide internals when we need to reprepare loose sources
|
||||||
|
+ object-file: move loose object cache into loose source
|
||||||
|
+ object-file: introduce `struct odb_source_loose`
|
||||||
|
+ object-file: move `fetch_if_missing`
|
||||||
|
+ odb: adjust naming to free object sources
|
||||||
|
+ odb: introduce `odb_source_new()`
|
||||||
|
+ odb: fix subtle logic to check whether an alternate is usable
|
||||||
|
(this branch is used by ps/object-read-stream and ps/object-source-management.)
|
||||||
|
|
||||||
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
|
A part of the code path that deals with loose objects has been cleaned
|
||||||
|
up.
|
||||||
|
source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
|
||||||
|
|
||||||
|
|
||||||
|
* qj/doc-http-bad-want-response (2025-11-05) 1 commit
|
||||||
|
(merged to 'next' on 2025-11-19 at a602cd96eb)
|
||||||
|
+ doc: clarify server behavior for invalid 'want' lines in HTTP protocol
|
||||||
|
|
||||||
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
|
Doc update.
|
||||||
|
source: <20251105143849.1192-1-qjessa662@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
* sa/replay-atomic-ref-updates (2025-11-05) 3 commits
|
||||||
|
(merged to 'next' on 2025-11-19 at ae19b06a22)
|
||||||
|
+ replay: add replay.refAction config option
|
||||||
|
+ replay: make atomic ref updates the default behavior
|
||||||
|
+ replay: use die_for_incompatible_opt2() for option validation
|
||||||
|
(this branch is used by ps/history.)
|
||||||
|
|
||||||
|
Originally merged to 'next' on 2025-11-18
|
||||||
|
|
||||||
|
"git replay" (experimental) learned to perform ref updates itself
|
||||||
|
in a transaction by default, instead of emitting where each refs
|
||||||
|
should point at and leaving the actual update to another command.
|
||||||
|
cf. <00a5a8f3-f761-46e8-84cc-4bd95db68b49@gmail.com>
|
||||||
|
source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
|
||||||
|
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
[New Topics]
|
[New Topics]
|
||||||
|
|
||||||
* ja/doc-synopsis-style (2025-11-19) 3 commits
|
* 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>
|
||||||
|
|
||||||
|
|
||||||
|
* rs/config-set-multi-error-message-fix (2025-11-24) 1 commit
|
||||||
|
- config: fix suggestion for failed set of multi-valued option
|
||||||
|
|
||||||
|
The error message given by "git config set", when the variable
|
||||||
|
being updated has more than one values defined, used old style "git
|
||||||
|
config" syntax with an incorrect option in its hint, both of which
|
||||||
|
have been corrected.
|
||||||
|
|
||||||
|
Will merge to 'next'.
|
||||||
|
source: <c09945fe-fee2-47f6-8193-ac60d7245209@web.de>
|
||||||
|
|
||||||
|
|
||||||
|
* rs/config-unset-opthelp-fix (2025-11-24) 1 commit
|
||||||
|
- config: fix short help of unset flags
|
||||||
|
|
||||||
|
The option help text given by "git config unset -h" described
|
||||||
|
the "--all" option to "replace", not "unset", multiple variables,
|
||||||
|
which has been corrected.
|
||||||
|
|
||||||
|
Will merge to 'next'.
|
||||||
|
source: <06997dce-e4d5-4889-8e70-5f44da3dc800@web.de>
|
||||||
|
|
||||||
|
|
||||||
|
* wm/complete-git-short-opts (2025-11-24) 1 commit
|
||||||
|
- Add completion for short options
|
||||||
|
|
||||||
|
The command line completion script (in contrib/) learned to
|
||||||
|
complete "git -<TAB>" to give single-letter options like "-C".
|
||||||
|
|
||||||
|
Expecting a reroll.
|
||||||
|
cf. <xmqq5xayt66k.fsf@gitster.g>
|
||||||
|
source: <pull.2100.git.git.1764052739534.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
--------------------------------------------------
|
||||||
|
[Cooking]
|
||||||
|
|
||||||
|
* ja/doc-synopsis-style (2025-11-24) 4 commits
|
||||||
|
(merged to 'next' on 2025-11-24 at 10610d9a57)
|
||||||
|
+ doc: pull-fetch-param typofix
|
||||||
(merged to 'next' on 2025-11-21 at eb9c1703c0)
|
(merged to 'next' on 2025-11-21 at eb9c1703c0)
|
||||||
+ doc: convert git push to synopsis style
|
+ doc: convert git push to synopsis style
|
||||||
+ doc: convert git pull to synopsis style
|
+ doc: convert git pull to synopsis style
|
||||||
|
|
@ -103,25 +222,27 @@ Release tarballs are available at:
|
||||||
|
|
||||||
|
|
||||||
* jc/optional-path (2025-11-20) 3 commits
|
* jc/optional-path (2025-11-20) 3 commits
|
||||||
- config: really treat missing optional path as not configured
|
(merged to 'next' on 2025-11-25 at 5e75404281)
|
||||||
- config: really pretend missing :(optional) value is not there
|
+ config: really treat missing optional path as not configured
|
||||||
- config: mark otherwise unused function as file-scope static
|
+ config: really pretend missing :(optional) value is not there
|
||||||
|
+ config: mark otherwise unused function as file-scope static
|
||||||
|
|
||||||
"git config get --path" segfaulted on an ":(optional)path" that
|
"git config get --path" segfaulted on an ":(optional)path" that
|
||||||
does not exist, which has been corrected.
|
does not exist, which has been corrected.
|
||||||
|
|
||||||
Will merge to 'next'?
|
Will merge to 'master'.
|
||||||
source: <xmqqikf47ajk.fsf@gitster.g>
|
source: <xmqqikf47ajk.fsf@gitster.g>
|
||||||
|
|
||||||
|
|
||||||
* kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
|
* kh/doc-committer-date-is-author-date (2025-11-20) 1 commit
|
||||||
- doc: warn against --committer-date-is-author-date
|
(merged to 'next' on 2025-11-25 at 9f829587af)
|
||||||
|
+ doc: warn against --committer-date-is-author-date
|
||||||
|
|
||||||
The "--committer-date-is-author-date" option of "git am/rebase" is
|
The "--committer-date-is-author-date" option of "git am/rebase" is
|
||||||
a misguided one. The documentation is updated to discourage its
|
a misguided one. The documentation is updated to discourage its
|
||||||
use.
|
use.
|
||||||
|
|
||||||
Will merge to 'next'?
|
Will merge to 'master'.
|
||||||
source: <V2_committer-date-is-author-date.1@msgid.xyz>
|
source: <V2_committer-date-is-author-date.1@msgid.xyz>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -153,8 +274,6 @@ Release tarballs are available at:
|
||||||
be useful during ref migration.
|
be useful during ref migration.
|
||||||
source: <20251119-kn-alternate-ref-dir-v1-0-4cf4a94c8bed@gmail.com>
|
source: <20251119-kn-alternate-ref-dir-v1-0-4cf4a94c8bed@gmail.com>
|
||||||
|
|
||||||
--------------------------------------------------
|
|
||||||
[Cooking]
|
|
||||||
|
|
||||||
* jk/ci-windows-meson-test-fix (2025-11-18) 2 commits
|
* jk/ci-windows-meson-test-fix (2025-11-18) 2 commits
|
||||||
(merged to 'next' on 2025-11-20 at a0afd4fd5b)
|
(merged to 'next' on 2025-11-20 at a0afd4fd5b)
|
||||||
|
|
@ -189,7 +308,8 @@ Release tarballs are available at:
|
||||||
source: <ebc68ec5b2abbc4702b94f833b9b3bf1adb79f1a.1763450087.git.zhiyou.jx@alibaba-inc.com>
|
source: <ebc68ec5b2abbc4702b94f833b9b3bf1adb79f1a.1763450087.git.zhiyou.jx@alibaba-inc.com>
|
||||||
|
|
||||||
|
|
||||||
* js/ci-show-breakage-in-dockerized-jobs (2025-11-17) 1 commit
|
* js/ci-show-breakage-in-dockerized-jobs (2025-11-25) 2 commits
|
||||||
|
- amend! ci(dockerized): do show the result of failing tests again
|
||||||
- ci(dockerized): do show the result of failing tests again
|
- ci(dockerized): do show the result of failing tests again
|
||||||
|
|
||||||
Dockerised jobs at the GitHub Actions CI have been taught to show
|
Dockerised jobs at the GitHub Actions CI have been taught to show
|
||||||
|
|
@ -197,6 +317,7 @@ Release tarballs are available at:
|
||||||
|
|
||||||
Will merge to 'next' after amending?
|
Will merge to 'next' after amending?
|
||||||
cf. <xmqqpl9gike6.fsf@gitster.g>
|
cf. <xmqqpl9gike6.fsf@gitster.g>
|
||||||
|
cf. <CABPp-BErdhTjbqDem4Xvc-XbhgLUEpy9-eiaaR1F_diMca--6A@mail.gmail.com>
|
||||||
source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
|
source: <pull.2003.git.1763399064983.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -225,11 +346,12 @@ Release tarballs are available at:
|
||||||
|
|
||||||
|
|
||||||
* js/strip-scalar-too (2025-11-17) 1 commit
|
* js/strip-scalar-too (2025-11-17) 1 commit
|
||||||
- make strip: include `scalar`
|
(merged to 'next' on 2025-11-25 at 9f2607acfb)
|
||||||
|
+ make strip: include `scalar`
|
||||||
|
|
||||||
"make strip" has been taught to strip "scalar" as well as "git".
|
"make strip" has been taught to strip "scalar" as well as "git".
|
||||||
|
|
||||||
Will merge to 'next'?
|
Will merge to 'master'.
|
||||||
cf. <xmqq7bvoiadg.fsf@gitster.g>
|
cf. <xmqq7bvoiadg.fsf@gitster.g>
|
||||||
source: <pull.2004.git.1763409086322.gitgitgadget@gmail.com>
|
source: <pull.2004.git.1763409086322.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
@ -278,7 +400,8 @@ Release tarballs are available at:
|
||||||
configuration files, i.e. $HOME/.gitconfig and the XDG one, which
|
configuration files, i.e. $HOME/.gitconfig and the XDG one, which
|
||||||
has been corrected.
|
has been corrected.
|
||||||
|
|
||||||
Comments?
|
Expecting a reroll.
|
||||||
|
cf. <20251122020047.GB3947@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
|
||||||
source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
|
source: <pull.1938.git.1760058849.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -303,7 +426,6 @@ Release tarballs are available at:
|
||||||
- streaming: drop the `open()` callback function
|
- streaming: drop the `open()` callback function
|
||||||
- streaming: rename `git_istream` into `odb_read_stream`
|
- streaming: rename `git_istream` into `odb_read_stream`
|
||||||
- Merge branch 'ps/object-source-loose' into ps/object-read-stream
|
- Merge branch 'ps/object-source-loose' into ps/object-read-stream
|
||||||
(this branch uses ps/object-source-loose.)
|
|
||||||
|
|
||||||
The "git_istream" abstraction has been revamped to make it easier
|
The "git_istream" abstraction has been revamped to make it easier
|
||||||
to interface with pluggable object database design.
|
to interface with pluggable object database design.
|
||||||
|
|
@ -327,11 +449,11 @@ Release tarballs are available at:
|
||||||
- setup: convert `set_git_dir()` to have file scope
|
- setup: convert `set_git_dir()` to have file scope
|
||||||
- path: move `enter_repo()` into "setup.c"
|
- path: move `enter_repo()` into "setup.c"
|
||||||
- Merge branch 'ps/object-source-loose' into ps/object-source-management
|
- Merge branch 'ps/object-source-loose' into ps/object-source-management
|
||||||
(this branch uses ps/object-source-loose.)
|
|
||||||
|
|
||||||
Code refactoring around object database sources.
|
Code refactoring around object database sources.
|
||||||
|
|
||||||
Comments?
|
Will merge to 'next' after amending a typo?
|
||||||
|
cf. <aSAZSyUzIMvn-IvR@pks.im>
|
||||||
source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
|
source: <20251119-b4-pks-odb-creation-v1-0-2b2ed2612cb6@pks.im>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -361,92 +483,23 @@ Release tarballs are available at:
|
||||||
|
|
||||||
|
|
||||||
* jk/asan-bonanza (2025-11-18) 9 commits
|
* jk/asan-bonanza (2025-11-18) 9 commits
|
||||||
- t: enable ASan's strict_string_checks option
|
(merged to 'next' on 2025-11-24 at 066fc38a19)
|
||||||
- fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
|
+ t: enable ASan's strict_string_checks option
|
||||||
- fsck: remove redundant date timestamp check
|
+ fsck: avoid parse_timestamp() on buffer that isn't NUL-terminated
|
||||||
- fsck: avoid strcspn() in fsck_ident()
|
+ fsck: remove redundant date timestamp check
|
||||||
- fsck: assert newline presence in fsck_ident()
|
+ fsck: avoid strcspn() in fsck_ident()
|
||||||
- cache-tree: avoid strtol() on non-string buffer
|
+ fsck: assert newline presence in fsck_ident()
|
||||||
- Makefile: turn on NO_MMAP when building with ASan
|
+ cache-tree: avoid strtol() on non-string buffer
|
||||||
- pack-bitmap: handle name-hash lookups in incremental bitmaps
|
+ Makefile: turn on NO_MMAP when building with ASan
|
||||||
- compat/mmap: mark unused argument in git_munmap()
|
+ pack-bitmap: handle name-hash lookups in incremental bitmaps
|
||||||
|
+ compat/mmap: mark unused argument in git_munmap()
|
||||||
|
|
||||||
Various issues detected by Asan have been corrected.
|
Various issues detected by Asan have been corrected.
|
||||||
|
|
||||||
Will merge to 'next'.
|
Will merge to 'master'.
|
||||||
source: <20251118091127.GA4175601@coredump.intra.peff.net>
|
source: <20251118091127.GA4175601@coredump.intra.peff.net>
|
||||||
|
|
||||||
|
|
||||||
* jk/attr-macroexpand-wo-recursion (2025-11-11) 1 commit
|
|
||||||
(merged to 'next' on 2025-11-19 at 5d5f74f4f0)
|
|
||||||
+ attr: avoid recursion when expanding attribute macros
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-16
|
|
||||||
|
|
||||||
The code to expand attribute macros has been rewritten to avoid
|
|
||||||
recursion to avoid running out of stack space in an uncontrolled
|
|
||||||
way.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <20251111223647.GA4055973@coredump.intra.peff.net>
|
|
||||||
|
|
||||||
|
|
||||||
* bc/submodule-force-same-hash (2025-11-14) 2 commits
|
|
||||||
(merged to 'next' on 2025-11-19 at eec9dca32c)
|
|
||||||
+ read-cache: drop submodule check from add_to_cache()
|
|
||||||
+ object-file: disallow adding submodules of different hash algo
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-16
|
|
||||||
|
|
||||||
Adding a repository that uses a different hash function is a no-no,
|
|
||||||
but "git submodule add" did nt prevent it, which has been corrected.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <20251112235434.1499699-1-sandals@crustytoothpaste.net>
|
|
||||||
|
|
||||||
|
|
||||||
* jx/repo-struct-utf8width-fix (2025-11-15) 2 commits
|
|
||||||
(merged to 'next' on 2025-11-19 at 35bff72b75)
|
|
||||||
+ builtin/repo: fix table alignment for UTF-8 characters
|
|
||||||
+ t/unit-tests: add UTF-8 width tests for CJK chars
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
The "git repo structure" subcommand tried to align its output but
|
|
||||||
mixed up byte count and display column width, which has been
|
|
||||||
corrected.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <cover.1763213290.git.worldhello.net@gmail.com>
|
|
||||||
|
|
||||||
|
|
||||||
* kh/doc-commit-extra-references (2025-11-14) 1 commit
|
|
||||||
(merged to 'next' on 2025-11-19 at 9c89891116)
|
|
||||||
+ doc: commit: link to git-status(1) on all format options
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
Doc update.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <c4349a03724.1763129061.git.code@khaugsbakk.name>
|
|
||||||
|
|
||||||
|
|
||||||
* kn/osxkeychain-idempotent-store-fix (2025-11-13) 1 commit
|
|
||||||
(merged to 'next' on 2025-11-19 at 335d6bb2ea)
|
|
||||||
+ osxkeychain: avoid incorrectly skipping store operation
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
An earlier check added to osx keychain credential helper to avoid
|
|
||||||
storing the credential itself supplied was overeager and rejected
|
|
||||||
credential material supplied by other helper backends that it would
|
|
||||||
have wanted to store, which has been corrected.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <pull.1999.v2.git.1763100270949.gitgitgadget@gmail.com>
|
|
||||||
|
|
||||||
|
|
||||||
* lc/rebase-trailer (2025-11-05) 4 commits
|
* lc/rebase-trailer (2025-11-05) 4 commits
|
||||||
- rebase: support --trailer
|
- rebase: support --trailer
|
||||||
- trailer: append trailers in-process and drop the fork to `interpret-trailers`
|
- trailer: append trailers in-process and drop the fork to `interpret-trailers`
|
||||||
|
|
@ -474,18 +527,6 @@ Release tarballs are available at:
|
||||||
source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
|
source: <pull.1992.git.1762192908.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
* qj/doc-http-bad-want-response (2025-11-05) 1 commit
|
|
||||||
(merged to 'next' on 2025-11-19 at a602cd96eb)
|
|
||||||
+ doc: clarify server behavior for invalid 'want' lines in HTTP protocol
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
Doc update.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
source: <20251105143849.1192-1-qjessa662@gmail.com>
|
|
||||||
|
|
||||||
|
|
||||||
* jc/exclude-with-gitignore (2025-11-04) 1 commit
|
* 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
|
||||||
|
|
||||||
|
|
@ -505,55 +546,30 @@ Release tarballs are available at:
|
||||||
"git fast-import" learns "--strip-if-invalid" option to drop
|
"git fast-import" learns "--strip-if-invalid" option to drop
|
||||||
invalid cryptographic signature from objects.
|
invalid cryptographic signature from objects.
|
||||||
|
|
||||||
Comments?
|
Will merge to 'next'.
|
||||||
source: <20251117043450.322644-1-christian.couder@gmail.com>
|
source: <20251117043450.322644-1-christian.couder@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
* jc/whitespace-incomplete-line (2025-11-12) 12 commits
|
* jc/whitespace-incomplete-line (2025-11-12) 12 commits
|
||||||
- attr: enable incomplete-line whitespace error for this project
|
(merged to 'next' on 2025-11-24 at 9682c7f652)
|
||||||
- diff: highlight and error out on incomplete lines
|
+ attr: enable incomplete-line whitespace error for this project
|
||||||
- apply: check and fix incomplete lines
|
+ diff: highlight and error out on incomplete lines
|
||||||
- whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
|
+ apply: check and fix incomplete lines
|
||||||
- apply: revamp the parsing of incomplete lines
|
+ whitespace: allocate a few more bits and define WS_INCOMPLETE_LINE
|
||||||
- diff: update the way rewrite diff handles incomplete lines
|
+ apply: revamp the parsing of incomplete lines
|
||||||
- diff: call emit_callback ecbdata everywhere
|
+ diff: update the way rewrite diff handles incomplete lines
|
||||||
- diff: refactor output of incomplete line
|
+ diff: call emit_callback ecbdata everywhere
|
||||||
- diff: keep track of the type of the last line seen
|
+ diff: refactor output of incomplete line
|
||||||
- diff: correct suppress_blank_empty hack
|
+ diff: keep track of the type of the last line seen
|
||||||
- diff: emit_line_ws_markup() if/else style fix
|
+ diff: correct suppress_blank_empty hack
|
||||||
- whitespace: correct bit assignment comments
|
+ diff: emit_line_ws_markup() if/else style fix
|
||||||
|
+ whitespace: correct bit assignment comments
|
||||||
|
|
||||||
Both "git apply" and "git diff" learn a new whitespace error class,
|
Both "git apply" and "git diff" learn a new whitespace error class,
|
||||||
"incomplete-line".
|
"incomplete-line".
|
||||||
|
|
||||||
Will merge to 'next'.
|
|
||||||
source: <20251112220258.1009253-1-gitster@pobox.com>
|
|
||||||
|
|
||||||
|
|
||||||
* ps/object-source-loose (2025-11-02) 13 commits
|
|
||||||
(merged to 'next' on 2025-11-19 at 8bb0269243)
|
|
||||||
+ object-file: refactor writing objects via a stream
|
|
||||||
+ object-file: rename `write_object_file()`
|
|
||||||
+ object-file: refactor freshening of objects
|
|
||||||
+ object-file: rename `has_loose_object()`
|
|
||||||
+ object-file: read objects via the loose object source
|
|
||||||
+ object-file: move loose object map into loose source
|
|
||||||
+ object-file: hide internals when we need to reprepare loose sources
|
|
||||||
+ object-file: move loose object cache into loose source
|
|
||||||
+ object-file: introduce `struct odb_source_loose`
|
|
||||||
+ object-file: move `fetch_if_missing`
|
|
||||||
+ odb: adjust naming to free object sources
|
|
||||||
+ odb: introduce `odb_source_new()`
|
|
||||||
+ odb: fix subtle logic to check whether an alternate is usable
|
|
||||||
(this branch is used by ps/object-read-stream and ps/object-source-management.)
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
A part of code paths that deals with loose objects has been cleaned
|
|
||||||
up.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
Will merge to 'master'.
|
||||||
source: <20251103-b4-pks-odb-loose-backend-v3-0-6a61ea977393@pks.im>
|
source: <20251112220258.1009253-1-gitster@pobox.com>
|
||||||
|
|
||||||
|
|
||||||
* bc/sha1-256-interop-02 (2025-11-17) 15 commits
|
* bc/sha1-256-interop-02 (2025-11-17) 15 commits
|
||||||
|
|
@ -602,30 +618,31 @@ Release tarballs are available at:
|
||||||
|
|
||||||
|
|
||||||
* en/xdiff-cleanup-2 (2025-11-18) 10 commits
|
* en/xdiff-cleanup-2 (2025-11-18) 10 commits
|
||||||
- xdiff: rename rindex -> reference_index
|
(merged to 'next' on 2025-11-25 at 452b7107da)
|
||||||
- xdiff: change rindex from long to size_t in xdfile_t
|
+ xdiff: rename rindex -> reference_index
|
||||||
- xdiff: make xdfile_t.nreff a size_t instead of long
|
+ xdiff: change rindex from long to size_t in xdfile_t
|
||||||
- xdiff: make xdfile_t.nrec a size_t instead of long
|
+ xdiff: make xdfile_t.nreff a size_t instead of long
|
||||||
- xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
|
+ xdiff: make xdfile_t.nrec a size_t instead of long
|
||||||
- xdiff: use unambiguous types in xdl_hash_record()
|
+ xdiff: split xrecord_t.ha into line_hash and minimal_perfect_hash
|
||||||
- xdiff: use size_t for xrecord_t.size
|
+ xdiff: use unambiguous types in xdl_hash_record()
|
||||||
- xdiff: make xrecord_t.ptr a uint8_t instead of char
|
+ xdiff: use size_t for xrecord_t.size
|
||||||
- xdiff: use ptrdiff_t for dstart/dend
|
+ xdiff: make xrecord_t.ptr a uint8_t instead of char
|
||||||
- doc: define unambiguous type mappings across C and Rust
|
+ xdiff: use ptrdiff_t for dstart/dend
|
||||||
|
+ doc: define unambiguous type mappings across C and Rust
|
||||||
|
|
||||||
Code clean-up.
|
Code clean-up.
|
||||||
|
|
||||||
Will merge to 'next'?
|
Will merge to 'master'.
|
||||||
source: <pull.2070.v5.git.git.1763505262.gitgitgadget@gmail.com>
|
source: <pull.2070.v5.git.git.1763505262.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
* ar/run-command-hook (2025-10-17) 10 commits
|
* ar/run-command-hook (2025-11-24) 10 commits
|
||||||
- receive-pack: convert receive hooks to hook API
|
- receive-pack: convert receive hooks to hook API
|
||||||
- receive-pack: convert update hooks to new API
|
- receive-pack: convert update hooks to new API
|
||||||
- hooks: allow callers to capture output
|
- hooks: allow callers to capture output
|
||||||
- run-command: allow capturing of collated output
|
- run-command: allow capturing of collated output
|
||||||
- reference-transaction: use hook API instead of run-command
|
|
||||||
- hook: allow overriding the ungroup option
|
- hook: allow overriding the ungroup option
|
||||||
|
- reference-transaction: use hook API instead of run-command
|
||||||
- transport: convert pre-push to hook API
|
- transport: convert pre-push to hook API
|
||||||
- hook: convert 'post-rewrite' hook in sequencer.c to hook API
|
- hook: convert 'post-rewrite' hook in sequencer.c to hook API
|
||||||
- hook: provide stdin via callback
|
- hook: provide stdin via callback
|
||||||
|
|
@ -634,9 +651,8 @@ Release tarballs are available at:
|
||||||
Use hook API to replace ad-hoc invocation of hook scripts with the
|
Use hook API to replace ad-hoc invocation of hook scripts with the
|
||||||
run_command() API.
|
run_command() API.
|
||||||
|
|
||||||
Seems to leak and break CI
|
Will merge to 'next'?
|
||||||
cf. <xmqq346ff56h.fsf@gitster.g>
|
source: <20251124172043.1650014-1-adrian.ratiu@collabora.com>
|
||||||
source: <20251017141544.1538542-1-adrian.ratiu@collabora.com>
|
|
||||||
|
|
||||||
|
|
||||||
* je/doc-reset (2025-10-17) 4 commits
|
* je/doc-reset (2025-10-17) 4 commits
|
||||||
|
|
@ -653,11 +669,12 @@ Release tarballs are available at:
|
||||||
|
|
||||||
|
|
||||||
* je/doc-data-model (2025-11-12) 1 commit
|
* je/doc-data-model (2025-11-12) 1 commit
|
||||||
- doc: add an explanation of Git's data model
|
(merged to 'next' on 2025-11-24 at 50e59df383)
|
||||||
|
+ doc: add an explanation of Git's data model
|
||||||
|
|
||||||
Add a new manual that describes the data model.
|
Add a new manual that describes the data model.
|
||||||
|
|
||||||
Will merge to 'next'.
|
Will merge to 'master'.
|
||||||
source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
|
source: <pull.1981.v7.git.1762977200244.gitgitgadget@gmail.com>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -674,7 +691,6 @@ Release tarballs are available at:
|
||||||
- replay: extract logic to pick commits
|
- replay: extract logic to pick commits
|
||||||
- wt-status: provide function to expose status for trees
|
- wt-status: provide function to expose status for trees
|
||||||
- Merge branch 'sa/replay-atomic-ref-updates' into ps/history
|
- Merge branch 'sa/replay-atomic-ref-updates' into ps/history
|
||||||
(this branch uses sa/replay-atomic-ref-updates.)
|
|
||||||
|
|
||||||
"git history" history rewriting UI.
|
"git history" history rewriting UI.
|
||||||
|
|
||||||
|
|
@ -695,24 +711,6 @@ Release tarballs are available at:
|
||||||
source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
|
source: <a203b35538847f3c9358a5ae26fb4ebea5734cfc.1759420102.git.msuchanek@suse.de>
|
||||||
|
|
||||||
|
|
||||||
* sa/replay-atomic-ref-updates (2025-11-05) 3 commits
|
|
||||||
(merged to 'next' on 2025-11-19 at ae19b06a22)
|
|
||||||
+ replay: add replay.refAction config option
|
|
||||||
+ replay: make atomic ref updates the default behavior
|
|
||||||
+ replay: use die_for_incompatible_opt2() for option validation
|
|
||||||
(this branch is used by ps/history.)
|
|
||||||
|
|
||||||
Originally merged to 'next' on 2025-11-18
|
|
||||||
|
|
||||||
"git replay" (experimental) learned to perform ref updates itself
|
|
||||||
in a transaction by default, instead of emitting where each refs
|
|
||||||
should point at and leaving the actual update to another command.
|
|
||||||
|
|
||||||
Will merge to 'master'.
|
|
||||||
cf. <00a5a8f3-f761-46e8-84cc-4bd95db68b49@gmail.com>
|
|
||||||
source: <20251105191650.89975-1-siddharthasthana31@gmail.com>
|
|
||||||
|
|
||||||
|
|
||||||
* ar/submodule-gitdir-tweak (2025-11-19) 7 commits
|
* ar/submodule-gitdir-tweak (2025-11-19) 7 commits
|
||||||
- meson/Makefile: allow setting submodule encoding at build time
|
- meson/Makefile: allow setting submodule encoding at build time
|
||||||
- submodule: use hashed name for gitdir
|
- submodule: use hashed name for gitdir
|
||||||
|
|
@ -725,4 +723,6 @@ Release tarballs are available at:
|
||||||
Avoid local submodule repository directory paths overlapping with
|
Avoid local submodule repository directory paths overlapping with
|
||||||
each other by encoding submodule names before using them as path
|
each other by encoding submodule names before using them as path
|
||||||
components.
|
components.
|
||||||
|
|
||||||
|
Will merge to 'next'?
|
||||||
source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>
|
source: <20251119211030.2008441-1-adrian.ratiu@collabora.com>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue