From a2bf769eb4df7fcc70dd30e0034fd2aa2bc01b82 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 31 Aug 2021 15:03:10 -0700 Subject: What's cooking (2021/08 #10) diff --git a/whats-cooking.txt b/whats-cooking.txt index 9f7ea45..7da10f3 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Aug 2021, #09; Sun, 29) -X-master-at: c4203212e360b25a1c69467b5a8437d45a373cac -X-next-at: ba50c8fa2411f9e6a5c9ec9617eca2637ef4e4cb +Subject: What's cooking in git.git (Aug 2021, #10; Tue, 31) +X-master-at: 6c40894d2466d4e7fddc047a05116aa9d14712ee +X-next-at: f2128466b98f6f7214f448ad9ae8252811cadb24 -What's cooking in git.git (Aug 2021, #09; Sun, 29) +What's cooking in git.git (Aug 2021, #10; Tue, 31) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -18,18 +18,10 @@ 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 first batch of topics for the new cycle are now in 'master'. -The second batch will primarily be to graduate 'ort' as the -default. - -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. +Now 'merge -sort' is the default two-head merge strategy on the +'master' front. Older topics that are not in 'seen' need help from +readers to be sifted into bins for 'next' and the remainder to be +kicked back to the authors. 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 @@ -62,174 +54,334 @@ Release tarballs are available at: -------------------------------------------------- [Graduated 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 +* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit + (merged to 'next' on 2021-08-24 at 66c1e510ff) + + t5607: avoid using prerequisites to select algorithm - Originally merged to 'next' on 2021-08-04 + 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. - Doc update. +* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit + (merged to 'next' on 2021-08-24 at 6e94c19f1e) + + builtin/merge: avoid -Wformat-extra-args from ancient Xcode -* ab/http-drop-old-curl (2021-07-30) 5 commits - (merged to 'next' on 2021-08-23 at 70188594a0) - + http: rename CURLOPT_FILE to CURLOPT_WRITEDATA - + http: drop support for curl < 7.19.3 and < 7.17.0 (again) - + http: drop support for curl < 7.19.4 - + http: drop support for curl < 7.16.0 - + http: drop support for curl < 7.11.1 + Code clean-up. - Originally merged to 'next' on 2021-08-02 - Support for ancient versions of cURL library has been dropped. +* cb/ci-freebsd-update (2021-08-12) 1 commit + (merged to 'next' on 2021-08-24 at 1ecf63af7d) + + ci: update freebsd 12 cirrus job + Update FreeBSD CI job -* 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 +* en/merge-strategy-docs (2021-08-05) 10 commits + (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.) - Input validation of "git pack-objects --stdin-packs" has been - corrected. + Documentation updates. -* ds/add-with-sparse-index (2021-07-29) 5 commits - (merged to 'next' on 2021-08-23 at 179c4747ac) - + add: remove ensure_full_index() with --renormalize - + add: ignore outside the sparse-checkout in refresh() - + pathspec: stop calling ensure_full_index - + add: allow operating on a sparse-only index - + t1092: test merge conflicts outside cone - (this branch is used by ds/sparse-index-ignored-files.) +* en/ort-becomes-the-default (2021-08-05) 2 commits + (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.) - Originally merged to 'next' on 2021-08-02 + Use `ort` instead of `recursive` as the default merge strategy. - "git add" can work better with the sparse index. +* en/pull-conflicting-options (2021-07-22) 8 commits + (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 -* en/ort-perf-batch-15 (2021-08-03) 9 commits - (merged to 'next' on 2021-08-23 at d22a850986) - + merge-ort: remove compile-time ability to turn off usage of memory pools - + merge-ort: reuse path strings in pool_alloc_filespec - + merge-ort: store filepairs and filespecs in our mem_pool - + diffcore-rename, merge-ort: add wrapper functions for filepair alloc/dealloc - + merge-ort: switch our strmaps over to using memory pools - + merge-ort: set up a memory pool - + merge-ort: add pool_alloc, pool_calloc, and pool_strndup wrappers - + diffcore-rename: use a mem_pool for exact rename detection's hashmap - + merge-ort: rename str{map,intmap,set}_func() + "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. - Originally merged to 'next' on 2021-08-04 - Final batch for "merge -sort" optimization. +* jc/userdiff-pattern-hint (2021-08-11) 1 commit + (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. -* 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 +* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit + (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. + + +* jk/range-diff-fixes (2021-08-10) 3 commits + (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() - trace2 logs learned to show parent process name to see in what - context Git was invoked. + "git range-diff" code clean-up. -* hn/refs-test-cleanup (2021-08-02) 11 commits - (merged to 'next' on 2021-08-23 at 96fe62cbc1) - + t6001: avoid direct file system access - + t6500: use "ls -1" to snapshot ref database state - + t7064: use update-ref -d to remove upstream branch - + t1410: mark test as REFFILES - + t1405: mark test for 'git pack-refs' as REFFILES - + t1405: use 'git reflog exists' to check reflog existence - + t2402: use ref-store test helper to create broken symlink - + t3320: use git-symbolic-ref rather than filesystem access - + t6120: use git-update-ref rather than filesystem access - + t1503: mark symlink test as REFFILES - + t6050: use git-update-ref rather than filesystem access +* js/log-protocol-version (2021-08-10) 1 commit + (merged to 'next' on 2021-08-24 at aeeaee04fb) + + connect, protocol: log negotiated protocol version - Originally merged to 'next' on 2021-08-04 + Debugging aid. - A handful of tests that assumed implementation details of files - backend for refs have been cleaned up. +* th/userdiff-more-java (2021-08-11) 1 commit + (merged to 'next' on 2021-08-24 at a5617abd3e) + + userdiff: improve java hunk header regex -* 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 + The userdiff pattern for "java" language has been updated. - Originally merged to 'next' on 2021-08-02 - "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. +* tl/traverse-non-commits-rename (2021-08-12) 1 commit + (merged to 'next' on 2021-08-24 at 55cc85c20a) + + list-objects.c: rename "traverse_trees_and_blobs" to "traverse_non_commits" + Meh. -* 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 +-------------------------------------------------- +[New Topics] - Originally merged to 'next' on 2021-08-04 +* tb/add-objects-in-unpacked-packs-simplify (2021-08-29) 3 commits + - builtin/pack-objects.c: remove duplicate hash lookup + - builtin/pack-objects.c: simplify add_objects_in_unpacked_packs() + - object-store.h: teach for_each_packed_object to ignore kept packs - 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)". + Code simplification with reduced memory usage. + Will merge to 'next'. -* jt/push-negotiation-fixes (2021-07-15) 3 commits - (merged to 'next' on 2021-08-23 at 6b3dcc1092) - + fetch: die on invalid --negotiation-tip hash - + send-pack: fix push nego. when remote has refs - + send-pack: fix push.negotiate with remote helper - Originally merged to 'next' on 2021-08-09 +* es/walken-tutorial-fix (2021-08-30) 1 commit + - doc: fix syntax error and the format of printf - Bugfix for common ancestor negotiation recently introduced in "git - push" codepath. + Typofix. + Will merge to 'next'. -* 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 +* jh/sparse-index-resize-fix (2021-08-30) 1 commit + - sparse-index: copy dir_hash in ensure_full_index() - 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. + The sparse-index support can corrupt the index structure by storing + a stale and/or uninitialized data, which has been corrected. + Will merge to 'next'. -* zh/ref-filter-raw-data (2021-07-26) 6 commits - (merged to 'next' on 2021-08-23 at 5c06fb48a5) - + ref-filter: add %(rest) atom - + ref-filter: use non-const ref_format in *_atom_parser() - + ref-filter: --format=%(raw) support --perl - + ref-filter: add %(raw) atom - + ref-filter: add obj-type check in grab contents - + Merge branch 'zh/cat-file-batch-fix' into zh/ref-filter-raw-data - Originally merged to 'next' on 2021-08-04 +* mh/send-email-reset-in-reply-to (2021-08-30) 1 commit + - send-email: avoid incorrect header propagation + + Even when running "git send-email" without its own threaded + discussion support, a threading related header in one message is + carried over to the subsequent message to result in an unwanted + threading, which has been corrected. + + Will merge to 'next'. + + +* rs/more-fspathcmp (2021-08-30) 1 commit + - merge-recursive: use fspathcmp() in path_hashmap_cmp() + + Code simplification. + + Will merge to 'next'. + + +* sg/set-ceiling-during-tests (2021-08-30) 1 commit + - test-lib: set GIT_CEILING_DIRECTORIES to protect the surrounding repository + + Buggy tests could damage repositories outside the throw-away test + area we created. We now by default export GIT_CEILING_DIRECTORIES + to limit the damage from such a stray test. + + Will merge to 'next'. + + +* ab/gc-log-rephrase (2021-08-31) 1 commit + - gc: remove trailing dot from "gc.log" line + (this branch uses uk/userdiff-php-enum.) + + A pathname in an advice message has been made cut-and-paste ready. + + Will merge to 'next'? + + +* ab/mailmap-leakfix (2021-08-31) 1 commit + - mailmap.c: fix a memory leak in free_mailap_{info,entry}() + + Leakfix. + + Will merge to 'next'. + + +* ba/object-info (2021-08-31) 1 commit + - protocol-caps.c: fix memory leak in send_info() + + Leakfix. + + Will merge to 'next'. + + +* en/remerge-diff (2021-08-31) 7 commits + - doc/diff-options: explain the new --remerge-diff option + - show, log: provide a --remerge-diff capability + - tmp-objdir: new API for creating and removing primary object dirs + - merge-ort: capture and print ll-merge warnings in our preferred fashion + - ll-merge: add API for capturing warnings in a strbuf instead of stderr + - merge-ort: add ability to record conflict messages in a file + - merge-ort: mark a few more conflict messages as omittable + + A new presentation for two-parent merge "--remerge-diff" can be + used to show the difference between mechanical (and possibly + conflicted) merge results and the recorded resolution. - Prepare the "ref-filter" machinery that drives the "--format" - option of "git for-each-ref" and its friends to be used in "git - cat-file --batch". + +* sg/test-split-index-fix (2021-08-31) 7 commits + - read-cache: fix GIT_TEST_SPLIT_INDEX + - tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests + - read-cache: look for shared index files next to the index, too + - t1600-index: disable GIT_TEST_SPLIT_INDEX + - t1600-index: don't run git commands upstream of a pipe + - t1600-index: remove unnecessary redirection + - Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix + (this branch uses ds/sparse-index-ignored-files.) + + Test updates. + + +* tk/fast-export-anonymized-tag-fix (2021-08-31) 1 commit + - fast-export: fix anonymized tag using original length + + The output from "git fast-export", when its anonymization feature + is in use, showed an annotated tag incorrectly. + + Will merge to 'next'. + + +* uk/userdiff-php-enum (2021-08-31) 1 commit + - userdiff: support enum keyword in PHP hunk header + (this branch is used by ab/gc-log-rephrase.) + + Update the userdiff pattern for PHP. + + Will merge to 'next'. -------------------------------------------------- -[New Topics] +[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 -* ab/commit-graph-usage (2021-08-25) 7 commits + 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. + + +* 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] + +* ab/commit-graph-usage (2021-08-30) 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 @@ -238,21 +390,27 @@ Release tarballs are available at: - commit-graph: remove redundant handling of -h - commit-graph: define common usage with a macro + Fixes on usage message from "git commit-graph". + + Will merge to 'next'. + * ab/ls-remote-packet-trace (2021-08-24) 1 commit - - ls-remote: set packet_trace_identity() + (merged to 'next' on 2021-08-30 at fec2e5a7eb) + + ls-remote: set packet_trace_identity() Debugging aid fix. - Will merge to 'next'. + Will merge to 'master'. * ab/rebase-fatal-fatal-fix (2021-08-24) 1 commit - - rebase: emit one "fatal" in "fatal: fatal: " + (merged to 'next' on 2021-08-30 at 256e1cbc9e) + + rebase: emit one "fatal" in "fatal: fatal: " Error message fix. - Will merge to 'next'. + Will merge to 'master'. * ab/refs-errno-cleanup (2021-08-25) 4 commits @@ -274,35 +432,36 @@ Release tarballs are available at: 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. + Will merge to 'next'. * dd/diff-files-unmerged-fix (2021-08-25) 1 commit - - diff-lib: ignore paths that are outside $cwd if --relative asked + (merged to 'next' on 2021-08-30 at 63a1bdddfc) + + 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'. + Will merge to 'master'. * 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 + (merged to 'next' on 2021-08-30 at 59f5669dd6) + + t6300: check for cat-file exit status code + + t6300: don't run cat-file on non-existent object Test fix. - Will merge to 'next'. + Will merge to 'master'. * ga/send-email-sendmail-cmd (2021-08-24) 1 commit - - t9001: PATH must not use Windows-style paths + (merged to 'next' on 2021-08-30 at 1bb659c66c) + + t9001: PATH must not use Windows-style paths Test fix. - Will merge to 'next'. + Will merge to 'master'. * jb/midx-revindex-fix (2021-08-23) 1 commit @@ -318,110 +477,119 @@ Release tarballs are available at: * jk/t5323-no-pack-test-fix (2021-08-25) 1 commit - - t5323: drop mentions of "master" + (merged to 'next' on 2021-08-30 at 2892635eaf) + + t5323: drop mentions of "master" Test fix. - Will merge to 'next'. + Will merge to 'master'. * 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 + (merged to 'next' on 2021-08-30 at 12a5da47e7) + + 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'. + Will merge to 'master'. -* jv/pkt-line-batch (2021-08-26) 2 commits +* jv/pkt-line-batch (2021-08-31) 2 commits - upload-pack: use stdio in send_ref callbacks - - pkt-line: add packet_fwrite + - pkt-line: add stdio packet write functions Reduce number of write(2) system calls while sending the ref advertisement. - Expecting a reroll. + Will merge to 'next'? * me/t5582-cleanup (2021-08-24) 1 commit - - t5582: remove spurious 'cd "$D"' line + (merged to 'next' on 2021-08-30 at e92258e72c) + + t5582: remove spurious 'cd "$D"' line Test fix. - Will merge to 'next'. + Will merge to 'master'. * mh/credential-leakfix (2021-08-25) 1 commit - - credential: fix leak in credential_apply_config() + (merged to 'next' on 2021-08-30 at be9e67bddc) + + credential: fix leak in credential_apply_config() Leak fix. - Will merge to 'next'. + Will merge to 'master'. * mt/quiet-with-delayed-checkout (2021-08-26) 1 commit - - checkout: make delayed checkout respect --quiet and --no-progress + (merged to 'next' on 2021-08-30 at d243498893) + + 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'. + Will merge to 'master'. -* ps/fetch-omit-formatting-under-quiet (2021-08-25) 1 commit +* ps/fetch-omit-formatting-under-quiet (2021-08-30) 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. + Will merge to 'next'. * ps/ls-refs-strbuf-optim (2021-08-25) 1 commit - - ls-refs: reuse buffer when sending refs + (merged to 'next' on 2021-08-30 at e4cbc7243a) + + ls-refs: reuse buffer when sending refs Micro-optimization for the wire protocol driver. - Will merge to 'next'. + Will merge to 'master'. * rs/branch-allow-deleting-dangling (2021-08-27) 1 commit - - branch: allow deleting dangling branches with --force + (merged to 'next' on 2021-08-30 at 35b9d158e8) + + branch: allow deleting dangling branches with --force "git branch -D " used to refuse to remove a broken branch ref that points at a missing commit, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * rs/git-mmap-uses-malloc (2021-08-24) 1 commit - - compat: let git_mmap use malloc(3) directly + (merged to 'next' on 2021-08-30 at 6339c8e657) + + 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'. + Will merge to 'master'. * rs/xopen-reports-open-failures (2021-08-25) 2 commits - - use xopen() to handle fatal open(2) failures - - xopen: explicitly report creation failures + (merged to 'next' on 2021-08-30 at a8588775c8) + + use xopen() to handle fatal open(2) failures + + xopen: explicitly report creation failures Error diagnostics improvement. - Will merge to 'next'. + Will merge to 'master'. * sg/column-nl (2021-08-26) 1 commit - - column: fix parsing of the '--nl' option + (merged to 'next' on 2021-08-30 at a3cb0f4745) + + column: fix parsing of the '--nl' option The parser for the "--nl" option of "git column" has been corrected. - Will merge to 'next'. + Will merge to 'master'. * ab/unbundle-progress (2021-08-27) 5 commits @@ -431,6 +599,11 @@ Release tarballs are available at: - strvec: add a strvec_pushvec() - bundle API: start writing API documentation + Add progress display to "git bundle unbundle". + + Expecting a reroll. + cf. <87tuj7xhqo.fsf@evledraar.gmail.com> + * jk/log-warn-on-bogus-encoding (2021-08-27) 2 commits - docs: use "character encoding" to refer to commit-object encoding @@ -444,92 +617,6 @@ Release tarballs are available at: * 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. - - -* 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 @@ -633,15 +720,6 @@ Release tarballs are available at: Will merge to 'master'. -* th/userdiff-more-java (2021-08-11) 1 commit - (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 'master'. - - * zh/cherry-pick-advice (2021-08-23) 1 commit - cherry-pick: use better advice message @@ -649,7 +727,7 @@ Release tarballs are available at: conflicted replay of a commit to be resolved by the end user has been updated. - Will merge to 'next'? + Will merge to 'next'. * es/config-based-hooks (2021-08-19) 7 commits @@ -665,12 +743,13 @@ Release tarballs are available at: Revamp the hooks subsystem to allow multiple of them to trigger upon the same event and control via the configuration variables. - Will merge to 'next'? + Expecting a reroll + but ab/config-based-hooks-base needs to be in a better shape first. cf. <87v93wflm0.fsf@evledraar.gmail.com> + cf. <87tuj7xhqo.fsf@evledraar.gmail.com> -* mk/clone-recurse-submodules (2021-08-18) 2 commits - - fixup! clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled +* mk/clone-recurse-submodules (2021-08-30) 1 commit - clone: set submodule.recurse=true if submodule.stickyRecursiveClone enabled After "git clone --recurse-submodules", all submodules are cloned @@ -679,18 +758,7 @@ Release tarballs are available at: configuration is set to true in a repository created by "clone" with "--recurse-submodules" option. - cf. <4103806f-6d88-2756-8853-7e16e56ad425@gmail.com> - - -* bc/t5607-avoid-broken-test-fail-prereqs (2021-08-11) 1 commit - (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 'master'. + Will merge to 'next'. * jk/commit-edit-fixup-fix (2021-08-15) 1 commit @@ -703,33 +771,6 @@ Release tarballs are available at: Will merge to 'master'. -* tl/traverse-non-commits-rename (2021-08-12) 1 commit - (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 'master'. - - -* cb/ci-freebsd-update (2021-08-12) 1 commit - (merged to 'next' on 2021-08-24 at 1ecf63af7d) - + ci: update freebsd 12 cirrus job - - Update FreeBSD CI job - - Will merge to 'master'. - - -* cb/builtin-merge-format-string-fix (2021-08-09) 1 commit - (merged to 'next' on 2021-08-24 at 6e94c19f1e) - + builtin/merge: avoid -Wformat-extra-args from ancient Xcode - - Code clean-up. - - Will merge to 'master'. - - * ka/want-ref-in-namespace (2021-08-13) 3 commits - docs: clarify the interaction of transfer.hideRefs and namespaces - upload-pack.c: treat want-ref relative to namespace @@ -758,6 +799,7 @@ 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 is used by sg/test-split-index-fix.) In cone mode, the sparse-index codepath learned to remove ignored files (like build artifacts) outside the sparse cone, allowing the @@ -765,40 +807,7 @@ Release tarballs are available at: especially useful when the sparse patterns change. -* jc/userdiff-pattern-hint (2021-08-11) 1 commit - (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 'master'. - - -* jk/apply-binary-hunk-parsing-fix (2021-08-10) 1 commit - (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 'master'. - - -* jk/range-diff-fixes (2021-08-10) 3 commits - (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 'master'. - - -* js/advise-when-skipping-cherry-picked (2021-08-10) 2 commits - - SQUASH??? +* js/advise-when-skipping-cherry-picked (2021-08-30) 1 commit - sequencer: advise if skipping cherry-picked commit "git rebase" by default skips changes that are equivalent to @@ -807,6 +816,8 @@ Release tarballs are available at: skipped commits, and also teach them how to tell "rebase" to keep duplicated changes. + Will merge to 'next'. + * jt/grep-wo-submodule-odb-as-alternate (2021-08-13) 8 commits - t7814: show lack of alternate ODB-adding @@ -856,51 +867,13 @@ Release tarballs are available at: * cb/makefile-apple-clang (2021-08-06) 3 commits - - build: catch clang that identifies itself as "$VENDOR clang" - - build: clang version may not be followed by extra words - - build: update detect-compiler for newer Xcode version + (merged to 'next' on 2021-08-30 at 9fe8f1a9b3) + + build: catch clang that identifies itself as "$VENDOR clang" + + build: clang version may not be followed by extra words + + build: update detect-compiler for newer Xcode version Build update. - Will merge to 'next'. - - -* en/merge-strategy-docs (2021-08-05) 10 commits - (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 'master'. - - -* en/ort-becomes-the-default (2021-08-05) 2 commits - (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 'master'. - - -* js/log-protocol-version (2021-08-10) 1 commit - (merged to 'next' on 2021-08-24 at aeeaee04fb) - + connect, protocol: log negotiated protocol version - - Debugging aid. - Will merge to 'master'. @@ -950,7 +923,7 @@ Release tarballs are available at: Large part of "git submodule add" gets rewritten in C. -* dt/submodule-diff-fixes (2021-08-11) 3 commits +* dt/submodule-diff-fixes (2021-08-31) 3 commits - diff --submodule=diff: don't print failure message twice - diff --submodule=diff: do not fail on ever-initialied deleted submodules - t4060: remove unused variable @@ -976,26 +949,7 @@ Release tarballs are available at: Use ssh public crypto for object and push-cert signing. - Comments? - - -* en/pull-conflicting-options (2021-07-22) 8 commits - (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 'master'. + Will merge to 'next'. * cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit @@ -1017,8 +971,7 @@ Release tarballs are available at: Build clean-up for "make tags" and friends. - Expecting a reroll. - 4/5 may want a minor tweak to the log and the patch text but otherwise looks good. + Will merge to 'next'? * tb/multi-pack-bitmaps (2021-08-24) 25 commits @@ -1115,7 +1068,7 @@ Release tarballs are available at: Code clean-up around "git serve". - Expecting a reroll. + Will merge to 'next'? * ab/test-tool-cache-cleanup (2021-08-24) 4 commits @@ -1126,6 +1079,9 @@ Release tarballs are available at: Test code shuffling. + Will discard. + cf. <87tuj7xhqo.fsf@evledraar.gmail.com> + * ab/pack-objects-stdin (2021-07-09) 5 commits - pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS -- cgit v0.10.2-6-g49f6