summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xCount5
-rw-r--r--MaintNotes4
-rwxr-xr-xround4
-rw-r--r--whats-cooking.txt871
4 files changed, 547 insertions, 337 deletions
diff --git a/Count b/Count
index 5a73cade66..a01e3093bb 100755
--- a/Count
+++ b/Count
@@ -2,9 +2,10 @@
: ${asof=${1-now}}
-lasttag=$(
+: ${lasttag=$(
git tag --list 'v*.0' --sort=version:tag | tail -n 1
-) &&
+ )}
+
for r in "$lasttag..master@{$asof}" \
"master@{$asof}..next@{$asof}" \
"master@{$asof}..seen@{$asof}"
diff --git a/MaintNotes b/MaintNotes
index b1f0e63dde..00ffa91b41 100644
--- a/MaintNotes
+++ b/MaintNotes
@@ -278,9 +278,9 @@ and enhancements in contrib/ area to the primary contributors of them.
Although the following are included in git.git repository, they have their
own authoritative repository and maintainers:
- - git-gui/ comes from git-gui project, maintained by Pratyush Yadav:
+ - git-gui/ comes from git-gui project, maintained by Johannes Sixt:
- https://github.com/prati0100/git-gui.git
+ https://github.com/j6t/git-gui
- gitk-git/ comes from Paul Mackerras's gitk project:
diff --git a/round b/round
index 462919aafc..9912ba8387 100755
--- a/round
+++ b/round
@@ -1,8 +1,8 @@
#!/bin/sh
# Give names of targets to use on the command line
-# coccicheck is not enabled by default
-default="sparse hdr-check sha256 leaks address,undefined test check-docs doc"
+# coccicheck and address,undefined are not enabled by default
+default="sparse hdr-check sha256 leaks test check-docs doc"
skip=" "
more=" "
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 1b9ad8669c..b6681e1580 100644
--- a/whats-cooking.txt
+++ b/whats-cooking.txt
@@ -1,10 +1,10 @@
To: git@vger.kernel.org
-Subject: What's cooking in git.git (Apr 2024, #10; Mon, 29)
-X-master-at: 786a3e4b8d754d2b14b1208b98eeb0a554ef19a8
-X-next-at: b9fe23f5ca751025eab840f4e693bd4f1ac413cb
+Subject: What's cooking in git.git (May 2024, #07; Fri, 17)
+X-master-at: d8ab1d464d07baa30e5a180eb33b3f9aa5c93adf
+X-next-at: de53f37879660c0da62a72472ba37f8680a3587c
Bcc: lwn@lwn.net, gitster@pobox.com
-What's cooking in git.git (Apr 2024, #10; Mon, 29)
+What's cooking in git.git (May 2024, #07; Fri, 17)
--------------------------------------------------
Here are the topics that have been cooking in my tree. Commits
@@ -17,8 +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.45 has been tagged.
-
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.
@@ -50,251 +48,550 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
-* rj/add-i-leak-fix (2024-04-22) 4 commits
- (merged to 'next' on 2024-04-23 at b10e350a54)
- + add: plug a leak on interactive_add
- + add-patch: plug a leak handling the '/' command
- + add-interactive: plug a leak in get_untracked_files
- + apply: plug a leak in apply_data
+* ds/scalar-reconfigure-all-fix (2024-05-07) 1 commit
+ (merged to 'next' on 2024-05-08 at eca398f4a5)
+ + scalar: avoid segfault in reconfigure --all
+
+ Scalar fix.
+ source: <pull.1724.v3.git.1715126749391.gitgitgadget@gmail.com>
+
+
+* jl/git-no-advice (2024-05-07) 4 commits
+ (merged to 'next' on 2024-05-08 at c9e7e0866e)
+ + t0018: two small fixes
+ (merged to 'next' on 2024-05-06 at 95cc03ef96)
+ + advice: add --no-advice global option
+ + doc: add spacing around paginate options
+ + doc: clean up usage documentation for --no-* opts
+
+ A new global "--no-advice" option can be used to disable all advice
+ messages, which is meant to be used only in scripts.
+ source: <20240503071706.78109-1-james@jamesliu.io>
+
+
+* jp/tag-trailer (2024-05-07) 3 commits
+ (merged to 'next' on 2024-05-07 at 646013793d)
+ + builtin/tag: add --trailer option
+ + builtin/commit: refactor --trailer logic
+ + builtin/commit: use ARGV macro to collect trailers
+
+ "git tag" learned the "--trailer" option to futz with the trailers
+ in the same way as "git commit" does.
+ source: <pull.1723.v5.git.1714934950.gitgitgadget@gmail.com>
+
+
+* js/unit-test-suite-runner (2024-05-06) 9 commits
+ (merged to 'next' on 2024-05-07 at 3b376223e3)
+ + cmake: let `test-tool` run the unit tests, too
+ + 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
+ + test-tool run-command testsuite: remove hardcoded filter
+ + test-tool run-command testsuite: get shell from env
+ + t0080: turn t-basic unit test into a helper
+ + Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
+
+ The "test-tool" has been taught to run testsuite tests in parallel,
+ bypassing the need to use the "prove" tool.
+ source: <cover.1715024899.git.steadmon@google.com>
+ source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>
+
+
+* jt/port-ci-whitespace-check-to-gitlab (2024-05-03) 5 commits
+ (merged to 'next' on 2024-05-08 at 774a29dde4)
+ + gitlab-ci: add whitespace error check
+ + ci: make the whitespace report optional
+ + ci: separate whitespace check script
+ + github-ci: fix link to whitespace error
+ + ci: pre-collapse GitLab CI sections
+
+ The "whitespace check" task that was enabled for GitHub Actions CI
+ has been ported to GitLab CI.
+ source: <20240503172110.181326-1-jltobler@gmail.com>
+
+
+* ow/refspec-glossary-update (2024-05-06) 1 commit
+ (merged to 'next' on 2024-05-07 at 7d55ebb0c8)
+ + Documentation: Mention that refspecs are explained elsewhere
+
+ Doc update.
+ source: <20240506182317.13477-1-oystwa@gmail.com>
- Leakfix.
- source: <69f86760-96ff-4c62-9649-4627652b7c19@gmail.com>
+* ps/config-subcommands (2024-05-06) 14 commits
+ (merged to 'next' on 2024-05-07 at f10c689a30)
+ + builtin/config: display subcommand help
+ + builtin/config: introduce "edit" subcommand
+ + builtin/config: introduce "remove-section" subcommand
+ + builtin/config: introduce "rename-section" subcommand
+ + builtin/config: introduce "unset" subcommand
+ + builtin/config: introduce "set" subcommand
+ + builtin/config: introduce "get" subcommand
+ + builtin/config: introduce "list" subcommand
+ + builtin/config: pull out function to handle `--null`
+ + builtin/config: pull out function to handle config location
+ + builtin/config: use `OPT_CMDMODE()` to specify modes
+ + builtin/config: move "fixed-value" option to correct group
+ + builtin/config: move option array around
+ + config: clarify memory ownership when preparing comment strings
+ (this branch is used by ps/builtin-config-cleanup.)
-* rs/vsnprintf-failure-is-not-a-bug (2024-04-21) 1 commit
- (merged to 'next' on 2024-04-23 at bf66ab6ea7)
- + don't report vsnprintf(3) error as bug
+ The operation mode options (like "--get") the "git config" command
+ uses have been deprecated and replaced with subcommands (like "git
+ config get").
+ source: <cover.1714982328.git.ps@pks.im>
- Demote a BUG() to an die() when the failure from vsnprintf() may
- not be due to a programmer error.
- source: <ea752a2b-9b74-4a59-a037-4782abf7161e@web.de>
+
+* ps/refs-without-the-repository (2024-05-07) 5 commits
+ (merged to 'next' on 2024-05-08 at 2479b9de46)
+ + refs: remove functions without ref store
+ + cocci: apply rules to rewrite callers of "refs" interfaces
+ + cocci: introduce rules to transform "refs" to pass ref store
+ + refs: add `exclude_patterns` parameter to `for_each_fullref_in()`
+ + refs: introduce missing functions that accept a `struct ref_store`
+ (this branch is used by ps/refs-without-the-repository-updates.)
+
+ The refs API lost functions that implicitly assumes to work on the
+ primary ref_store by forcing the callers to pass a ref_store as an
+ argument.
+ source: <cover.1715065736.git.ps@pks.im>
+
+
+* rs/external-diff-with-exit-code (2024-05-06) 1 commit
+ (merged to 'next' on 2024-05-08 at ad5fee3cbf)
+ + diff: report unmerged paths as changes in run_diff_cmd()
+
+ The "--exit-code" option of "git diff" command learned to report
+ unmerged paths as changes.
+
+ [jc: the tip one was reverted out]
+ source: <82561c70-ec33-41bf-b036-52310ffc1926@web.de>
+
+
+* vd/doc-merge-tree-x-option (2024-05-07) 1 commit
+ (merged to 'next' on 2024-05-08 at 42637b8bdf)
+ + Documentation/git-merge-tree.txt: document -X
+
+ Doc update.
+ source: <pull.1728.git.1715117789985.gitgitgadget@gmail.com>
--------------------------------------------------
[New Topics]
-* rh/complete-symbolic-ref (2024-04-25) 3 commits
- - completion: add docs on how to add subcommand completions
- - completion: improve docs for using __git_complete
- - completion: add 'symbolic-ref'
+* tb/pack-bitmap-write-cleanups (2024-05-15) 6 commits
+ - pack-bitmap: introduce `bitmap_writer_free()`
+ - pack-bitmap-write.c: avoid uninitialized 'write_as' field
+ - pack-bitmap: drop unused `max_bitmaps` parameter
+ - pack-bitmap: avoid use of static `bitmap_writer`
+ - pack-bitmap-write.c: move commit_positions into commit_pos fields
+ - object.h: add flags allocated by pack-bitmap.h
+
+ The pack bitmap code saw some clean-up to prepare for a follow-up topic.
+
+ Will merge to 'next'?
+ source: <cover.1715716605.git.me@ttaylorr.com>
+
+
+* jc/t0017-clarify-bogus-expectation (2024-05-16) 1 commit
+ - t0017: clarify dubious test set-up
+
+ Test clean-up.
+
+ Will merge to 'next'?
+ source: <xmqqcypmx44l.fsf@gitster.g>
+
+
+* kn/osxkeychain-skip-idempotent-store (2024-05-15) 2 commits
+ - osxkeychain: state to skip unnecessary store operations
+ - osxkeychain: exclusive lock to serialize execution of operations
- Command line completion script (in contrib/) learned to complete
- "git symbolic-ref" a bit better (you need to enable plumbing
- commands to be completed with GIT_COMPLETION_SHOW_ALL_COMMANDS).
+ The credential helper that talks with osx keychain learned to avoid
+ storing back the authentication material it just got received from
+ the keychain.
+
+ Comments?
+ source: <pull.1729.v3.git.1715800868.gitgitgadget@gmail.com>
+
+
+* kn/update-ref-symref (2024-05-15) 7 commits
+ - update-ref: add support for 'symref-update' command
+ - reftable: pick either 'oid' or 'target' for new updates
+ - update-ref: add support for 'symref-create' command
+ - update-ref: add support for 'symref-delete' command
+ - update-ref: add support for 'symref-verify' command
+ - refs: create and use `ref_update_ref_must_exist()`
+ - Merge branch 'kn/ref-transaction-symref' into kn/update-ref-symref
+ (this branch uses kn/ref-transaction-symref.)
+
+ "git update-ref --stdin" learned to handle transactional updates of
+ symbolic-refs.
+
+ Expecting a reroll.
+ cf. <ZkXpcvF6dxGr6qmj@tanuki>
+ source: <20240514124411.1037019-1-knayak@gitlab.com>
+
+
+* mt/t0211-typofix (2024-05-16) 1 commit
+ - t/t0211-trace2-perf.sh: fix typo patern -> pattern
+
+ Test fix.
Will merge to 'next'.
- source: <20240425101845.708554-3-rhi@pengutronix.de>
+ source: <ZkW5ggOVlglfi64u@telcontar>
-* jt/doc-submitting-rerolled-series (2024-04-25) 1 commit
- - doc: clarify practices for submitting updated patch versions
+* ps/complete-config-w-subcommands (2024-05-17) 1 commit
+ - completion: adapt git-config(1) to complete subcommands
- Developer doc update.
+ Update the command line completion script (in contrib/) to adjust
+ to the recent update to "git config" that adopted subcommand based
+ UI.
Will merge to 'next'.
- source: <20240425213404.133660-1-jltobler@gmail.com>
+ source: <8d43dee33289969a5afbbf7635ac40b7312d8e19.1715926344.git.ps@pks.im>
+
+
+* ps/refs-without-the-repository-updates (2024-05-17) 17 commits
+ - refs/packed: remove references to `the_hash_algo`
+ - refs/files: remove references to `the_hash_algo`
+ - refs/files: use correct repository
+ - refs: remove `dwim_log()`
+ - refs: drop `git_default_branch_name()`
+ - refs: pass repo when peeling objects
+ - refs: move object peeling into "object.c"
+ - refs: pass ref store when detecting dangling symrefs
+ - refs: convert iteration over replace refs to accept ref store
+ - refs: retrieve worktree ref stores via associated repository
+ - refs: refactor `resolve_gitlink_ref()` to accept a repository
+ - refs: pass repo when retrieving submodule ref store
+ - refs: track ref stores via strmap
+ - refs: implement releasing ref storages
+ - refs: rename `init_db` callback to avoid confusion
+ - refs: adjust names for `init` and `init_db` callbacks
+ - Merge branch 'ps/refs-without-the-repository' into ps/refs-without-the-repository-updates
+
+ Further clean-up the refs subsystem to stop relying on
+ the_repository, and instead use the repository associated to the
+ ref_store object.
+
+ Will merge to 'next'?
+ source: <cover.1715929858.git.ps@pks.im>
+
+* jc/doc-diff-name-only (2024-05-17) 1 commit
+ - diff: document what --name-only shows
-* bc/zsh-compatibility (2024-04-26) 2 commits
- - vimdiff: make script and tests work with zsh
- - t4046: avoid continue in &&-chain for zsh
+ The documentation for "git diff --name-only" has been clarified
+ that it is about showing the names in the post-image tree.
- source: <20240426221154.2194139-1-sandals@crustytoothpaste.net>
+ Will merge to 'next'.
+ source: <xmqqeda0jr7d.fsf@gitster.g>
-* jc/rev-parse-fatal-doc (2024-04-28) 1 commit
- - rev-parse: document that most of the time you need to be in a repository
+* kn/patch-iteration-doc (2024-05-17) 2 commits
+ - SubmittingPatches: add section for iterating patches
+ - Merge branch 'jc/patch-flow-updates' into kn/patch-iteration-doc
+ (this branch uses jc/patch-flow-updates.)
+
+ Doc updates.
+
+ Will merge to 'next'.
+ source: <20240517122724.270706-1-knayak@gitlab.com>
+
+
+* mt/openindiana-portability (2024-05-17) 7 commits
+ (merged to 'next' on 2024-05-17 at de53f37879)
+ + t/t9001-send-email.sh: sed - remove the i flag for s
+ + t/t9118-git-svn-funky-branch-names.sh: sed needs semicolon
+ + t/t1700-split-index.sh: mv -v is not portable
+ + t/t4202-log.sh: fix misspelled variable
+ + t/t0600-reffiles-backend.sh: rm -v is not portable
+ + t/t9902-completion.sh: backslashes in echo
+ + Switch grep from non-portable BRE to portable ERE
+
+ Portability updates to various uses of grep and sed.
+
+ Will merge to 'master'.
+ source: <ZkeMiifGHkIsehz3@telcontar>
+
+
+* mt/openindiana-scalar (2024-05-17) 1 commit
+ - scalar: make enlistment delete to work on all POSIX platforms
+
+ Avoid removing the $(cwd) for portability.
+
+ Needs review.
+ source: <Zkds81OB7C5bTCl_@telcontar>
+
+
+* ts/archive-prefix-with-add-virtual-file (2024-05-17) 1 commit
+ - archive: make --add-virtual-file honor --prefix
+
+ source: <pull.1719.v2.git.git.1715967267420.gitgitgadget@gmail.com>
+
+
+* js/doc-decisions (2024-05-17) 1 commit
+ - doc: describe the project's decision-making process
+
+ The project decision making policy has been documented.
+ source: <10f217915600eda3ebec886e4f020f87c22e318a.1715978031.git.steadmon@google.com>
--------------------------------------------------
[Cooking]
-* ps/undecided-is-not-necessarily-sha1 (2024-04-29) 13 commits
- - SQUASH???
- - repository: stop setting SHA1 as the default object hash
- - builtin/shortlog: don't set up revisions without repo
- - builtin/diff: explicitly set hash algo when there is no repo
- - builtin/bundle: abort "verify" early when there is no repository
- - builtin/blame: don't access potentially unitialized `the_hash_algo`
- - builtin/rev-parse: allow shortening to more than 40 hex characters
- - remote-curl: fix parsing of detached SHA256 heads
- - attr: fix BUG() when parsing attrs outside of repo
- - attr: don't recompute default attribute source
- - parse-options-cb: only abbreviate hashes when hash algo is known
- - path: move `validate_headref()` to its only user
- - path: harden validation of HEAD with non-standard hashes
+* jc/compat-regex-calloc-fix (2024-05-13) 1 commit
+ (merged to 'next' on 2024-05-13 at 077c4e1dcc)
+ + compat/regex: fix argument order to calloc(3)
- Before discovering the repository details, We used to assume SHA-1
- as the "default" hash function, which has been corrected. Hopefully
- this will smoke out codepaths that rely on such an unwarranted
- assumptions.
+ Windows CI running in GitHub Actions started complaining about the
+ order of arguments given to calloc(); the imported regex code uses
+ the wrong order almost consistently, which has been corrected.
- fuzz-smoke-test job at GitHub Actions CI breaks with this in 'seen'
- cf. <xmqqwmoi31aw.fsf@gitster.g>
- source: <cover.1713848619.git.ps@pks.im>
+ Will merge to 'master'.
+ source: <xmqqbk5bim2n.fsf@gitster.g>
-* aj/stash-staged-fix (2024-04-22) 1 commit
- (merged to 'next' on 2024-04-23 at d49e9dade0)
- + stash: fix "--staged" with binary files
+* jc/undecided-is-not-necessarily-sha1-fix (2024-05-16) 6 commits
+ - apply: fix uninitialized hash function
+ - builtin/hash-object: fix uninitialized hash function
+ - builtin/patch-id: fix uninitialized hash function
+ - t1517: test commands that are designed to be run outside repository
+ - setup: add an escape hatch for "no more default hash algorithm" change
+ - Merge branch 'ps/undecided-is-not-necessarily-sha1' into jc/undecided-is-not-necessarily-sha1-fix
+ (this branch uses ps/undecided-is-not-necessarily-sha1.)
- "git stash -S" did not handle binary files correctly, which has
- been corrected.
+ The base topic started to make it an error for a command to leave
+ the hash algorithm unspecified, which revealed a few commands that
+ were not ready for the change. Give users a knob to revert back to
+ the "default is sha-1" behaviour as an escape hatch, and start
+ fixing these breakages.
- Will cook in 'next'.
- source: <pull.1722.git.1713781694490.gitgitgadget@gmail.com>
+ Comments?
+ source: <20240513224127.2042052-1-gitster@pobox.com>
-* rj/add-p-typo-reaction (2024-04-26) 1 commit
- - add-patch: response to unknown command
+* dg/fetch-pack-code-cleanup (2024-05-13) 1 commit
+ (merged to 'next' on 2024-05-17 at c8f8136d2e)
+ + fetch-pack: remove unused 'struct loose_object_iter'
- When the user responds to a prompt given by "git add -p" with an
- unsupported command, list of available commands were given, which
- was too much if the user knew what they wanted to type but merely
- made a typo. Now the user gets a much shorter error message.
+ Code clean-up to remove an unused struct definition.
- Expecting a reroll.
- cf. <305296f1-975b-41b9-968c-3984d8056196@gmail.com>
- source: <b209a2b8-f98f-4f14-a687-9022d30968dd@gmail.com>
+ Will merge to 'master'.
+ source: <20240512005913.342287-1-dave@treblig.org>
-* ds/format-patch-rfc-and-k (2024-04-19) 1 commit
- (merged to 'next' on 2024-04-23 at b3b0c5507a)
- + format-patch: ensure that --rfc and -k are mutually exclusive
+* dm/update-index-doc-fix (2024-05-13) 1 commit
+ (merged to 'next' on 2024-05-17 at 2f6cd0d1cc)
+ + documentation: git-update-index: add --show-index-version to synopsis
- The "-k" and "--rfc" options of "format-patch" will now error out
- when used together, as one tells us not to add anything to the
- title of the commit, and the other one tells us to add "RFC" in
- addition to "PATCH".
+ Doc fix.
- Will cook in 'next'.
- source: <71d195c248879e7c46fac0e84c6b0a8aa90bd2c2.1713488563.git.dsimic@manjaro.org>
+ Will merge to 'master'.
+ source: <20240512031400.28416-1-dov.murik@linux.dev>
-* jc/format-patch-rfc-more (2024-04-23) 2 commits
- (merged to 'next' on 2024-04-23 at 9f51487974)
- + format-patch: "--rfc=-(WIP)" appends to produce [PATCH (WIP)]
- + format-patch: allow --rfc to optionally take a value, like --rfc=WIP
+* ps/builtin-config-cleanup (2024-05-15) 22 commits
+ - builtin/config: pass data between callbacks via local variables
+ - builtin/config: convert flags to a local variable
+ - builtin/config: track "fixed value" option via flags only
+ - builtin/config: convert `key` to a local variable
+ - builtin/config: convert `key_regexp` to a local variable
+ - builtin/config: convert `regexp` to a local variable
+ - builtin/config: convert `value_pattern` to a local variable
+ - builtin/config: convert `do_not_match` to a local variable
+ - builtin/config: move `respect_includes_opt` into location options
+ - builtin/config: move default value into display options
+ - builtin/config: move type options into display options
+ - builtin/config: move display options into local variables
+ - builtin/config: move location options into local variables
+ - builtin/config: refactor functions to have common exit paths
+ - config: make the config source const
+ - builtin/config: check for writeability after source is set up
+ - builtin/config: move actions into `cmd_config_actions()`
+ - builtin/config: move legacy options into `cmd_config()`
+ - builtin/config: move subcommand options into `cmd_config()`
+ - builtin/config: move legacy mode into its own function
+ - builtin/config: stop printing full usage on misuse
+ - Merge branch 'ps/config-subcommands' into ps/builtin-config-cleanup
- The "--rfc" option of "git format-patch" learned to take an
- optional string value to be used in place of "RFC" to tweak the
- "[PATCH]" on the subject header.
+ Code clean-up to reduce inter-function communication inside
+ builtin/config.c done via the use of global variables.
- Will cook in 'next'.
- source: <20240423175234.170434-1-gitster@pobox.com>
+ Will merge to 'next'?
+ source: <cover.1715755055.git.ps@pks.im>
-* ps/the-index-is-no-more (2024-04-18) 6 commits
- - repository: drop `initialize_the_repository()`
- - repository: drop `the_index` variable
- - builtin/clone: stop using `the_index`
- - repository: initialize index in `repo_init()`
- - builtin: stop using `the_index`
- - t/helper: stop using `the_index`
+* jc/doc-manpages-l10n (2024-05-17) 1 commit
+ - SubmittingPatches: advertise git-manpages-l10n project a bit
- The singleton index_state instance "the_index" has been eliminated
- by always instantiating "the_repository" and replacing references
- to "the_index" with references to its .index member.
+ The SubmittingPatches document now refers folks to manpages
+ translation project.
- Will merge to 'next'?
- source: <cover.1713442061.git.ps@pks.im>
+ Will merge to 'next'.
+ source: <xmqqv83muc12.fsf@gitster.g>
+
+
+* ps/reftable-reusable-iterator (2024-05-13) 13 commits
+ - reftable/merged: adapt interface to allow reuse of iterators
+ - reftable/stack: provide convenience functions to create iterators
+ - reftable/reader: adapt interface to allow reuse of iterators
+ - reftable/generic: adapt interface to allow reuse of iterators
+ - reftable/generic: move seeking of records into the iterator
+ - reftable/merged: simplify indices for subiterators
+ - reftable/merged: split up initialization and seeking of records
+ - reftable/reader: set up the reader when initializing table iterator
+ - reftable/reader: inline `reader_seek_internal()`
+ - reftable/reader: separate concerns of table iter and reftable reader
+ - reftable/reader: unify indexed and linear seeking
+ - reftable/reader: avoid copying index iterator
+ - reftable/block: use `size_t` to track restart point index
+
+ Code clean-up to make the reftable iterator closer to be reusable.
+
+ Comments?
+ source: <cover.1715589670.git.ps@pks.im>
-* pw/rebase-m-signoff-fix (2024-04-18) 6 commits
- (merged to 'next' on 2024-04-23 at 66374c00e2)
- + rebase -m: fix --signoff with conflicts
- + sequencer: store commit message in private context
- + sequencer: move current fixups to private context
- + sequencer: start removing private fields from public API
- + sequencer: always free "struct replay_opts"
- + Merge branch 'pw/t3428-cleanup' into pw/rebase-m-signoff-fix
+* tb/precompose-getcwd (2024-05-09) 1 commit
+ (merged to 'next' on 2024-05-11 at d1b507b01a)
+ + macOS: ls-files path fails if path of workdir is NFD
- "git rebase --signoff" used to forget that it needs to add a
- sign-off to the resulting commit when told to continue after a
- conflict stops its operation.
+ We forgot to normalize the result of getcwd() to NFC on macOS where
+ all other paths are normalized, which has been corrected.
- Will cook in 'next'.
- source: <cover.1713445918.git.phillip.wood@dunelm.org.uk>
+ Will merge to 'master'.
+ source: <20240509161110.12121-1-tboegi@web.de>
-* js/for-each-repo-keep-going (2024-04-24) 2 commits
- (merged to 'next' on 2024-04-25 at d33253d919)
- + maintenance: running maintenance should not stop on errors
- + for-each-repo: optionally keep going on an error
+* jc/patch-flow-updates (2024-05-10) 2 commits
+ (merged to 'next' on 2024-05-16 at d7a885574b)
+ + SubmittingPatches: extend the "flow" section
+ + SubmittingPatches: move the patch-flow section earlier
+ (this branch is used by kn/patch-iteration-doc.)
- A scheduled "git maintenance" job is expected to work on all
- repositories it knows about, but it stopped at the first one that
- errored out. Now it keeps going.
+ Doc updates.
- Will cook in 'next'.
- source: <pull.1719.v3.git.1713975299.gitgitgadget@gmail.com>
+ Will merge to 'master'.
+ source: <20240510165526.1412338-1-gitster@pobox.com>
-* xx/disable-replace-when-building-midx (2024-04-17) 1 commit
- (merged to 'next' on 2024-04-23 at 6c8f41740e)
- + midx: disable replace objects
+* it/refs-name-conflict (2024-05-06) 1 commit
+ (merged to 'next' on 2024-05-15 at 39ef3ecc88)
+ + refs: return conflict error when checking packed refs
- The procedure to build multi-pack-index got confused by the
- replace-refs mechanism, which has been corrected by disabling the
- latter.
+ Expose "name conflict" error when a ref creation fails due to D/F
+ conflict in the ref namespace, to improve an error message given by
+ "git fetch".
- Will cook in 'next'.
- source: <pull.1711.v2.git.1712554017808.gitgitgadget@gmail.com>
+ Will merge to 'master'.
+ source: <pull.1716.v3.git.git.1714791848557.gitgitgadget@gmail.com>
-* kn/update-ref-symrefs (2024-04-26) 7 commits
- - ref: support symrefs in 'reference-transaction' hook
- - update-ref: add support for 'symref-update' command
- - update-ref: add support for 'symref-create' command
- - update-ref: add support for 'symref-delete' command
- - update-ref: add support for 'symref-verify' command
- - files-backend: extract out `create_symref_lock`
- - refs: accept symref values in `ref_transaction[_add]_update`
+* jc/format-patch-more-aggressive-range-diff (2024-05-06) 1 commit
+ - format-patch: run range-diff with larger creation-factor
- "update-ref" learns to also handle symbolic refs.
+ The default "creation-factor" used by "git format-patch" has been
+ raised to make it more aggressively find matching commits.
- Expecting a reroll.
- cf. <CAOLa=ZT4yVEuZXmiTVB2tf0qaTPCPn=0TcJRc89knZQWZBbFTg@mail.gmail.com>
- source: <20240426152449.228860-1-knayak@gitlab.com>
+ Comments?
+ source: <xmqqbk5i3ncw.fsf_-_@gitster.g>
+
+
+* kn/ref-transaction-symref (2024-05-07) 8 commits
+ (merged to 'next' on 2024-05-11 at 0a7119f2a3)
+ + refs: remove `create_symref` and associated dead code
+ + refs: rename `refs_create_symref()` to `refs_update_symref()`
+ + refs: use transaction in `refs_create_symref()`
+ + refs: add support for transactional symref updates
+ + refs: move `original_update_refname` to 'refs.c'
+ + refs: support symrefs in 'reference-transaction' hook
+ + files-backend: extract out `create_symref_lock()`
+ + refs: accept symref values in `ref_transaction_update()`
+ (this branch is used by kn/update-ref-symref.)
+
+ Updates to symbolic refs can now be made as a part of ref
+ transaction.
+
+ Will merge to 'master'.
+ source: <20240507125859.132116-1-knayak@gitlab.com>
+
+
+* ps/reftable-write-options (2024-05-13) 11 commits
+ - refs/reftable: allow configuring geometric factor
+ - reftable: make the compaction factor configurable
+ - refs/reftable: allow disabling writing the object index
+ - refs/reftable: allow configuring restart interval
+ - reftable: use `uint16_t` to track restart interval
+ - refs/reftable: allow configuring block size
+ - reftable/dump: support dumping a table's block structure
+ - reftable/writer: improve error when passed an invalid block size
+ - reftable/writer: drop static variable used to initialize strbuf
+ - reftable: pass opts as constant pointer
+ - reftable: consistently refer to `reftable_write_options` as `opts`
+
+ The knobs to tweak how reftable files are written have been made
+ available as configuration variables.
+ Comments?
+ source: <cover.1715587849.git.ps@pks.im>
-* la/doc-use-of-contacts-when-contributing (2024-04-18) 8 commits
- (merged to 'next' on 2024-04-25 at 5102a45f63)
- + SubmittingPatches: demonstrate using git-contacts with git-send-email
- + SubmittingPatches: add heading for format-patch and send-email
- + SubmittingPatches: dedupe discussion of security patches
- + SubmittingPatches: discuss reviewers first
- + SubmittingPatches: quote commands
- + SubmittingPatches: mention GitGitGadget
- + SubmittingPatches: clarify 'git-contacts' location
- + MyFirstContribution: mention contrib/contacts/git-contacts
- Advertise "git contacts", a tool for newcomers to find people to
- ask review for their patches, a bit more in our developer
- documentation.
+* ps/pseudo-ref-terminology (2024-05-15) 10 commits
+ - refs: refuse to write pseudorefs
+ - ref-filter: properly distinuish pseudo and root refs
+ - refs: pseudorefs are no refs
+ - refs: classify HEAD as a root ref
+ - refs: do not check ref existence in `is_root_ref()`
+ - refs: rename `is_special_ref()` to `is_pseudo_ref()`
+ - refs: rename `is_pseudoref()` to `is_root_ref()`
+ - Documentation/glossary: define root refs as refs
+ - Documentation/glossary: clarify limitations of pseudorefs
+ - Documentation/glossary: redefine pseudorefs as special refs
- Will cook in 'next'.
- source: <pull.1704.v6.git.1713477125.gitgitgadget@gmail.com>
-
-
-* ps/ci-test-with-jgit (2024-04-12) 13 commits
- - t0612: add tests to exercise Git/JGit reftable compatibility
- - t0610: fix non-portable variable assignment
- - t06xx: always execute backend-specific tests
- - ci: install JGit dependency
- - ci: make Perforce binaries executable for all users
- - ci: merge scripts which install dependencies
- - ci: fix setup of custom path for GitLab CI
- - ci: merge custom PATH directories
- - ci: convert "install-dependencies.sh" to use "/bin/sh"
- - ci: drop duplicate package installation for "linux-gcc-default"
- - ci: skip sudo when we are already root
- - ci: expose distro name in dockerized GitHub jobs
- - ci: rename "runs_on_pool" to "distro"
-
- Tests to ensure interoperability between reftable written by jgit
- and our code have been added and enabled in CI.
+ Terminology to call various ref-like things are getting
+ straightened out.
- Will merge to 'next'.
- source: <cover.1712896868.git.ps@pks.im>
+ Will merge to 'next'?
+ cf. <vgzwb5xnlvz2gfiqamzrfcjs2xya3zhhoootyzopfpdrjapayq@wfsomyal4cf6>
+ source: <cover.1715755591.git.ps@pks.im>
+
+
+* jc/rev-parse-fatal-doc (2024-05-01) 1 commit
+ - rev-parse: document how --is-* options work outside a repository
+
+ Doc update.
+
+ Comments?
+ source: <xmqqplu54fbg.fsf@gitster.g>
+
+
+* ps/undecided-is-not-necessarily-sha1 (2024-05-06) 15 commits
+ (merged to 'next' on 2024-05-08 at 9f8e894685)
+ + repository: stop setting SHA1 as the default object hash
+ + oss-fuzz/commit-graph: set up hash algorithm
+ + builtin/shortlog: don't set up revisions without repo
+ + builtin/diff: explicitly set hash algo when there is no repo
+ + builtin/bundle: abort "verify" early when there is no repository
+ + builtin/blame: don't access potentially unitialized `the_hash_algo`
+ + builtin/rev-parse: allow shortening to more than 40 hex characters
+ + remote-curl: fix parsing of detached SHA256 heads
+ + attr: fix BUG() when parsing attrs outside of repo
+ + attr: don't recompute default attribute source
+ + parse-options-cb: only abbreviate hashes when hash algo is known
+ + path: move `validate_headref()` to its only user
+ + path: harden validation of HEAD with non-standard hashes
+ + Merge branch 'ps/the-index-is-no-more' into ps/undecided-is-not-necessarily-sha1
+ + Merge branch 'jc/no-default-attr-tree-in-bare' into ps/undecided-is-not-necessarily-sha1
+ (this branch is used by jc/undecided-is-not-necessarily-sha1-fix.)
+
+ Before discovering the repository details, We used to assume SHA-1
+ as the "default" hash function, which has been corrected. Hopefully
+ this will smoke out codepaths that rely on such an unwarranted
+ assumptions.
+
+ Will cook in 'next'.
+ source: <cover.1715057362.git.ps@pks.im>
* pw/rebase-i-error-message (2024-04-08) 2 commits
@@ -310,35 +607,15 @@ Release tarballs are available at:
source: <pull.1672.v2.git.1712585787.gitgitgadget@gmail.com>
-* ps/reftable-write-optim (2024-04-08) 11 commits
- - reftable/block: reuse compressed array
- - reftable/block: reuse zstream when writing log blocks
- - reftable/writer: reset `last_key` instead of releasing it
- - reftable/writer: unify releasing memory
- - reftable/writer: refactorings for `writer_flush_nonempty_block()`
- - reftable/writer: refactorings for `writer_add_record()`
- - refs/reftable: don't recompute committer ident
- - reftable: remove name checks
- - refs/reftable: skip duplicate name checks
- - refs/reftable: perform explicit D/F check when writing symrefs
- - refs/reftable: fix D/F conflict error message on ref copy
-
- Code to write out reftable has seen some optimization and
- simplification.
-
- Will merge to 'next'?
- source: <cover.1712578837.git.ps@pks.im>
-
-
-* ds/send-email-per-message-block (2024-04-10) 2 commits
- - send-email: make it easy to discern the messages for each patch
+* ds/send-email-per-message-block (2024-04-10) 1 commit
- send-email: move newline characters out of a few translatable strings
- "git send-email" learned to separate its reports on each message it
- sends out with an extra blank line in between.
+ Preliminary code clean-up for "git send-email".
- Will merge to 'next'?
- source: <cover.1712732383.git.dsimic@manjaro.org>
+ Will merge to 'next'.
+ The topmost commit in the original series was dropped per author's request.
+ cf. <a07d3807a24f6d68cb48ee48366ae25e@manjaro.org>
+ source: <29ea3a9b07bf1aa17b5d6a1e41325379c494bcb2.1712732383.git.dsimic@manjaro.org>
* ew/khash-to-khashl (2024-03-28) 3 commits
@@ -354,86 +631,24 @@ Release tarballs are available at:
source: <20240328101356.300374-1-e@80x24.org>
-* bc/credential-scheme-enhancement (2024-04-16) 16 commits
- - credential: add method for querying capabilities
- - credential-cache: implement authtype capability
- - t: add credential tests for authtype
- - credential: add support for multistage credential rounds
- - t5563: refactor for multi-stage authentication
- - docs: set a limit on credential line length
- - credential: enable state capability
- - credential: add an argument to keep state
- - http: add support for authtype and credential
- - docs: indicate new credential protocol fields
- - credential: add a field called "ephemeral"
- - credential: gate new fields on capability
- - credential: add a field for pre-encoded credentials
- - http: use new headers for each object request
- - remote-curl: reset headers on new request
- - credential: add an authtype field
-
- The credential helper protocol, together with the HTTP layer, have
- been enhanced to support authentication schemes different from
- username & password pair, like Bearer and NTLM.
-
- Comments?
- source: <20240417000240.3611948-1-sandals@crustytoothpaste.net>
-
-
-* tb/pseudo-merge-reachability-bitmap (2024-03-20) 24 commits
- - t/perf: implement performace tests for pseudo-merge bitmaps
- - pseudo-merge: implement support for finding existing merges
- - ewah: `bitmap_equals_ewah()`
- - pack-bitmap: extra trace2 information
- - pack-bitmap.c: use pseudo-merges during traversal
- - t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
- - pack-bitmap: implement test helpers for pseudo-merge
- - ewah: implement `ewah_bitmap_popcount()`
- - pseudo-merge: implement support for reading pseudo-merge commits
- - pack-bitmap.c: read pseudo-merge extension
- - pseudo-merge: scaffolding for reads
- - pack-bitmap: extract `read_bitmap()` function
- - pack-bitmap-write.c: write pseudo-merge table
- - pack-bitmap-write.c: select pseudo-merge commits
- - pseudo-merge: implement support for selecting pseudo-merge commits
- - pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
- - pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
- - pack-bitmap-write: support storing pseudo-merge commits
- - pseudo-merge.ch: initial commit
- - pack-bitmap: move some initialization to `bitmap_writer_init()`
- - pack-bitmap: drop unused `max_bitmaps` parameter
- - ewah: implement `ewah_bitmap_is_subset()`
- - config: repo_config_get_expiry()
- - Documentation/technical: describe pseudo-merge bitmaps format
-
- The pack-bitmap machinery learned to write pseudo-merge bitmaps,
- which act as imaginary octopus merges covering un-bitmapped
- reference tips. This enhances bitmap coverage, and thus,
- performance, for repositories with many references using bitmaps.
-
- Expecting a reroll.
- cf. <ZfyxCLpjbaScIdWA@nand.local>
- source: <cover.1710972293.git.me@ttaylorr.com>
-
-
-* la/hide-trailer-info (2024-04-26) 11 commits
- - trailer unit tests: inspect iterator contents
- - trailer: document parse_trailers() usage
- - trailer: retire trailer_info_get() from API
- - trailer: make trailer_info struct private
- - trailer: make parse_trailers() return trailer_info pointer
- - interpret-trailers: access trailer_info with new helpers
- - sequencer: use the trailer iterator
- - trailer: teach iterator about non-trailer lines
- - trailer: add unit tests for trailer iterator
- - Makefile: sort UNIT_TEST_PROGRAMS
+* la/hide-trailer-info (2024-05-02) 11 commits
+ (merged to 'next' on 2024-05-15 at 955ffe4f37)
+ + trailer unit tests: inspect iterator contents
+ + trailer: document parse_trailers() usage
+ + trailer: retire trailer_info_get() from API
+ + trailer: make trailer_info struct private
+ + trailer: make parse_trailers() return trailer_info pointer
+ + interpret-trailers: access trailer_info with new helpers
+ + sequencer: use the trailer iterator
+ + trailer: teach iterator about non-trailer lines
+ + trailer: add unit tests for trailer iterator
+ + Makefile: sort UNIT_TEST_PROGRAMS
+ Merge branch 'la/format-trailer-info' into la/hide-trailer-info
The trailer API has been reshuffled a bit.
- Will merge to 'next'?
- cf. <CAP8UFD0ZHpo7US6dx_WK6F_1JYsBdHunBaW86qM1CzOKaPC-aA@mail.gmail.com>
- source: <pull.1696.v3.git.1714091170.gitgitgadget@gmail.com>
+ Will merge to 'master'.
+ source: <pull.1696.v4.git.1714625667.gitgitgadget@gmail.com>
* ds/doc-config-reflow (2024-03-14) 1 commit
@@ -459,23 +674,11 @@ Release tarballs are available at:
source: <20240319183722.211300-1-ignacio@iencinas.com>
-* js/build-fuzz-more-often (2024-04-24) 1 commit
- (merged to 'next' on 2024-04-25 at 28f65d1be2)
- + fuzz: link fuzz programs with `make all` on Linux
-
- In addition to building the objects needed, try to link the objects
- that are used in fuzzer tests, to make sure at least they build
- without bitrot, in Linux CI runs.
-
- Will cook in 'next'.
- source: <ba9d24c6445de309226bf7c165499f1969807fef.1713982389.git.steadmon@google.com>
-
-
* cw/git-std-lib (2024-02-28) 4 commits
- - SQUASH??? get rid of apparent debugging crufts
- - 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
+ . SQUASH??? get rid of apparent debugging crufts
+ . 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.
@@ -483,36 +686,6 @@ Release tarballs are available at:
source: <cover.1696021277.git.jonathantanmy@google.com>
-* js/cmake-with-test-tool (2024-04-24) 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.
- Will merge to 'next' together with the base topic.
- source: <pull.1666.git.1708038924522.gitgitgadget@gmail.com>
-
-
-* js/unit-test-suite-runner (2024-04-24) 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
- - test-tool run-command testsuite: remove hardcoded filter
- - test-tool run-command testsuite: get shell from env
- - t0080: turn t-basic unit test into a helper
- - Merge branch 'jk/unit-tests-buildfix' into js/unit-test-suite-runner
- (this branch is used by js/cmake-with-test-tool.)
-
- The "test-tool" has been taught to run testsuite tests in parallel,
- bypassing the need to use the "prove" tool.
-
- Needs review.
- source: <cover.1713985716.git.steadmon@google.com>
-
-
* bk/complete-dirname-for-am-and-format-patch (2024-01-12) 1 commit
- completion: dir-type optargs for am, format-patch
@@ -575,3 +748,39 @@ Release tarballs are available at:
Not ready to be reviewed yet.
source: <20230824205456.1231371-1-gitster@pobox.com>
+
+--------------------------------------------------
+[Discarded]
+
+* tb/pseudo-merge-reachability-bitmap (2024-04-30) 23 commits
+ . t/perf: implement performace tests for pseudo-merge bitmaps
+ . pseudo-merge: implement support for finding existing merges
+ . ewah: `bitmap_equals_ewah()`
+ . pack-bitmap: extra trace2 information
+ . pack-bitmap.c: use pseudo-merges during traversal
+ . t/test-lib-functions.sh: support `--date` in `test_commit_bulk()`
+ . pack-bitmap: implement test helpers for pseudo-merge
+ . ewah: implement `ewah_bitmap_popcount()`
+ . pseudo-merge: implement support for reading pseudo-merge commits
+ . pack-bitmap.c: read pseudo-merge extension
+ . pseudo-merge: scaffolding for reads
+ . pack-bitmap: extract `read_bitmap()` function
+ . pack-bitmap-write.c: write pseudo-merge table
+ . pack-bitmap-write.c: select pseudo-merge commits
+ . pseudo-merge: implement support for selecting pseudo-merge commits
+ . pack-bitmap: make `bitmap_writer_push_bitmapped_commit()` public
+ . pack-bitmap: implement `bitmap_writer_has_bitmapped_object_id()`
+ . pack-bitmap-write: support storing pseudo-merge commits
+ . pseudo-merge.ch: initial commit
+ . pack-bitmap: move some initialization to `bitmap_writer_init()`
+ . pack-bitmap: drop unused `max_bitmaps` parameter
+ . ewah: implement `ewah_bitmap_is_subset()`
+ . Documentation/technical: describe pseudo-merge bitmaps format
+
+ The pack-bitmap machinery learned to write pseudo-merge bitmaps,
+ which act as imaginary octopus merges covering un-bitmapped
+ reference tips. This enhances bitmap coverage, and thus,
+ performance, for repositories with many references using bitmaps.
+
+ Retracted to be rebuilt on top of tb/pack-bitmap-write-cleanups topic
+ source: <cover.1714422410.git.me@ttaylorr.com>