diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-08-29 17:37:34 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-08-29 17:37:34 -0700 |
commit | 055f745e1be2586c917e54de63f73a600b4aac61 (patch) | |
tree | 897218e98898029b6f55814d03bb74024200e9e5 | |
parent | ded2f065b417326184f3c71d5d3e8c701ebe3252 (diff) |
What's cooking (2021/08 #09)
-rw-r--r-- | whats-cooking.txt | 899 |
1 files changed, 553 insertions, 346 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt index 09a9916d4c..9f7ea450a4 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,9 +1,10 @@ To: git@vger.kernel.org -Subject: What's cooking in git.git (Aug 2021, #08; Mon, 23) -X-master-at: 225bc32a989d7a22fa6addafd4ce7dcd04675dbf -X-next-at: 09f9fbdd9fd7fdf4d572df3ab25b50b66ac29d70 +Bcc: lwn@lwn.net +Subject: What's cooking in git.git (Aug 2021, #09; Sun, 29) +X-master-at: c4203212e360b25a1c69467b5a8437d45a373cac +X-next-at: ba50c8fa2411f9e6a5c9ec9617eca2637ef4e4cb -What's cooking in git.git (Aug 2021, #08; Mon, 23) +What's cooking in git.git (Aug 2021, #09; Sun, 29) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -17,17 +18,18 @@ useful"). Do not read too much into a topic being in (or not in) 'seen'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -The tip of 'next' has been rewound, and the first batch of this -cycle should be in 'master' in a few days. As discussed, let's make -'ort' the default early in this cycle. +The first batch of topics for the new cycle are now in 'master'. +The second batch will primarily be to graduate 'ort' as the +default. -Most notably, since the "errno cleanup around refs API" topics have -been blocking the "reftable backend" topic, I've reverted the former -out of 'next' and moved them to near the tip of 'seen', essentially -giving priority to the latter. In other words, I'd expect to see -that the "reftable" topic to move before the "errno cleanup" topic, -and also expect that any breakage, when both are merged to 'seen', -would be resolved by adjusting the "errno cleanup" topic. +I've been a bit under the weather during the last week and wanted to +concentrate on what to push out to 'master', so while I may have +picked up new topics and replaced existing topics with their new +versions, I haven't added or updated my summaries on their doneness +to this document. Help is appreciated. + +There also may be other patches sent to the list that I haven't +looked at, whether they were reviewed by others or not. 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 @@ -58,141 +60,18 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[New Topics] - -* ps/fetch-optim (2021-08-20) 7 commits - - fetch: avoid second connectivity check if we already have all objects - - fetch: refactor fetch refs to be more extendable - - fetch-pack: optimize loading of refs via commit graph - - connected: refactor iterator to return next object ID directly - - fetch: avoid unpacking headers in object existence check - - fetch: speed up lookup of want refs via commit-graph - - Merge branch 'ps/connectivity-optim' into ps/fetch-optim - (this branch uses ps/connectivity-optim.) - --------------------------------------------------- -[Stalled] - -* gh/gitweb-branch-sort (2021-06-10) 1 commit - - gitweb: use HEAD as secondary sort key in git_get_heads_list() - - Tie-break branches that point at the same object in the list of - branches on GitWeb to show the one pointed at by HEAD early. - - Waiting for reviews. - - -* lh/systemd-timers (2021-07-02) 3 commits - - maintenance: add support for systemd timers on Linux - - maintenance: `git maintenance run` learned `--scheduler=<scheduler>` - - cache.h: Introduce a generic "xdg_config_home_for(…)" function - - "git maintenance" scheduler learned to use systemd timers as a - possible backend. - - Expecting a reroll. - - -* es/superproject-aware-submodules (2021-08-19) 5 commits - - fixup! introduce submodule.superprojectGitDir record - - submodule: record superproject gitdir during 'update' - - submodule: record superproject gitdir during absorbgitdirs - - introduce submodule.superprojectGitDir record - - t7400-submodule-basic: modernize inspect() helper - - A configuration variable in a submodule points at the location of - the superproject it is bound to (RFC). - - Looking good. - - -* en/zdiff3 (2021-06-15) 2 commits - - update documentation for new zdiff3 conflictStyle - - xdiff: implement a zealous diff3, or "zdiff3" - - "Zealous diff3" style of merge conflict presentation has been added. - - Expecting a reroll. - cf. <CABPp-BE7-E03+x38EK-=AE5mwwdST+d50hiiud2eY2Nsf3rM5g@mail.gmail.com> - - -* ao/p4-avoid-decoding (2021-04-12) 2 commits - - git-p4: do not decode data from perforce by default - - git-p4: avoid decoding more data from perforce - - "git p4" in Python-2 days used to accept a lot more kinds of data - from Perforce server as uninterrupted byte sequence, but after - switching to Python-3, too many things are expected to be in UTF-8, - which broke traditional use cases. - - Waiting for reviews. - - -* tv/p4-fallback-encoding (2021-04-30) 1 commit - - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset - - "git p4" learns the fallbackEncoding configuration variable to - safely accept changeset descriptions that aren't written in UTF-8. - - Waiting for reviews. - - -* ab/fsck-unexpected-type (2021-07-12) 21 commits - - fsck: report invalid object type-path combinations - - fsck: report invalid types recorded in objects - - object-store.h: move read_loose_object() below 'struct object_info' - - fsck: don't hard die on invalid object types - - object-file.c: return -2 on "header too long" in unpack_loose_header() - - object-file.c: return -1, not "status" from unpack_loose_header() - - object-file.c: guard against future bugs in loose_object_info() - - object-file.c: stop dying in parse_loose_header() - - object-file.c: split up ternary in parse_loose_header() - - object-file.c: simplify unpack_loose_short_header() - - object-file.c: add missing braces to loose_object_info() - - object-file.c: make parse_loose_header_extended() public - - object-file.c: don't set "typep" when returning non-zero - - cache.h: move object functions to object-store.h - - cat-file tests: test for current --allow-unknown-type behavior - - cat-file tests: add corrupt loose object test - - rev-list tests: test for behavior with invalid object types - - cat-file tests: test that --allow-unknown-type isn't on by default - - cat-file tests: test for missing object with -t and -s - - fsck tests: add test for fsck-ing an unknown type - - fsck tests: refactor one test to use a sub-repo - - "git fsck" has been taught to report mismatch between expected and - actual types of an object better. - - Needs review. - --------------------------------------------------- -[Cooking] +[Graduated to 'master'] -* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit - (merged to 'next' on 2021-08-23 at 09f9fbdd9f) - + fetch-pack: speed up loading of refs via commit graph - - Originally merged to 'next' on 2021-08-09 - - Loading of ref tips to prepare for common ancestry negotiation in - "git fetch-pack" has been optimized by taking advantage of the - commit graph when available. - - Will merge to 'master'. - - -* jc/bisect-sans-show-branch (2021-07-28) 2 commits - (merged to 'next' on 2021-08-23 at 4d01043b2e) - + bisect: simplify return code from bisect_checkout() - + bisect: do not run show-branch just to show the current commit - - Originally merged to 'next' on 2021-08-02 +* ab/bundle-doc (2021-08-02) 4 commits + (merged to 'next' on 2021-08-23 at af25d34e71) + + bundle doc: replace "basis" with "prerequsite(s)" + + bundle doc: elaborate on rev<->ref restriction + + bundle doc: elaborate on object prerequisites + + bundle doc: rewrite the "DESCRIPTION" section - "git bisect" spawned "git show-branch" only to pretty-print the - title of the commit after checking out the next version to be - tested; this has been rewritten in C. + Originally merged to 'next' on 2021-08-04 - Will merge to 'master'. + Doc update. * ab/http-drop-old-curl (2021-07-30) 5 commits @@ -207,7 +86,16 @@ Release tarballs are available at: Support for ancient versions of cURL library has been dropped. - Will merge to 'master'. + +* ab/pack-stdin-packs-fix (2021-07-09) 2 commits + (merged to 'next' on 2021-08-23 at ec9d0ba95f) + + pack-objects: fix segfault in --stdin-packs option + + pack-objects tests: cover blindspots in stdin handling + + Originally merged to 'next' on 2021-08-04 + + Input validation of "git pack-objects --stdin-packs" has been + corrected. * ds/add-with-sparse-index (2021-07-29) 5 commits @@ -223,8 +111,6 @@ Release tarballs are available at: "git add" can work better with the sparse index. - Will merge to 'master'. - * en/ort-perf-batch-15 (2021-08-03) 9 commits (merged to 'next' on 2021-08-23 at d22a850986) @@ -242,25 +128,16 @@ Release tarballs are available at: Final batch for "merge -sort" optimization. - Will merge to 'master'. - -* js/expand-runtime-prefix (2021-07-26) 6 commits - (merged to 'next' on 2021-08-23 at cf274b0177) - + expand_user_path: allow in-flight topics to keep using the old name - + interpolate_path(): allow specifying paths relative to the runtime prefix - + Use a better name for the function interpolating paths - + expand_user_path(): clarify the role of the `real_home` parameter - + expand_user_path(): remove stale part of the comment - + tests: exercise the RUNTIME_PREFIX feature +* es/trace2-log-parent-process-name (2021-07-22) 2 commits + (merged to 'next' on 2021-08-23 at a93182081d) + + tr2: log parent process name + + tr2: make process info collection platform-generic Originally merged to 'next' on 2021-08-04 - Pathname expansion (like "~username/") learned a way to specify a - location relative to Git installation (e.g. its $sharedir which is - $(prefix)/share), with "%(prefix)". - - Will merge to 'master'. + trace2 logs learned to show parent process name to see in what + context Git was invoked. * hn/refs-test-cleanup (2021-08-02) 11 commits @@ -282,34 +159,33 @@ Release tarballs are available at: A handful of tests that assumed implementation details of files backend for refs have been cleaned up. - Will merge to 'master'. - -* ab/bundle-doc (2021-08-02) 4 commits - (merged to 'next' on 2021-08-23 at af25d34e71) - + bundle doc: replace "basis" with "prerequsite(s)" - + bundle doc: elaborate on rev<->ref restriction - + bundle doc: elaborate on object prerequisites - + bundle doc: rewrite the "DESCRIPTION" section - - Originally merged to 'next' on 2021-08-04 +* jc/bisect-sans-show-branch (2021-07-28) 2 commits + (merged to 'next' on 2021-08-23 at 4d01043b2e) + + bisect: simplify return code from bisect_checkout() + + bisect: do not run show-branch just to show the current commit - Doc update. + Originally merged to 'next' on 2021-08-02 - Will merge to 'master'. + "git bisect" spawned "git show-branch" only to pretty-print the + title of the commit after checking out the next version to be + tested; this has been rewritten in C. -* ab/pack-stdin-packs-fix (2021-07-09) 2 commits - (merged to 'next' on 2021-08-23 at ec9d0ba95f) - + pack-objects: fix segfault in --stdin-packs option - + pack-objects tests: cover blindspots in stdin handling +* js/expand-runtime-prefix (2021-07-26) 6 commits + (merged to 'next' on 2021-08-23 at cf274b0177) + + expand_user_path: allow in-flight topics to keep using the old name + + interpolate_path(): allow specifying paths relative to the runtime prefix + + Use a better name for the function interpolating paths + + expand_user_path(): clarify the role of the `real_home` parameter + + expand_user_path(): remove stale part of the comment + + tests: exercise the RUNTIME_PREFIX feature Originally merged to 'next' on 2021-08-04 - Input validation of "git pack-objects --stdin-packs" has been - corrected. - - Will merge to 'master'. + Pathname expansion (like "~username/") learned a way to specify a + location relative to Git installation (e.g. its $sharedir which is + $(prefix)/share), with "%(prefix)". * jt/push-negotiation-fixes (2021-07-15) 3 commits @@ -323,7 +199,16 @@ Release tarballs are available at: Bugfix for common ancestor negotiation recently introduced in "git push" codepath. - Will merge to 'master'. + +* ps/fetch-pack-load-refs-optim (2021-08-04) 1 commit + (merged to 'next' on 2021-08-23 at 09f9fbdd9f) + + fetch-pack: speed up loading of refs via commit graph + + Originally merged to 'next' on 2021-08-09 + + Loading of ref tips to prepare for common ancestry negotiation in + "git fetch-pack" has been optimized by taking advantage of the + commit graph when available. * zh/ref-filter-raw-data (2021-07-26) 6 commits @@ -341,68 +226,383 @@ Release tarballs are available at: option of "git for-each-ref" and its friends to be used in "git cat-file --batch". - Will merge to 'master'. +-------------------------------------------------- +[New Topics] +* ab/commit-graph-usage (2021-08-25) 7 commits + - commit-graph: show "unexpected subcommand" error + - commit-graph: show usage on "commit-graph [write|verify] garbage" + - commit-graph: early exit to "usage" on !argc + - multi-pack-index: refactor "goto usage" pattern + - commit-graph: use parse_options_concat() + - commit-graph: remove redundant handling of -h + - commit-graph: define common usage with a macro -* es/trace2-log-parent-process-name (2021-07-22) 2 commits - (merged to 'next' on 2021-08-23 at a93182081d) - + tr2: log parent process name - + tr2: make process info collection platform-generic - Originally merged to 'next' on 2021-08-04 +* ab/ls-remote-packet-trace (2021-08-24) 1 commit + - ls-remote: set packet_trace_identity(<name>) - trace2 logs learned to show parent process name to see in what - context Git was invoked. + Debugging aid fix. - Will merge to 'master'. + Will merge to 'next'. + + +* ab/rebase-fatal-fatal-fix (2021-08-24) 1 commit + - rebase: emit one "fatal" in "fatal: fatal: <error>" + + Error message fix. + + Will merge to 'next'. + + +* ab/refs-errno-cleanup (2021-08-25) 4 commits + - refs: make errno output explicit for refs_resolve_ref_unsafe + - refs: explicitly return failure_errno from parse_loose_ref_contents + - branch tests: test for errno propagating on failing read + - refs: add failure_errno to refs_read_raw_ref() signature + (this branch is used by hn/reftable; uses ab/refs-files-cleanup and hn/refs-errno-cleanup.) + + The "remainder" of hn/refs-errno-cleanup topic. + + +* ab/retire-advice-config (2021-08-25) 4 commits + - advice: move advice.graftFileDeprecated squashing to commit.[ch] + - advice: remove use of global advice_add_embedded_repo + - advice: remove read uses of most global `advice_` variables + - advice: add enum variants for missing advice variables + + Code clean up to migrate callers from older advice_config[] based + API to newer advice_if_enabled() and advice_enabled() API. + + Want to merge to 'next' but a tree-wide change like this can + interfere other topics in flight, so I'll need to block some time + to see how safe it is to proceed before we can do so. + + +* dd/diff-files-unmerged-fix (2021-08-25) 1 commit + - diff-lib: ignore paths that are outside $cwd if --relative asked + + "git diff --relative" segfaulted and/or produced incorrect result + when there are unmerged paths. + + Will merge to 'next'. + + +* dd/t6300-wo-gpg-fix (2021-08-25) 2 commits + - t6300: check for cat-file exit status code + - t6300: don't run cat-file on non-existent object + + Test fix. + + Will merge to 'next'. + + +* ga/send-email-sendmail-cmd (2021-08-24) 1 commit + - t9001: PATH must not use Windows-style paths + + Test fix. + + Will merge to 'next'. + + +* jb/midx-revindex-fix (2021-08-23) 1 commit + - multi-pack-index: fix *.rev cleanups with --object-dir + + An implementation in "multi-pack-index write" that takes object + directory inconsistently used that and the object store of the + default repository, causing segfaults and possibly corrupting + repositories. + + On hold. + cf. <xmqqo89jbf49.fsf@gitster.g> + + +* jk/t5323-no-pack-test-fix (2021-08-25) 1 commit + - t5323: drop mentions of "master" + + Test fix. + + Will merge to 'next'. + + +* js/maintenance-launchctl-fix (2021-08-24) 2 commits + - maintenance: skip bootout/bootstrap when plist is registered + - maintenance: create `launchctl` configuration using a lock file + + "git maintenance" scheduler fix for macOS. + + Will merge to 'next'. + + +* jv/pkt-line-batch (2021-08-26) 2 commits + - upload-pack: use stdio in send_ref callbacks + - pkt-line: add packet_fwrite + + Reduce number of write(2) system calls while sending the + ref advertisement. + + Expecting a reroll. + + +* me/t5582-cleanup (2021-08-24) 1 commit + - t5582: remove spurious 'cd "$D"' line + + Test fix. + + Will merge to 'next'. + + +* mh/credential-leakfix (2021-08-25) 1 commit + - credential: fix leak in credential_apply_config() + + Leak fix. + + Will merge to 'next'. + + +* mt/quiet-with-delayed-checkout (2021-08-26) 1 commit + - checkout: make delayed checkout respect --quiet and --no-progress + + The delayed checkout code path in "git checkout" etc. were chatty + even when --quiet and/or --no-progress options were given. + + Will merge to 'next'. + + +* ps/fetch-omit-formatting-under-quiet (2021-08-25) 1 commit + - fetch: skip formatting updated refs with `--quiet` + + "git fetch --quiet" optimization to avoid useless computation of + info that will never be displayed. + + Expecting a reroll. + cf. <xmqqo89lid59.fsf@gitster.g> + + +* ps/ls-refs-strbuf-optim (2021-08-25) 1 commit + - ls-refs: reuse buffer when sending refs + + Micro-optimization for the wire protocol driver. + + Will merge to 'next'. + + +* rs/branch-allow-deleting-dangling (2021-08-27) 1 commit + - branch: allow deleting dangling branches with --force + + "git branch -D <branch>" used to refuse to remove a broken branch + ref that points at a missing commit, which has been corrected. + + Will merge to 'next'. + + +* rs/git-mmap-uses-malloc (2021-08-24) 1 commit + - compat: let git_mmap use malloc(3) directly + + mmap() imitation used to call xmalloc() that dies upon malloc() + failure, which has been corrected to just return an error to the + caller to be handled. + + Will merge to 'next'. + + +* rs/xopen-reports-open-failures (2021-08-25) 2 commits + - use xopen() to handle fatal open(2) failures + - xopen: explicitly report creation failures + + Error diagnostics improvement. + + Will merge to 'next'. + + +* sg/column-nl (2021-08-26) 1 commit + - column: fix parsing of the '--nl' option + + The parser for the "--nl" option of "git column" has been + corrected. + + Will merge to 'next'. + + +* ab/unbundle-progress (2021-08-27) 5 commits + - bundle: show progress on "unbundle" + - index-pack: add --progress-title option + - bundle API: change "flags" to be "extra_index_pack_args" + - strvec: add a strvec_pushvec() + - bundle API: start writing API documentation + + +* jk/log-warn-on-bogus-encoding (2021-08-27) 2 commits + - docs: use "character encoding" to refer to commit-object encoding + - logmsg_reencode(): warn when iconv() fails + + +* rs/archive-use-object-id (2021-08-27) 1 commit + - archive: convert queue_directory to struct object_id + + +* rs/show-branch-simplify (2021-08-27) 1 commit + - show-branch: simplify rev_is_head() + +-------------------------------------------------- +[Stalled] + +* gh/gitweb-branch-sort (2021-06-10) 1 commit + - gitweb: use HEAD as secondary sort key in git_get_heads_list() + + Tie-break branches that point at the same object in the list of + branches on GitWeb to show the one pointed at by HEAD early. + + Waiting for reviews. + + +* es/superproject-aware-submodules (2021-08-19) 5 commits + - fixup! introduce submodule.superprojectGitDir record + - submodule: record superproject gitdir during 'update' + - submodule: record superproject gitdir during absorbgitdirs + - introduce submodule.superprojectGitDir record + - t7400-submodule-basic: modernize inspect() helper + + A configuration variable in a submodule points at the location of + the superproject it is bound to (RFC). + + Looking good. + + +* en/zdiff3 (2021-06-15) 2 commits + - update documentation for new zdiff3 conflictStyle + - xdiff: implement a zealous diff3, or "zdiff3" + + "Zealous diff3" style of merge conflict presentation has been added. + + Expecting a reroll. + cf. <CABPp-BE7-E03+x38EK-=AE5mwwdST+d50hiiud2eY2Nsf3rM5g@mail.gmail.com> + + +* ao/p4-avoid-decoding (2021-04-12) 2 commits + - git-p4: do not decode data from perforce by default + - git-p4: avoid decoding more data from perforce + + "git p4" in Python-2 days used to accept a lot more kinds of data + from Perforce server as uninterrupted byte sequence, but after + switching to Python-3, too many things are expected to be in UTF-8, + which broke traditional use cases. + + Waiting for reviews. + + +* tv/p4-fallback-encoding (2021-04-30) 1 commit + - git-p4: git-p4.fallbackEncoding to specify non UTF-8 charset + + "git p4" learns the fallbackEncoding configuration variable to + safely accept changeset descriptions that aren't written in UTF-8. + + Waiting for reviews. + + +* ab/fsck-unexpected-type (2021-07-12) 21 commits + - fsck: report invalid object type-path combinations + - fsck: report invalid types recorded in objects + - object-store.h: move read_loose_object() below 'struct object_info' + - fsck: don't hard die on invalid object types + - object-file.c: return -2 on "header too long" in unpack_loose_header() + - object-file.c: return -1, not "status" from unpack_loose_header() + - object-file.c: guard against future bugs in loose_object_info() + - object-file.c: stop dying in parse_loose_header() + - object-file.c: split up ternary in parse_loose_header() + - object-file.c: simplify unpack_loose_short_header() + - object-file.c: add missing braces to loose_object_info() + - object-file.c: make parse_loose_header_extended() public + - object-file.c: don't set "typep" when returning non-zero + - cache.h: move object functions to object-store.h + - cat-file tests: test for current --allow-unknown-type behavior + - cat-file tests: add corrupt loose object test + - rev-list tests: test for behavior with invalid object types + - cat-file tests: test that --allow-unknown-type isn't on by default + - cat-file tests: test for missing object with -t and -s + - fsck tests: add test for fsck-ing an unknown type + - fsck tests: refactor one test to use a sub-repo + + "git fsck" has been taught to report mismatch between expected and + actual types of an object better. + + Needs review. + +-------------------------------------------------- +[Cooking] + +* lh/systemd-timers (2021-08-27) 3 commits + - maintenance: add support for systemd timers on Linux + - maintenance: `git maintenance run` learned `--scheduler=<scheduler>` + - cache.h: Introduce a generic "xdg_config_home_for(…)" function + + "git maintenance" scheduler learned to use systemd timers as a + possible backend. + + +* ps/fetch-optim (2021-08-24) 8 commits + - fetch: avoid second connectivity check if we already have all objects + - fetch: merge fetching and consuming refs + - fetch: refactor fetch refs to be more extendable + - fetch-pack: optimize loading of refs via commit graph + - connected: refactor iterator to return next object ID directly + - fetch: avoid unpacking headers in object existence check + - fetch: speed up lookup of want refs via commit-graph + - Merge branch 'ps/connectivity-optim' into ps/fetch-optim + (this branch uses ps/connectivity-optim.) * sg/make-fix-ar-invocation (2021-08-19) 1 commit - - Makefile: remove archives before manipulating them with 'ar' + (merged to 'next' on 2021-08-24 at 9a3df9ec56) + + Makefile: remove archives before manipulating them with 'ar' Build fix. - Will merge to 'next'. + Will merge to 'master'. * ti/tcsh-completion-regression-fix (2021-08-18) 1 commit - - completion: tcsh: Fix regression by drop of wrapper functions + (merged to 'next' on 2021-08-24 at 8fa66cf037) + + completion: tcsh: Fix regression by drop of wrapper functions Update to the command line completion (in contrib/) for tcsh. - Will merge to 'next'. + Will merge to 'master'. * fc/completion-updates (2021-08-18) 4 commits - - completion: bash: add correct suffix in variables - - completion: bash: fix for multiple dash commands - - completion: bash: fix for suboptions with value - - completion: bash: fix prefix detection in branch.* + (merged to 'next' on 2021-08-24 at 593cd75c64) + + completion: bash: add correct suffix in variables + + completion: bash: fix for multiple dash commands + + completion: bash: fix for suboptions with value + + completion: bash: fix prefix detection in branch.* Command line completion updates. - Will merge to 'next'. + Will merge to 'master'. -* ar/submodule-run-update-procedure (2021-08-13) 1 commit +* ar/submodule-run-update-procedure (2021-08-24) 1 commit - submodule--helper: run update procedures from C Reimplementation of parts of "git submodule" in C continues. * cb/ci-use-upload-artifacts-v1 (2021-08-15) 1 commit - - ci: use upload-artifacts v1 for dockerized jobs + (merged to 'next' on 2021-08-24 at afdbb7ee8d) + + ci: use upload-artifacts v1 for dockerized jobs Use upload-artifacts v1 (instead of v2) for 32-bit linux, as the new version has a blocker bug for that architecture. - Will merge to 'next'. + Will merge to 'master'. * pw/rebase-skip-final-fix (2021-08-13) 3 commits - - rebase --continue: remove .git/MERGE_MSG - - rebase --apply: restore some tests - - t3403: fix commit authorship + (merged to 'next' on 2021-08-24 at 73ec41e9dd) + + rebase --continue: remove .git/MERGE_MSG + + rebase --apply: restore some tests + + t3403: fix commit authorship Checking out all the paths from HEAD during the last conflicted step in "git rebase" and continuing would cause the step to be @@ -410,7 +610,7 @@ Release tarballs are available at: $GIT_DIR and confuses the next "git commit", which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * ab/help-autocorrect-prompt (2021-08-14) 1 commit @@ -422,22 +622,24 @@ Release tarballs are available at: * pw/rebase-r-fixes (2021-08-23) 4 commits - - rebase -r: fix merge -c with a merge strategy - - rebase -r: don't write .git/MERGE_MSG when fast-forwarding - - rebase -i: add another reword test - - rebase -r: make 'merge -c' behave like reword + (merged to 'next' on 2021-08-24 at 81c6aff70a) + + rebase -r: fix merge -c with a merge strategy + + rebase -r: don't write .git/MERGE_MSG when fast-forwarding + + rebase -i: add another reword test + + rebase -r: make 'merge -c' behave like reword Various bugs in "git rebase -r" have been fixed. - Will merge to 'next'. + Will merge to 'master'. * th/userdiff-more-java (2021-08-11) 1 commit - - userdiff: improve java hunk header regex + (merged to 'next' on 2021-08-24 at a5617abd3e) + + userdiff: improve java hunk header regex The userdiff pattern for "java" language has been updated. - Will merge to 'next'. + Will merge to 'master'. * zh/cherry-pick-advice (2021-08-23) 1 commit @@ -481,46 +683,51 @@ Release tarballs are available at: * bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit - - t5607: avoid using prerequisites to select algorithm + (merged to 'next' on 2021-08-24 at 66c1e510ff) + + t5607: avoid using prerequisites to select algorithm The current implementation of GIT_TEST_FAIL_PREREQS is broken in that checking for the lack of a prerequisite would not work. Avoid the use of "if ! test_have_prereq X" in a test script. - Will merge to 'next'. + Will merge to 'master'. * jk/commit-edit-fixup-fix (2021-08-15) 1 commit - - commit: restore --edit when combined with --fixup + (merged to 'next' on 2021-08-24 at 0c625438c3) + + commit: restore --edit when combined with --fixup "git commit --fixup" now works with "--edit" again, after it was broken in v2.32. - Will merge to 'next'. + Will merge to 'master'. * tl/traverse-non-commits-rename (2021-08-12) 1 commit - - list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" + (merged to 'next' on 2021-08-24 at 55cc85c20a) + + list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" Meh. - Will merge to 'next'. + Will merge to 'master'. * cb/ci-freebsd-update (2021-08-12) 1 commit - - ci: update freebsd 12 cirrus job + (merged to 'next' on 2021-08-24 at 1ecf63af7d) + + ci: update freebsd 12 cirrus job Update FreeBSD CI job - Will merge to 'next'. + Will merge to 'master'. * cb/builtin-merge-format-string-fix (2021-08-09) 1 commit - - builtin/merge: avoid -Wformat-extra-args from ancient Xcode + (merged to 'next' on 2021-08-24 at 6e94c19f1e) + + builtin/merge: avoid -Wformat-extra-args from ancient Xcode Code clean-up. - Will merge to 'next'. + Will merge to 'master'. * ka/want-ref-in-namespace (2021-08-13) 3 commits @@ -533,23 +740,6 @@ Release tarballs are available at: want-ref requests. -* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit - - blame: add config `blame.ignoreRevsFileIsOptional` - - When the file named by blame.ignoreRevsFile configuration variable - does not exist, it causes "git blame" to die. Sometimes, it is - useful if the files named by configuration variables can be made - optional (it would allow ~/.gitconfig to give a filename, and make - it effective only in repositories that have a file with that name). - - This uses an extra variable that marks that the variable is - optional. Yet another alternative is being discussed to define - syntax for "optional" filename values, so that the same mechanism - can be used for not just blame.ignoreRevsFile but other filenames. - - Queued just as a reminder of the theme. - - * cb/ci-build-pedantic (2021-08-11) 1 commit - ci: run a pedantic build as part of the GitHub workflow @@ -568,7 +758,6 @@ Release tarballs are available at: - sparse-index: silently return when not using cone-mode patterns - t7519: rewrite sparse index test - Merge branch 'ds/add-with-sparse-index' into ds/sparse-index-ignored-files - (this branch uses ds/add-with-sparse-index.) In cone mode, the sparse-index codepath learned to remove ignored files (like build artifacts) outside the sparse cone, allowing the @@ -577,32 +766,35 @@ Release tarballs are available at: * jc/userdiff-pattern-hint (2021-08-11) 1 commit - - userdiff: comment on the builtin patterns + (merged to 'next' on 2021-08-24 at f29f51148f) + + userdiff: comment on the builtin patterns Remind developers that the userdiff patterns should be kept simple and permissive, assuming that the contents they apply are always syntactically correct. - Will merge to 'next'. + Will merge to 'master'. * jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit - - apply: keep buffer/size pair in sync when parsing binary hunks + (merged to 'next' on 2021-08-24 at c786cd1e8b) + + apply: keep buffer/size pair in sync when parsing binary hunks "git apply" miscounted the bytes and failed to read to the end of binary hunks. - Will merge to 'next'. + Will merge to 'master'. * jk/range-diff-fixes (2021-08-10) 3 commits - - range-diff: use ssize_t for parsed "len" in read_patches() - - range-diff: handle unterminated lines in read_patches() - - range-diff: drop useless "offset" variable from read_patches() + (merged to 'next' on 2021-08-24 at eff05f579e) + + range-diff: use ssize_t for parsed "len" in read_patches() + + range-diff: handle unterminated lines in read_patches() + + range-diff: drop useless "offset" variable from read_patches() "git range-diff" code clean-up. - Will merge to 'next'. + Will merge to 'master'. * js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits @@ -632,18 +824,19 @@ Release tarballs are available at: * ps/connectivity-optim (2021-08-09) 5 commits - - revision: avoid hitting packfiles when commits are in commit-graph - - commit-graph: split out function to search commit position - - revision: stop retrieving reference twice - - connected: do not sort input revisions - - revision: separate walk and unsorted flags + (merged to 'next' on 2021-08-24 at 94a7a04ca4) + + revision: avoid hitting packfiles when commits are in commit-graph + + commit-graph: split out function to search commit position + + revision: stop retrieving reference twice + + connected: do not sort input revisions + + revision: separate walk and unsorted flags (this branch is used by ps/fetch-optim.) The revision traversal API has been optimized by taking advantage of the commit-graph, when available, to determine if a commit is reachable from any of the existing refs. - Will merge to 'next'. + Will merge to 'master'. * ar/submodule-add-more (2021-08-10) 10 commits @@ -669,64 +862,46 @@ Release tarballs are available at: Build update. + Will merge to 'next'. + * en/merge-strategy-docs (2021-08-05) 10 commits - - Update error message and code comment - - merge-strategies.txt: add coverage of the `ort` merge strategy - - git-rebase.txt: correct out-of-date and misleading text about renames - - merge-strategies.txt: fix simple capitalization error - - merge-strategies.txt: avoid giving special preference to patience algorithm - - merge-strategies.txt: do not imply using copy detection is desired - - merge-strategies.txt: update wording for the resolve strategy - - Documentation: edit awkward references to `git merge-recursive` - - directory-rename-detection.txt: small updates due to merge-ort optimizations - - git-rebase.txt: correct antiquated claims about --rebase-merges + (merged to 'next' on 2021-08-24 at ceb66b1062) + + Update error message and code comment + + merge-strategies.txt: add coverage of the `ort` merge strategy + + git-rebase.txt: correct out-of-date and misleading text about renames + + merge-strategies.txt: fix simple capitalization error + + merge-strategies.txt: avoid giving special preference to patience algorithm + + merge-strategies.txt: do not imply using copy detection is desired + + merge-strategies.txt: update wording for the resolve strategy + + Documentation: edit awkward references to `git merge-recursive` + + directory-rename-detection.txt: small updates due to merge-ort optimizations + + git-rebase.txt: correct antiquated claims about --rebase-merges (this branch is used by en/ort-becomes-the-default.) Documentation updates. - Will merge to 'next'. + Will merge to 'master'. * en/ort-becomes-the-default (2021-08-05) 2 commits - - Update docs for change of default merge backend - - Change default merge backend from recursive to ort + (merged to 'next' on 2021-08-24 at 92f4e08d83) + + Update docs for change of default merge backend + + Change default merge backend from recursive to ort (this branch uses en/merge-strategy-docs.) Use `ort` instead of `recursive` as the default merge strategy. - Will merge to 'next'. + Will merge to 'master'. * js/log-protocol-version (2021-08-10) 1 commit - - connect, protocol: log negotiated protocol version + (merged to 'next' on 2021-08-24 at aeeaee04fb) + + connect, protocol: log negotiated protocol version Debugging aid. - Will merge to 'next'. - - -* ow/clone-bare-origin (2021-08-03) 1 commit - - clone: Allow combining --bare and --origin - - "git clone" did not like to take "--bare" and "--origin=X" at the - same time; loosen the restriction. - - Under discussion. This may require some follow-on work. - cf. <20210802174944.53745-1-oystwa@gmail.com> - - -* jc/trivial-threeway-binary-merge (2021-07-28) 1 commit - - ll-merge: teach ll_binary_merge() a trivial three-way merge - - The built-in merge driver for binary files learned to resolve - trivial three-way merges (e.g. apply change, which turns A into B, - to content A) by itself, which would help "git apply --3way" used - when there is no need to use "--3way". - - Will discard. - Replace with a trivial-merge logic in apply.c::try_treeway() or - apply.c::three_way_merge(). + Will merge to 'master'. * ab/lib-subtest (2021-08-05) 11 commits @@ -758,16 +933,14 @@ Release tarballs are available at: Further tweaks on progress API. -* ab/progress-users-adjust-counters (2021-08-05) 3 commits +* ab/progress-users-adjust-counters (2021-08-25) 2 commits - entry: show finer-grained counter in "Filtering content" progress line - - midx: don't provide a total for QSORT() progress - commit-graph: fix bogus counter in "Scanning merged commits" progress line The code to show progress indicator in a few codepaths did not cover between 0-100%, which has been corrected. - The middle one wants to be discarded. - cf. <87v94jzoxj.fsf@evledraar.gmail.com> + Will merge to 'next'? * ar/submodule-add-config (2021-08-10) 1 commit @@ -790,8 +963,8 @@ Release tarballs are available at: cf. <20210812001332.715876-1-dturner@twosigma.com> -* fs/ssh-signing (2021-08-03) 9 commits - - ssh signing: test that gpg fails for unkown keys +* fs/ssh-signing (2021-08-29) 9 commits + - ssh signing: test that gpg fails for unknown keys - ssh signing: tests for logs, tags & push certs - ssh signing: duplicate t7510 tests for commits - ssh signing: verify signatures using ssh-keygen @@ -807,21 +980,22 @@ Release tarballs are available at: * en/pull-conflicting-options (2021-07-22) 8 commits - - pull: fix handling of multiple heads - - pull: update docs & code for option compatibility with rebasing - - pull: abort by default when fast-forwarding is not possible - - pull: make --rebase and --no-rebase override pull.ff=only - - pull: since --ff-only overrides, handle it first - - pull: abort if --ff-only is given and fast-forwarding is impossible - - t7601: add tests of interactions with multiple merge heads and config - - t7601: test interaction of merge/rebase/fast-forward flags and options + (merged to 'next' on 2021-08-24 at e1e5b2c551) + + pull: fix handling of multiple heads + + pull: update docs & code for option compatibility with rebasing + + pull: abort by default when fast-forwarding is not possible + + pull: make --rebase and --no-rebase override pull.ff=only + + pull: since --ff-only overrides, handle it first + + pull: abort if --ff-only is given and fast-forwarding is impossible + + t7601: add tests of interactions with multiple merge heads and config + + t7601: test interaction of merge/rebase/fast-forward flags and options "git pull" had various corner cases that were not well thought out around its --rebase backend, e.g. "git pull --ff-only" did not stop but went ahead and rebased when the history on other side is not a descendant of our history. The series tries to fix them up. - Will merge to 'next'. + Will merge to 'master'. * cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit @@ -847,7 +1021,7 @@ Release tarballs are available at: 4/5 may want a minor tweak to the log and the patch text but otherwise looks good. -* tb/multi-pack-bitmaps (2021-07-27) 25 commits +* tb/multi-pack-bitmaps (2021-08-24) 25 commits - p5326: perf tests for MIDX bitmaps - p5310: extract full and partial bitmap tests - midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP' @@ -944,7 +1118,7 @@ Release tarballs are available at: Expecting a reroll. -* ab/test-tool-cache-cleanup (2021-06-08) 4 commits +* ab/test-tool-cache-cleanup (2021-08-24) 4 commits - read-cache perf: add a perf test for refresh_index() - test-tool: migrate read-cache-again to parse_options() - test-tool: migrate read-cache-perf to parse_options() @@ -952,8 +1126,6 @@ Release tarballs are available at: Test code shuffling. - Expecting a reroll. - * ab/pack-objects-stdin (2021-07-09) 5 commits - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS @@ -991,11 +1163,15 @@ Release tarballs are available at: cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com> -* hn/reftable (2021-08-18) 25 commits +* hn/reftable (2021-08-26) 29 commits + - SQUASH??? https://github.com/git/git/runs/3439941236?check_suite_focus=true#step:5:700 + - reftable: fixup for new base topic 3/3 + - reftable: fixup for new base topic 2/3 + - reftable: fixup for new base topic 1/3 - t1404: annotate test cases with REFFILES - t1401,t2011: parameterize HEAD.lock for REFFILES - t1301: document what needs to be done for reftable - - reftable: add "test-tool dump-reftable" command. + - Add "test-tool dump-reftable" command. - git-prompt: prepare for reftable refs backend - refs: RFC: Reftable support for git-core - reftable: add dump utility @@ -1009,7 +1185,7 @@ Release tarballs are available at: - reftable: write reftable files - reftable: a generic binary tree implementation - reftable: reading/writing blocks - - compat: provide zlib's uncompress2 from compat/zlib-compat.c + - Provide zlib's uncompress2 from compat/zlib-compat.c - reftable: (de)serialization for the polymorphic record type. - reftable: add blocksource, an abstraction for random access reads - reftable: utility functions @@ -1017,59 +1193,43 @@ Release tarballs are available at: - reftable: RFC: add LICENSE - init-db: set the_repository->hash_algo early on - hash.h: provide constants for the hash IDs + (this branch uses ab/refs-errno-cleanup, ab/refs-files-cleanup and hn/refs-errno-cleanup.) The "reftable" backend for the refs API. -* ab/refs-files-cleanup (2021-08-19) 11 commits +* ab/refs-files-cleanup (2021-08-25) 13 commits - refs/files: remove unused "errno != ENOTDIR" condition - refs/files: remove unused "errno == EISDIR" code - refs/files: remove unused "oid" in lock_ref_oid_basic() + - refs API: remove OID argument to reflog_expire() - reflog expire: don't lock reflogs using previously seen OID - refs/files: add a comment about refs_reflog_exists() call - refs: make repo_dwim_log() accept a NULL oid - refs/debug: re-indent argument list for "prepare" - refs/files: remove unused "skip" in lock_raw_ref() too - refs/files: remove unused "extras/skip" in lock_ref_oid_basic() + - refs: drop unused "flags" parameter to lock_ref_oid_basic() - refs/files: remove unused REF_DELETING in lock_ref_oid_basic() - refs/packet: add missing BUG() invocations to reflog callbacks - (this branch is used by hn/refs-errno-cleanup and jk/refs-files-cleanup-cleanup.) - - Kicked out of 'next', to give ab/refs/files-cleanup a clean restart. + (this branch is used by ab/refs-errno-cleanup, hn/refs-errno-cleanup and hn/reftable.) - I suspect that jk/refs-files-cleanup-cleanup should be squashed - into the commits in this topic, but I'll leave that to the owner of - the topic. + Continued work on top of the hn/refs-errno-cleanup topic. -* jk/refs-files-cleanup-cleanup (2021-08-19) 1 commit - - refs: drop unused "flags" parameter to lock_ref_oid_basic() - (this branch is used by hn/refs-errno-cleanup; uses ab/refs-files-cleanup.) - - Code cleanup. - - Kicked out of 'next', to give ab/refs/files-cleanup a clean restart. - I suspect that ab/refs-files-cleanup can fix its commit by - squashing it in, but I'll leave that to the owner of the topic. - - -* hn/refs-errno-cleanup (2021-08-19) 7 commits - - refs: make errno output explicit for refs_resolve_ref_unsafe - - refs: explicitly return failure_errno from parse_loose_ref_contents - - refs: add failure_errno to refs_read_raw_ref() signature +* hn/refs-errno-cleanup (2021-08-25) 4 commits - refs: make errno output explicit for read_raw_ref_fn - refs/files-backend: stop setting errno from lock_ref_oid_basic - refs: remove EINVAL errno output from specification of read_raw_ref_fn - refs file backend: move raceproof_create_file() here - (this branch uses ab/refs-files-cleanup and jk/refs-files-cleanup-cleanup.) + (this branch is used by ab/refs-errno-cleanup and hn/reftable; uses ab/refs-files-cleanup.) Futz with the way 'errno' is relied on in the refs API to carry the failure modes up the callchain. - Kicked out of 'next', to give ab/refs/files-cleanup a clean restart. - -* jh/builtin-fsmonitor (2021-07-12) 35 commits +* jh/builtin-fsmonitor (2021-08-26) 36 commits + - SQUASH??? https://github.com/git/git/runs/3438543601?check_suite_focus=true#step:5:136 - BANDAID: sparse fixes - t7527: test FS event reporing on MacOS WRT case and Unicode - fsmonitor: handle shortname for .git @@ -1125,3 +1285,50 @@ Release tarballs are available at: corrected. Reverted out of 'next' at 1f62d2e1 on 2021-08-11 + + +* jk/refs-files-cleanup-cleanup (2021-08-19) 1 commit + . refs: drop unused "flags" parameter to lock_ref_oid_basic() + + Code cleanup. + + Obsoleted by updated ab/refs-files-cleanup + + +* ow/clone-bare-origin (2021-08-03) 1 commit + - clone: Allow combining --bare and --origin + + "git clone" did not like to take "--bare" and "--origin=X" at the + same time; loosen the restriction. + + cf. <20210802174944.53745-1-oystwa@gmail.com> + + +* jc/trivial-threeway-binary-merge (2021-07-28) 1 commit + - ll-merge: teach ll_binary_merge() a trivial three-way merge + + The built-in merge driver for binary files learned to resolve + trivial three-way merges (e.g. apply change, which turns A into B, + to content A) by itself, which would help "git apply --3way" used + when there is no need to use "--3way". + + Will discard. + Replace with a trivial-merge logic in apply.c::try_treeway() or + apply.c::three_way_merge(). + + +* np/blame-ignore-revs-file-may-be-optional (2021-08-09) 1 commit + - blame: add config `blame.ignoreRevsFileIsOptional` + + When the file named by blame.ignoreRevsFile configuration variable + does not exist, it causes "git blame" to die. Sometimes, it is + useful if the files named by configuration variables can be made + optional (it would allow ~/.gitconfig to give a filename, and make + it effective only in repositories that have a file with that name). + + This uses an extra variable that marks that the variable is + optional. Yet another alternative is being discussed to define + syntax for "optional" filename values, so that the same mechanism + can be used for not just blame.ignoreRevsFile but other filenames. + + Queued just as a reminder of the theme. |