diff options
-rwxr-xr-x | Count | 5 | ||||
-rw-r--r-- | MaintNotes | 4 | ||||
-rwxr-xr-x | round | 4 | ||||
-rw-r--r-- | whats-cooking.txt | 871 |
4 files changed, 547 insertions, 337 deletions
@@ -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: @@ -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> |