What's cooking (2024/02 #09)

This commit is contained in:
Junio C Hamano
2024-02-27 16:36:48 -08:00
parent 0a75d7853c
commit 495ae5bc8a

View File

@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Subject: What's cooking in git.git (Feb 2024, #08; Thu, 22)
X-master-at: 3c2a3fdc388747b9eaf4a4a4f2035c1c9ddb26d0
X-next-at: e034bb2e1d470dd9e12a63da2b6b7e5d3a25a721
Subject: What's cooking in git.git (Feb 2024, #09; Tue, 27)
X-master-at: 0f9d4d28b7e6021b7e6db192b7bf47bd3a0d0d1d
X-next-at: dc8dd223a70561ef1480098663d61af5531a1f47
Bcc: lwn@lwn.net, gitster@pobox.com
What's cooking in git.git (Feb 2024, #08; Thu, 22)
What's cooking in git.git (Feb 2024, #09; Tue, 27)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,9 +17,6 @@ topic without enough support may be discarded after a long period of
no activity (of course they can be resubmit when new interests
arise).
Git 2.44 has been tagged, after fixing a last minute regression.
Git 2.43.3 also has been tagged for the same fix.
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.
@@ -48,9 +45,419 @@ Release tarballs are available at:
https://www.kernel.org/pub/software/scm/git/
--------------------------------------------------
[Graduated to 'master']
* ba/credential-test-clean-fix (2024-02-15) 1 commit
(merged to 'next' on 2024-02-19 at 290708b10a)
+ t/lib-credential: clean additional credential
(this branch is used by jk/t0303-clean.)
Test clean-up.
source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>
* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
(merged to 'next' on 2024-02-19 at 8373f95424)
+ completion: use awk for filtering the config entries
Some parts of command line completion script (in contrib/) have
been micro-optimized.
source: <20240216171046.927552-1-dev+git@drbeat.li>
* cp/apply-core-filemode (2023-12-26) 3 commits
(merged to 'next' on 2024-02-07 at 089a3fbb86)
+ apply: code simplification
+ apply: correctly reverse patch's pre- and post-image mode bits
+ apply: ignore working tree filemode when !core.filemode
"git apply" on a filesystem without filemode support have learned
to take a hint from what is in the index for the path, even when
not working with the "--index" or "--cached" option, when checking
the executable bit match what is required by the preimage in the
patch.
cf. <xmqqzfwb53a9.fsf@gitster.g>
source: <20231226233218.472054-1-gitster@pobox.com>
* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
(merged to 'next' on 2024-02-14 at cd901555d6)
+ add -p tests: remove PERL prerequisites
+ add-patch: classify '@' as a synonym for 'HEAD'
Teach "git checkout -p" and friends that "@" is a synonym for
"HEAD".
source: <20240211202035.7196-2-shyamthakkar001@gmail.com>
* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at 9eda75497d)
+ doc: remove outdated information about interactive.singleKey
Doc clean-up.
source: <20240218030327.40453-1-julio.bacel@gmail.com>
* jc/am-whitespace-doc (2024-02-14) 1 commit
(merged to 'next' on 2024-02-19 at 492f0f9174)
+ doc: add shortcut to "am --whitespace=<action>"
"git am --help" now tells readers what actions are available in
"git am --whitespace=<action>", in addition to saying that the
option is passed through to the underlying "git apply".
source: <xmqqplwyvqby.fsf@gitster.g>
* jc/t9210-lazy-fix (2024-02-08) 1 commit
(merged to 'next' on 2024-02-13 at fb61ca2fba)
+ t9210: do not rely on lazy fetching to fail
(this branch is used by cc/rev-list-allow-missing-tips.)
Adjust use of "rev-list --missing" in an existing tests so that it
does not depend on a buggy failure mode.
source: <xmqq7cjemttr.fsf@gitster.g>
* jk/t0303-clean (2024-02-19) 2 commits
(merged to 'next' on 2024-02-19 at f57b65215f)
+ t0303: check that helper_test_clean removes all credentials
+ Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
(this branch uses ba/credential-test-clean-fix.)
Test clean-up.
source: <20240217045814.GA539459@coredump.intra.peff.net>
* kh/column-reject-negative-padding (2024-02-13) 2 commits
(merged to 'next' on 2024-02-14 at c30c08e495)
+ column: guard against negative padding
+ column: disallow negative padding
"git column" has been taught to reject negative padding value, as
it would lead to nonsense behaviour including division by zero.
source: <cover.1707839454.git.code@khaugsbakk.name>
* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at bf7f086f05)
+ mergetools: vimdiff: use correct tool's name when reading mergetool config
Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
source: <20240217162718.21272-1-kipras@kipras.org>
* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at b2e17695ca)
+ libsecret: retrieve empty password
Credential helper based on libsecret (in contrib/) has been updated
to handle an empty password correctly.
source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>
* ps/ref-tests-update-even-more (2024-02-15) 7 commits
(merged to 'next' on 2024-02-15 at 064b2b4089)
+ t7003: ensure filter-branch prunes reflogs with the reftable backend
+ t2011: exercise D/F conflicts with HEAD with the reftable backend
+ t1405: remove unneeded cleanup step
+ t1404: make D/F conflict tests compatible with reftable backend
+ t1400: exercise reflog with gaps with reftable backend
+ t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
+ t: move tests exercising the "files" backend
More tests that are marked as "ref-files only" have been updated to
improve test coverage of reftable backend.
source: <cover.1707985173.git.ps@pks.im>
* ps/reftable-backend (2024-02-07) 3 commits
(merged to 'next' on 2024-02-08 at ba1c4c52bb)
+ refs/reftable: fix leak when copying reflog fails
(merged to 'next' on 2024-02-07 at 1115200acb)
+ ci: add jobs to test with the reftable backend
+ refs: introduce reftable backend
(this branch is used by kn/for-all-refs and ps/reflog-list.)
Integrate the reftable code into the refs framework as a backend.
source: <cover.1707288261.git.ps@pks.im>
* ps/reftable-iteration-perf (2024-02-12) 7 commits
(merged to 'next' on 2024-02-12 at 6abaf58383)
+ reftable/reader: add comments to `table_iter_next()`
+ reftable/record: don't try to reallocate ref record name
+ reftable/block: swap buffers instead of copying
+ reftable/pq: allocation-less comparison of entry keys
+ reftable/merged: skip comparison for records of the same subiter
+ reftable/merged: allocation-less dropping of shadowed records
+ reftable/record: introduce function to compare records by key
(this branch is used by ps/reftable-iteration-perf-part2.)
The code to iterate over refs with the reftable backend has seen
some optimization.
source: <cover.1707726654.git.ps@pks.im>
* rj/tag-column-fix (2024-02-14) 1 commit
(merged to 'next' on 2024-02-19 at 9aa52b4ffb)
+ tag: error when git-column fails
"git tag --column" failed to check the exit status of its "git
column" invocation, which has been corrected.
source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>
* rs/use-xstrncmpz (2024-02-12) 1 commit
(merged to 'next' on 2024-02-12 at 37e5f0fc14)
+ use xstrncmpz()
Code clean-up.
source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>
--------------------------------------------------
[New Topics]
* cw/git-std-lib (2024-02-22) 3 commits
- test-stdlib: show that git-std-lib is independent
- git-std-lib: introduce Git Standard Library
- pager: include stdint.h because uintmax_t is used
Split libgit.a out to a separate git-std-lib tor easier reuse.
Needs review.
source: <cover.1696021277.git.jonathantanmy@google.com>
* js/merge-base-with-missing-commit (2024-02-27) 11 commits
- repo_get_merge_bases_many_dirty(): pass on errors from `merge_bases_many()`
- repo_get_merge_bases_many(): pass on errors from `merge_bases_many()`
- get_octopus_merge_bases(): pass on errors from `merge_bases_many()`
- repo_get_merge_bases(): pass on errors from `merge_bases_many()`
- get_merge_bases_many_0(): pass on errors from `merge_bases_many()`
- merge_bases_many(): pass on errors from `paint_down_to_common()`
- commit-reach: start reporting errors in `paint_down_to_common()`
- Prepare `paint_down_to_common()` for handling shallow commits
- Start reporting missing commits in `repo_in_merge_bases_many()`
- Prepare `repo_in_merge_bases_many()` to optionally expect missing commits
- paint_down_to_common: plug two memory leaks
Make sure failure return from merge_bases_many() is properly caught.
Needs review.
source: <pull.1657.v3.git.1709040497.gitgitgadget@gmail.com>
* tb/multi-pack-verbatim-reuse (2024-02-23) 1 commit
(merged to 'next' on 2024-02-23 at 8ee07f1da4)
+ Documentation/config/pack.txt: fix broken AsciiDoc mark-up
Docfix.
Will merge to 'master'.
source: <72bb58e5f3b8a5a622394c5ff40426156e122580.1708720255.git.me@ttaylorr.com>
* eg/add-uflags (2024-02-24) 1 commit
- add: use unsigned type for collection of bits
Code clean-up practice.
cf. <CAP8UFD3qR8E0gvUQtzzkLPWv4Db45kFS4pEqHKQr5siciVJ-zQ@mail.gmail.com>
source: <20240224112638.72257-2-giganteeugenio2@gmail.com>
* jc/doc-compat-util (2024-02-27) 1 commit
(merged to 'next' on 2024-02-27 at a838805d8c)
+ doc: clarify the wording on <git-compat-util.h> requirement
Clarify wording in the CodingGuidelines that requires <git-compat-util.h>
to be the first header file.
Will merge to 'master'.
source: <xmqqle76kdpr.fsf_-_@gitster.g>
* jc/no-include-of-compat-util-from-headers (2024-02-24) 1 commit
(merged to 'next' on 2024-02-26 at 85857c09d9)
+ compat: drop inclusion of <git-compat-util.h>
Header file clean-up.
Will merge to 'master'.
source: <xmqqwmqtli18.fsf@gitster.g>
* jk/reflog-special-cases-fix (2024-02-26) 3 commits
(merged to 'next' on 2024-02-27 at e9fbe29d06)
+ read_ref_at(): special-case ref@{0} for an empty reflog
+ get_oid_basic(): special-case ref@{n} for oldest reflog entry
+ Revert "refs: allow @{n} to work with n-sized reflog"
The logic to access reflog entries by date and number had ugly
corner cases at the boundaries, which have been cleaned up.
Will merge to 'master'.
source: <20240226100010.GA1214708@coredump.intra.peff.net>
* jk/textconv-cache-outside-repo-fix (2024-02-26) 1 commit
(merged to 'next' on 2024-02-26 at d4a81531ef)
+ userdiff: skip textconv caching when not in a repository
The code incorrectly attempted to use textconv cache when asked,
even when we are not running in a repository, which has been
corrected.
Will merge to 'master'.
source: <20240226102729.GB2685773@coredump.intra.peff.net>
* js/remove-cruft-files (2024-02-26) 1 commit
(merged to 'next' on 2024-02-26 at c6491c1c5d)
+ neue: remove a bogus empty file
Remove an empty file that shouldn't have been added in the first
place.
Will merge to 'master'.
source: <pull.1674.git.1708958183225.gitgitgadget@gmail.com>
* jt/commit-redundant-scissors-fix (2024-02-27) 2 commits
- commit: unify logic to avoid multiple scissors lines when merging
- commit: avoid redundant scissor line with --cleanup=scissors -v
"git commit -v --cleanup=scissors" used to add the scissors line
twice in the log message buffer, which has been corrected.
Comments?
source: <Zd2eLxPelxvP8FDk@localhost>
* pb/ort-make-submodule-conflict-message-an-advice (2024-02-26) 1 commit
(merged to 'next' on 2024-02-27 at abe2ab5ed7)
+ merge-ort: turn submodule conflict suggestions into an advice
When a merge conflicted at a submodule, merge-ort backend used to
unconditionally give a lengthy message to suggest how to resolve
it. Now the message can be squelched as an advice message.
Will merge to 'master'.
source: <pull.1661.v2.git.git.1708954048301.gitgitgadget@gmail.com>
* rj/complete-worktree-paths-fix (2024-02-27) 1 commit
- completion: fix __git_complete_worktree_paths
The logic to complete the command line arguments to "git worktree"
subcommand (in contrib/) has been updated to correctly honor things
like "git -C dir" etc.
Comments?
source: <b8f09e20-d0d3-4e0b-afe2-31affeb61052@gmail.com>
* rs/fetch-simplify-with-starts-with (2024-02-26) 1 commit
(merged to 'next' on 2024-02-27 at 84bba0a921)
+ fetch: convert strncmp() with strlen() to starts_with()
Code simplification.
Will merge to 'master'.
source: <cb94b938-03f9-4dd3-84c1-f5244ca81be3@web.de>
* rs/name-rev-with-mempool (2024-02-26) 2 commits
(merged to 'next' on 2024-02-27 at b10b58ad64)
+ name-rev: use mem_pool_strfmt()
+ mem-pool: add mem_pool_strfmt()
Many small allocations "git name-rev" makes have been updated to
allocate from a mem-pool.
Will merge to 'master'.
source: <20240225113947.89357-1-l.s.r@web.de>
* rs/submodule-prefix-simplify (2024-02-26) 1 commit
(merged to 'next' on 2024-02-27 at c6051f9f6b)
+ submodule: use strvec_pushf() for --submodule-prefix
Code simplification.
Will merge to 'master'.
source: <8cd983fb-32b9-41c6-a9e7-a485b190488c@web.de>
* rs/t-ctype-simplify (2024-02-26) 3 commits
- t-ctype: do one test per class and char
- t-ctype: avoid duplicating class names
- t-ctype: allow NUL anywhere in the specification string
Code simplification to one unit-test program.
Comments?
source: <20240225112722.89221-1-l.s.r@web.de>
* sg/upload-pack-error-message-fix (2024-02-26) 1 commit
(merged to 'next' on 2024-02-27 at 7cd7a4c4d8)
+ upload-pack: don't send null character in abort message to the client
An error message from "git upload-pack", which responds to "git
fetch" requests, had a trialing NUL in it, which has been
corrected.
Will merge to 'master'.
source: <20240225183452.1939334-1-szeder.dev@gmail.com>
* ak/rebase-autosquash (2024-02-27) 1 commit
(merged to 'next' on 2024-02-27 at 1a37c5ed5e)
+ rebase: fix typo in autosquash documentation
Typofix.
Will merge to 'master'.
source: <pull.1676.git.1709015578890.gitgitgadget@gmail.com>
* ps/reftable-repo-init-fix (2024-02-27) 2 commits
- refs/reftable: don't fail empty transactions in repo without HEAD
- Merge branch 'ps/remote-helper-repo-initialization-fix' into ps/reftable-repo-init-fix
(this branch uses ps/remote-helper-repo-initialization-fix.)
Clear the fallout from a fix for 2.44 regression.
Will merge to 'next'?
source: <95be968e10bd02c64448786e690bbefe5c082577.1709041721.git.ps@pks.im>
* ps/remote-helper-repo-initialization-fix (2024-02-27) 1 commit
- builtin/clone: allow remote helpers to detect repo
(this branch is used by ps/reftable-repo-init-fix.)
A custom remote helper no longer cannot access the newly created
repository during "git clone", which is a regression in Git 2.44.
This has been corrected.
Will merge to 'next'?
source: <9d888adf92e9a8af7c18847219f97d3e595e3e36.1709041721.git.ps@pks.im>
* pw/rebase-i-ignore-cherry-pick-help-environment (2024-02-27) 1 commit
- rebase -i: stop setting GIT_CHERRY_PICK_HELP
Code simplification by getting rid of code that sets an environment
variable that is no longer used.
Comments?
source: <pull.1678.git.1709042783847.gitgitgadget@gmail.com>
--------------------------------------------------
[Cooking]
* ps/difftool-dir-diff-exit-code (2024-02-20) 1 commit
(merged to 'next' on 2024-02-21 at a7bbef5a5f)
+ git-difftool--helper: honor `--trust-exit-code` with `--dir-diff`
@@ -58,7 +465,7 @@ Release tarballs are available at:
"git difftool --dir-diff" learned to honor the "--trust-exit-code"
option; it used to always exit with 0 and signalled success.
Will cook in 'next'.
Will merge to 'master'.
source: <0fac668f8fc021af9f9c4df5134da59816307ccc.1708423309.git.ps@pks.im>
@@ -68,7 +475,7 @@ Release tarballs are available at:
Doc update.
Will cook in 'next'.
Will merge to 'master'.
source: <88f1fe08c3047e14090957093ee8d98b0f60cb6c.1708467601.git.dsimic@manjaro.org>
@@ -80,50 +487,52 @@ Release tarballs are available at:
Doc update.
Will cook in 'next'.
Will merge to 'master'.
source: <pull.1670.git.1708468374.gitgitgadget@gmail.com>
* hs/rebase-not-in-progress (2024-02-21) 1 commit
- rebase: make warning less passive aggressive
(merged to 'next' on 2024-02-23 at ce53f5243f)
+ rebase: make warning less passive aggressive
Error message update.
Will merge to 'next'.
Will merge to 'master'.
source: <pull.1669.v2.git.1708537097448.gitgitgadget@gmail.com>
* jw/remote-doc-typofix (2024-02-21) 1 commit
- git-remote.txt: fix typo
(merged to 'next' on 2024-02-23 at fe95873cfa)
+ git-remote.txt: fix typo
Docfix.
Will merge to 'next'.
Will merge to 'master'.
source: <20240221083554.5255-1-jwilk@jwilk.net>
* ja/doc-placeholders-markup-rules (2024-02-21) 1 commit
- doc: clarify the format of placeholders
(merged to 'next' on 2024-02-23 at b6761ceeac)
+ doc: clarify the format of placeholders
The way placeholders are to be marked-up in documentation have been
specified; use "_<placeholder>_" to typeset the word inside a pair
of <angle-brakets> emphasized.
Will merge to 'next'.
Will merge to 'master'.
source: <pull.1671.git.1708550340094.gitgitgadget@gmail.com>
* jc/doc-add-placeholder-fix (2024-02-21) 1 commit
- doc: apply the new placeholder rules to git-add documentation
(merged to 'next' on 2024-02-23 at 6950ff216b)
+ doc: apply the new placeholder rules to git-add documentation
Practice the new mark-up rule for <placeholders> with "git add"
documentation page.
Will merge to 'next'.
Will merge to 'master'.
source: <xmqqbk89molz.fsf@gitster.g>
--------------------------------------------------
[Cooking]
* as/option-names-in-messages (2024-02-16) 5 commits
- revision.c: trivial fix to message
@@ -138,108 +547,46 @@ Release tarballs are available at:
source: <20240216101647.28837-1-ash@kambanaria.org>
* bb/completion-no-grep-into-awk (2024-02-16) 1 commit
(merged to 'next' on 2024-02-19 at 8373f95424)
+ completion: use awk for filtering the config entries
Some parts of command line completion script (in contrib/) have
been micro-optimized.
Will cook in 'next'.
source: <20240216171046.927552-1-dev+git@drbeat.li>
* jb/doc-interactive-singlekey-do-not-need-perl (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at 9eda75497d)
+ doc: remove outdated information about interactive.singleKey
Doc clean-up.
Will cook in 'next'.
source: <20240218030327.40453-1-julio.bacel@gmail.com>
* jk/t0303-clean (2024-02-19) 2 commits
(merged to 'next' on 2024-02-19 at f57b65215f)
+ t0303: check that helper_test_clean removes all credentials
+ Merge branch 'ba/credential-test-clean-fix' into jk/t0303-clean
(this branch uses ba/credential-test-clean-fix.)
Test clean-up.
Will cook in 'next'.
source: <20240217045814.GA539459@coredump.intra.peff.net>
* km/mergetool-vimdiff-layout-fallback (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at bf7f086f05)
+ mergetools: vimdiff: use correct tool's name when reading mergetool config
Variants of vimdiff learned to honor mergetool.<variant>.layout settings.
Will cook in 'next'.
source: <20240217162718.21272-1-kipras@kipras.org>
* mh/libsecret-empty-password-fix (2024-02-19) 1 commit
(merged to 'next' on 2024-02-19 at b2e17695ca)
+ libsecret: retrieve empty password
Credential helper based on libsecret (in contrib/) has been updated.
Will cook in 'next'.
source: <pull.1676.v2.git.git.1708375258296.gitgitgadget@gmail.com>
* ps/reflog-list (2024-02-21) 9 commits
- builtin/reflog: introduce subcommand to list reflogs
- refs: stop resolving ref corresponding to reflogs
- refs: drop unused params from the reflog iterator callback
- refs: always treat iterators as ordered
- refs/files: sort merged worktree and common reflogs
- refs/files: sort reflogs returned by the reflog iterator
- dir-iterator: support iteration in sorted order
- dir-iterator: pass name to `prepare_next_entry_data()` directly
(merged to 'next' on 2024-02-23 at 7413632239)
+ builtin/reflog: introduce subcommand to list reflogs
+ refs: stop resolving ref corresponding to reflogs
+ refs: drop unused params from the reflog iterator callback
+ refs: always treat iterators as ordered
+ refs/files: sort merged worktree and common reflogs
+ refs/files: sort reflogs returned by the reflog iterator
+ dir-iterator: support iteration in sorted order
+ dir-iterator: pass name to `prepare_next_entry_data()` directly
+ Merge branch 'ps/reftable-backend' into ps/reflog-list
(this branch uses ps/reftable-backend.)
"git reflog" learned a "list" subcommand that enumerates known reflogs.
Will merge to 'next'.
Will merge to 'master'.
source: <cover.1708518982.git.ps@pks.im>
* jh/fsmonitor-icase-corner-case-fix (2024-02-14) 11 commits
- t7527: update case-insenstive fsmonitor test
* jh/fsmonitor-icase-corner-case-fix (2024-02-26) 14 commits
- fsmonitor: support case-insensitive events
- fsmonitor: refactor bit invalidation in refresh callback
- fsmonitor: support case-insensitive non-directory events
- fsmonitor: refactor non-directory callback
- fsmonitor: support case-insensitive directory events
- fsmonitor: trace the new invalidated cache-entry count
- fsmonitor: return invalided cache-entry count on non-directory event
- fsmonitor: remove custom loop from non-directory path handler
- fsmonitor: return invalidated cache-entry count on directory event
- fsmonitor: move untracked-cache invalidation into helper functions
- fsmonitor: refactor untracked-cache invalidation
- fsmonitor: clarify handling of directory events in callback
- dir: create untracked_cache_invalidate_trimmed_path()
- fsmonitor: refactor refresh callback for non-directory events
- fsmonitor: clarify handling of directory events in callback helper
- fsmonitor: refactor refresh callback on directory events
- t7527: add case-insensitve test for FSMonitor
- name-hash: add index_dir_exists2()
- name-hash: add index_dir_find()
FSMonitor client code was confused when FSEvents were given in a
different case on a case-insensitive filesystem, which has been
corrected.
Needs review.
source: <pull.1662.git.1707857541.gitgitgadget@gmail.com>
* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
- credential/osxkeychain: store new attributes
OAuth refresh tokens and password expiry timestamps are now stored
in the osxkeychain backend , just the way libsecret and wincred
backends of the credential subsystem do.
Needs testing.
cf. <CAGJzqsmSzMqEG1OU9dH6CORV6=L7qUAFNJSmi41Lqrajf9mSew@mail.gmail.com>
source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>
Comments?
source: <pull.1662.v3.git.1708983565.gitgitgadget@gmail.com>
* ps/reftable-iteration-perf-part2 (2024-02-14) 13 commits
@@ -256,7 +603,6 @@ Release tarballs are available at:
- reftable/merged: make `merged_iter` structure private
- reftable/pq: use `size_t` to track iterator index
- Merge branch 'ps/reftable-iteration-perf' into ps/reftable-iteration-perf-part2
(this branch uses ps/reftable-iteration-perf.)
The code to iterate over refs with the reftable backend has seen
some optimization.
@@ -271,111 +617,39 @@ Release tarballs are available at:
Test script clean-up.
Will cook in 'next'.
Will merge to 'master'.
source: <pull.1661.v3.git.1707933048210.gitgitgadget@gmail.com>
* rj/tag-column-fix (2024-02-14) 1 commit
(merged to 'next' on 2024-02-19 at 9aa52b4ffb)
+ tag: error when git-column fails
"git tag --column" failed to check the exit status of its "git
column" invocation, which has been corrected.
Will cook in 'next'.
source: <59df085d-0de8-45b1-9b8b-c69e91e56a1f@gmail.com>
* jc/am-whitespace-doc (2024-02-14) 1 commit
(merged to 'next' on 2024-02-19 at 492f0f9174)
+ doc: add shortcut to "am --whitespace=<action>"
"git am --help" now tells readers what actions are available in
"git am --whitespace=<action>", in addition to saying that the
option is passed through to the underlying "git apply".
Will cook in 'next'.
source: <xmqqplwyvqby.fsf@gitster.g>
* ba/credential-test-clean-fix (2024-02-15) 1 commit
(merged to 'next' on 2024-02-19 at 290708b10a)
+ t/lib-credential: clean additional credential
(this branch is used by jk/t0303-clean.)
Test clean-up.
Will cook in 'next'.
source: <pull.1664.git.1707959036807.gitgitgadget@gmail.com>
* js/cmake-with-test-tool (2024-02-15) 1 commit
* js/cmake-with-test-tool (2024-02-23) 2 commits
- cmake: let `test-tool` run the unit tests, too
- Merge branch 'js/unit-test-suite-runner' into js/cmake-with-test-tool
(this branch uses js/unit-test-suite-runner.)
"test-tool" is now built in CMake build to also run the unit tests.
May want to roll it into the base topic.
source: <cover.1706921262.git.steadmon@google.com>
source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>
* ps/ref-tests-update-even-more (2024-02-15) 7 commits
(merged to 'next' on 2024-02-15 at 064b2b4089)
+ t7003: ensure filter-branch prunes reflogs with the reftable backend
+ t2011: exercise D/F conflicts with HEAD with the reftable backend
+ t1405: remove unneeded cleanup step
+ t1404: make D/F conflict tests compatible with reftable backend
+ t1400: exercise reflog with gaps with reftable backend
+ t0410: convert tests to use DEFAULT_REPO_FORMAT prereq
+ t: move tests exercising the "files" backend
More tests that are marked as "ref-files only" have been updated to
improve test coverage of reftable backend.
Will cook in 'next'.
source: <cover.1707985173.git.ps@pks.im>
* rs/use-xstrncmpz (2024-02-12) 1 commit
(merged to 'next' on 2024-02-12 at 37e5f0fc14)
+ use xstrncmpz()
Code clean-up.
Will cook in 'next'.
source: <954b75d0-1504-4f57-b34e-e770a4b7b3ea@web.de>
* kn/for-all-refs (2024-02-12) 6 commits
- for-each-ref: add new option to include root refs
- ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
- refs: introduce `refs_for_each_include_root_refs()`
- refs: extract out `loose_fill_ref_dir_regular_file()`
- refs: introduce `is_pseudoref()` and `is_headref()`
- Merge branch 'ps/reftable-backend' into kn/for-all-refs
(this branch uses ps/reftable-backend.)
* kn/for-all-refs (2024-02-23) 6 commits
(merged to 'next' on 2024-02-27 at aef2406cca)
+ for-each-ref: add new option to include root refs
+ ref-filter: rename 'FILTER_REFS_ALL' to 'FILTER_REFS_REGULAR'
+ refs: introduce `refs_for_each_include_root_refs()`
+ refs: extract out `loose_fill_ref_dir_regular_file()`
+ refs: introduce `is_pseudoref()` and `is_headref()`
+ Merge branch 'ps/reftable-backend' into kn/for-all-refs
"git for-each-ref" filters its output with prefixes given from the
command line, but it did not honor an empty string to mean "pass
everything", which has been corrected.
Expecting a reroll?
source: <20240211183923.131278-1-karthik.188@gmail.com>
Will merge to 'master'.
source: <20240223100112.44127-1-karthik.188@gmail.com>
* kh/column-reject-negative-padding (2024-02-13) 2 commits
(merged to 'next' on 2024-02-14 at c30c08e495)
+ column: guard against negative padding
+ column: disallow negative padding
"git column" has been taught to reject negative padding value, as
it would lead to nonsense behaviour including division by zero.
Will cook in 'next'.
source: <cover.1707839454.git.code@khaugsbakk.name>
* jc/no-lazy-fetch (2024-02-16) 3 commits
* jc/no-lazy-fetch (2024-02-27) 3 commits
- git: extend --no-lazy-fetch to work across subprocesses
- git: document GIT_NO_REPLACE_OBJECTS environment variable
(merged to 'next' on 2024-02-13 at 7c7136e547)
@@ -384,35 +658,15 @@ Release tarballs are available at:
"git --no-lazy-fetch cmd" allows to run "cmd" while disabling lazy
fetching of objects from the promisor remote, which may be handy
for debugging.
Will merge to 'next'?
source: <xmqq1q8xx38i.fsf@gitster.g>
source: <xmqq1q9cl3xv.fsf@gitster.g>
source: <xmqq1q9mmtpw.fsf@gitster.g>
source: <xmqqv86pslos.fsf@gitster.g>
* jc/t9210-lazy-fix (2024-02-08) 1 commit
(merged to 'next' on 2024-02-13 at fb61ca2fba)
+ t9210: do not rely on lazy fetching to fail
(this branch is used by cc/rev-list-allow-missing-tips.)
Adjust use of "rev-list --missing" in an existing tests so that it
does not depend on a buggy failure mode.
Will cook in 'next'.
source: <xmqq7cjemttr.fsf@gitster.g>
* gt/at-is-synonym-for-head-in-add-patch (2024-02-13) 2 commits
(merged to 'next' on 2024-02-14 at cd901555d6)
+ add -p tests: remove PERL prerequisites
+ add-patch: classify '@' as a synonym for 'HEAD'
Teach "git checkout -p" and friends that "@" is a synonym for
"HEAD".
Will cook in 'next'.
source: <20240211202035.7196-2-shyamthakkar001@gmail.com>
* js/unit-test-suite-runner (2024-02-03) 7 commits
* js/unit-test-suite-runner (2024-02-23) 8 commits
- ci: use test-tool as unit test runner on Windows
- t/Makefile: run unit tests alongside shell tests
- unit tests: add rule for running with test-tool
- test-tool run-command testsuite: support unit tests
@@ -425,23 +679,8 @@ Release tarballs are available at:
The "test-tool" has been taught to run testsuite tests in parallel,
bypassing the need to use the "prove" tool.
Expecting a reroll.
cf. <20240207225802.GA538110@coredump.intra.peff.net>
source: <cover.1706921262.git.steadmon@google.com>
* ps/reftable-backend (2024-02-07) 3 commits
(merged to 'next' on 2024-02-08 at ba1c4c52bb)
+ refs/reftable: fix leak when copying reflog fails
(merged to 'next' on 2024-02-07 at 1115200acb)
+ ci: add jobs to test with the reftable backend
+ refs: introduce reftable backend
(this branch is used by kn/for-all-refs and ps/reflog-list.)
Integrate the reftable code into the refs framework as a backend.
Will cook in 'next'.
source: <cover.1707288261.git.ps@pks.im>
Needs review.
source: <cover.1708728717.git.steadmon@google.com>
* cc/rev-list-allow-missing-tips (2024-02-14) 4 commits
@@ -450,35 +689,17 @@ Release tarballs are available at:
+ t6022: fix 'test' style and 'even though' typo
+ oidset: refactor oidset_insert_from_set()
+ revision: clarify a 'return NULL' in get_reference()
(this branch uses jc/t9210-lazy-fix.)
"git rev-list --missing=print" has learned to optionally take
"--allow-missing-tips", which allows the objects at the starting
points to be missing.
Will cook in 'next'.
Will merge to 'master'.
source: <20240214142513.4002639-1-christian.couder@gmail.com>
* ps/reftable-iteration-perf (2024-02-12) 7 commits
(merged to 'next' on 2024-02-12 at 6abaf58383)
+ reftable/reader: add comments to `table_iter_next()`
+ reftable/record: don't try to reallocate ref record name
+ reftable/block: swap buffers instead of copying
+ reftable/pq: allocation-less comparison of entry keys
+ reftable/merged: skip comparison for records of the same subiter
+ reftable/merged: allocation-less dropping of shadowed records
+ reftable/record: introduce function to compare records by key
(this branch is used by ps/reftable-iteration-perf-part2.)
The code to iterate over refs with the reftable backend has seen
some optimization.
Will cook in 'next'.
source: <cover.1707726654.git.ps@pks.im>
* js/merge-tree-3-trees (2024-02-22) 6 commits
* js/merge-tree-3-trees (2024-02-23) 7 commits
- fill_tree_descriptor(): mark error message for translation
- cache-tree: avoid an unnecessary check
- Always check `parse_tree*()`'s return value
- t4301: verify that merge-tree fails on missing blob objects
@@ -490,9 +711,9 @@ Release tarballs are available at:
"git merge-tree" has learned that the three trees involved in the
3-way merge only need to be trees, not necessarily commits.
Comments?
Will merge to 'next'?
source: <pull.1647.git.1706277694231.gitgitgadget@gmail.com>
source: <pull.1651.v3.git.1708612605.gitgitgadget@gmail.com>
source: <pull.1651.v4.git.1708677266.gitgitgadget@gmail.com>
* rj/complete-reflog (2024-01-26) 4 commits
@@ -509,17 +730,15 @@ Release tarballs are available at:
source: <98daf977-dbad-4d3b-a293-6a769895088f@gmail.com>
* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-12) 2 commits
* ml/log-merge-with-cherry-pick-and-other-pseudo-heads (2024-02-27) 2 commits
- revision: implement `git log --merge` also for rebase/cherry-pick/revert
- revision: ensure MERGE_HEAD is a ref in prepare_show_merge
"git log --merge" learned to pay attention to CHERRY_PICK_HEAD and
other kinds of *_HEAD pseudorefs.
Expecting a reroll.
cf. <790a3f11-5a8c-42f2-7a35-f2900c0299b4@gmail.com>
cf. <8384d1dc-b6c4-b853-9bf6-3d7ccee86d12@gmail.com>
source: <20240210-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v4-0-3bc9e62808f4@gmail.com>
Will merge to 'next'?
source: <20240225-ml-log-merge-with-cherry-pick-and-other-pseudo-heads-v5-0-af1ef2d9e44d@gmail.com>
* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
@@ -560,27 +779,10 @@ Release tarballs are available at:
Code clean-up.
Will cook in 'next'.
Will merge to 'master'.
source: <pull.1632.v5.git.1708124950.gitgitgadget@gmail.com>
* cp/apply-core-filemode (2023-12-26) 3 commits
(merged to 'next' on 2024-02-07 at 089a3fbb86)
+ apply: code simplification
+ apply: correctly reverse patch's pre- and post-image mode bits
+ apply: ignore working tree filemode when !core.filemode
"git apply" on a filesystem without filemode support have learned
to take a hint from what is in the index for the path, even when
not working with the "--index" or "--cached" option, when checking
the executable bit match what is required by the preimage in the
patch.
Will cook in 'next'.
cf. <xmqqzfwb53a9.fsf@gitster.g>
source: <20231226233218.472054-1-gitster@pobox.com>
* tb/path-filter-fix (2024-01-31) 16 commits
- bloom: introduce `deinit_bloom_filters()`
- commit-graph: reuse existing Bloom filters where possible
@@ -657,3 +859,17 @@ Release tarballs are available at:
Not ready to be reviewed yet.
source: <20230824205456.1231371-1-gitster@pobox.com>
--------------------------------------------------
[Discarded]
* mh/credential-oauth-refresh-token-with-osxkeychain (2024-02-14) 1 commit
. credential/osxkeychain: store new attributes
OAuth refresh tokens and password expiry timestamps are now stored
in the osxkeychain backend , just the way libsecret and wincred
backends of the credential subsystem do.
Retracted.
cf. <CAGJzqsknN_RmYeT0xcn4cTLcJhsxSOUC6ppRVepxMDf3day5Fw@mail.gmail.com>
source: <pull.1663.git.1707860618119.gitgitgadget@gmail.com>