From: Junio C Hamano Date: Fri, 10 Dec 2021 23:39:24 +0000 (-0800) Subject: What's cooking (2021/12 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f3654c4b7173328a1ad42949f202eddddeeea38;p=thirdparty%2Fgit.git What's cooking (2021/12 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index a92a3567d8..6a7cef25e2 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 (Dec 2021, #02; Tue, 7) -X-master-at: abe6bb3905392d5eb6b01fa6e54d7e784e0522aa -X-next-at: 8cdad7bc9aee8e9403eb7f1ef605b37815892e18 +Subject: What's cooking in git.git (Dec 2021, #03; Fri, 10) +X-master-at: e773545c7fe7eca21b134847f4fc2cbc9547fa14 +X-next-at: fae76fe5da3df25d752f2251b7ccda3f62813aa9 -What's cooking in git.git (Dec 2021, #02; Tue, 7) +What's cooking in git.git (Dec 2021, #03; Fri, 10) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -46,9 +46,540 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ +-------------------------------------------------- +[Graduated to 'master'] + +* ab/checkout-branch-info-leakfix (2021-11-18) 1 commit + (merged to 'next' on 2021-12-02 at 5922388782) + + checkout: fix "branch info" memory leaks + + Leakfix. + source: + + +* ab/generate-command-list (2021-11-05) 10 commits + (merged to 'next' on 2021-12-02 at 37a575b37f) + + generate-cmdlist.sh: don't parse command-list.txt thrice + + generate-cmdlist.sh: replace "grep' invocation with a shell version + + generate-cmdlist.sh: do not shell out to "sed" + + generate-cmdlist.sh: stop sorting category lines + + generate-cmdlist.sh: replace for loop by printf's auto-repeat feature + + generate-cmdlist.sh: run "grep | sort", not "sort | grep" + + generate-cmdlist.sh: don't call get_categories() from category_list() + + generate-cmdlist.sh: spawn fewer processes + + generate-cmdlist.sh: trivial whitespace change + + command-list.txt: sort with "LC_ALL=C sort" + + Build optimization. + source: + + +* ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit + (merged to 'next' on 2021-12-02 at 1b49913760) + + pull: don't say that merge is "the default strategy" + + The advice message given by "git pull" when the user hasn't made a + choice between merge and rebase still said that the merge is the + default, which no longer is the case. This has been corrected. + source: <20211118154317.639118-1-alexhenrie24@gmail.com> + + +* bc/require-c99 (2021-12-01) 1 commit + (merged to 'next' on 2021-12-02 at 76aa8bc2d0) + + git-compat-util: add a test balloon for C99 support + (this branch is used by jk/limit-developers-to-gnu99.) + + Weather balloon to break people with compilers that do not support + C99. + source: <20211201014050.38002-1-sandals@crustytoothpaste.net> + + +* cb/add-p-single-key-fix (2021-11-28) 1 commit + (merged to 'next' on 2021-12-03 at 8d4f16e620) + + add -p: avoid use of undefined $key when ReadKey -> EOF + + The single-key-input mode in "git add -p" had some code to handle + keys that generate a sequence of input via ReadKey(), which did not + handle end-of-file correctly, which has been fixed. + source: <20211128174903.5623-1-carenas@gmail.com> + + +* cb/mingw-gmtime-r (2021-11-27) 1 commit + (merged to 'next' on 2021-12-03 at 785278d40e) + + mingw: avoid fallback for {local,gm}time_r() + + Build fix on Windows. + source: + + +* cw/protocol-v2-doc-fix (2021-11-11) 1 commit + (merged to 'next' on 2021-12-02 at 59f42a7cfc) + + protocol-v2.txt: align delim-pkt spec with usage + + Doc update. + source: <20211111220048.1702896-1-calvinwan@google.com> + + +* em/missing-pager (2021-11-24) 1 commit + (merged to 'next' on 2021-12-03 at 22ad721b52) + + pager: fix crash when pager program doesn't exist + + When a non-existent program is given as the pager, we tried to + reuse an uninitialized child_process structure and crashed, which + has been fixed. + source: <20211125000239.2336-1-ematsumiya@suse.de> + + +* en/rebase-x-fix (2021-11-29) 1 commit + (merged to 'next' on 2021-12-03 at a833829733) + + sequencer: avoid adding exec commands for non-commit creating commands + + "git rebase -x" added an unnecessary 'exec' instructions before + 'noop', which has been corrected. + source: + + +* gc/remote-with-fewer-static-global-variables (2021-11-18) 5 commits + (merged to 'next' on 2021-12-02 at d7ea1696e5) + + remote: die if branch is not found in repository + + remote: remove the_repository->remote_state from static methods + + remote: use remote_state parameter internally + + remote: move static variables into per-repository struct + + t5516: add test case for pushing remote refspecs + + Code clean-up to eventually allow information on remotes defined + for an arbitrary repository to be read. + source: <20211118005325.64971-1-chooglen@google.com> + + +* hk/ci-checkwhitespace-commentfix (2021-11-19) 1 commit + (merged to 'next' on 2021-12-02 at 971178fe99) + + ci(check-whitespace): update stale file top comments + + Comment fix. + source: + + +* hn/create-reflog-simplify (2021-11-22) 1 commit + (merged to 'next' on 2021-12-02 at 87ff49b776) + + refs: drop force_create argument of create_reflog API + (this branch is used by hn/reftable-coverity-fixes.) + + A small simplification of API. + source: + + +* if/redact-packfile-uri (2021-11-11) 2 commits + (merged to 'next' on 2021-12-02 at 81213be9ac) + + http-fetch: redact url on die() message + + fetch-pack: redact packfile urls in traces + + Redact the path part of packfile URI that appears in the trace output. + source: + + +* ja/doc-cleanup (2021-11-09) 10 commits + (merged to 'next' on 2021-12-02 at f72204942f) + + init doc: --shared=0xxx does not give umask but perm bits + + doc: git-init: clarify file modes in octal. + + doc: git-http-push: describe the refs as pattern pairs + + doc: uniformize placeholders' case + + doc: use three dots for indicating repetition instead of star + + doc: git-ls-files: express options as optional alternatives + + doc: use only hyphens as word separators in placeholders + + doc: express grammar placeholders between angle brackets + + doc: split placeholders as individual tokens + + doc: fix git credential synopsis + + Doc update. + source: <20211106184858.11500-1-jn.avila@free.fr> + + +* jc/fix-first-object-walk (2021-10-29) 2 commits + (merged to 'next' on 2021-12-02 at 43a5c1ec03) + + docs: add headers in MyFirstObjectWalk + + docs: fix places that break compilation in MyFirstObjectWalk + + Doc update. + source: + + +* jk/fetch-pack-avoid-sigpipe-to-index-pack (2021-11-19) 1 commit + (merged to 'next' on 2021-12-02 at e2cc1ae46a) + + fetch-pack: ignore SIGPIPE when writing to index-pack + + "git fetch", when received a bad packfile, can fail with SIGPIPE. + This wasn't wrong per-se, but we now detect the situation and fail + in a more predictable way. + source: + + +* jk/jump-merge-with-pathspec (2021-11-09) 1 commit + (merged to 'next' on 2021-12-02 at fea901973d) + + git-jump: pass "merge" arguments to ls-files + + The "merge" subcommand of "git jump" (in contrib/) silently ignored + pathspec and other parameters. + source: + + +* jk/refs-g11-workaround (2021-11-19) 1 commit + (merged to 'next' on 2021-12-02 at 1025235670) + + refs: work around gcc-11 warning with REF_HAVE_NEW + + Workaround for a false-alarm by gcc-11 + source: + + +* jk/strbuf-addftime-seconds-since-epoch (2021-11-04) 1 commit + (merged to 'next' on 2021-12-02 at d0b158d899) + + strbuf_addftime(): handle "%s" manually + + The "--date=format:" gained a workaround for the lack of + system support for a non-local timezone to handle "%s" placeholder. + source: + + +* jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit + (merged to 'next' on 2021-12-02 at 0ac4fd64aa) + + t5319: corrupt more bytes of the midx checksum + + Test fix. + source: + + +* jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits + (merged to 'next' on 2021-12-02 at eefd61931f) + + t7006: simplify exit-code checks for sigpipe tests + + t7006: clean up SIGPIPE handling in trace2 tests + + run-command: unify signal and regular logic for wait_or_whine() + + The function to cull a child process and determine the exit status + had two separate code paths for normal callers and callers in a + signal handler, and the latter did not yield correct value when the + child has caught a signal. The handling of the exit status has + been unified for these two code paths. An existing test with + flakiness has also been corrected. + source: + + +* jk/test-bitmap-fix (2021-11-05) 1 commit + (merged to 'next' on 2021-12-02 at c273d402fb) + + test_bitmap_hashes(): handle repository without bitmaps + + Tighten code for testing pack-bitmap. + source: + + +* js/ci-no-directional-formatting (2021-11-04) 1 commit + (merged to 'next' on 2021-12-02 at bc756bc586) + + ci: disallow directional formatting + + CI has been taught to catch some Unicode directional formatting + sequence that can be used in certain mischief. + source: + + +* js/trace2-avoid-recursive-errors (2021-11-18) 1 commit + (merged to 'next' on 2021-12-02 at c5b1e5ddec) + + trace2: disable tr2_dst before warning on write errors + + trace2 error code path fix. + source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com> + + +* jt/midx-doc-fix (2021-11-22) 1 commit + (merged to 'next' on 2021-12-02 at eac9f263ae) + + Doc: no midx and partial clone relation + + Docfix. + source: <20211122184114.3328662-1-jonathantanmy@google.com> + + +* jt/pack-header-lshift-overflow (2021-11-11) 1 commit + (merged to 'next' on 2021-12-02 at 89c37479db) + + packfile: avoid overflowing shift during decode + + The code to decode the length of packed object size has been + corrected. + source: <20211110234033.3144165-1-jonathantanmy@google.com> + + +* mp/absorb-submodule-git-dir-upon-deinit (2021-11-19) 1 commit + (merged to 'next' on 2021-12-03 at afc462a692) + + submodule: absorb git dir instead of dying on deinit + + "git submodule deinit" for a submodule whose .git metadata + directory is embedded in its working tree refused to work, until + the submodule gets converted to use the "absorbed" form where the + metadata directory is stored in superproject, and a gitfile at the + top-level of the working tree of the submodule points at it. The + command is taught to convert such submodules to the absorbed form + as needed. + source: + + +* po/size-t-for-vs (2021-12-01) 3 commits + (merged to 'next' on 2021-12-02 at 489c5b0046) + + object-file.c: LLP64 compatibility, upcast unity for left shift + + diffcore-delta.c: LLP64 compatibility, upcast unity for left shift + + repack.c: LLP64 compatibility, upcast unity for left shift + + On platforms where ulong is shorter than size_t, code paths that + shifted 1 or 1U to the left lacked the necessary cast to size_t, + which have been corrected. + source: <20211201002902.1042-4-philipoakley@iee.email> + + +* rs/mergesort (2021-11-18) 1 commit + (merged to 'next' on 2021-12-02 at 0490b0ffbd) + + mergesort: avoid left shift overflow + + Bitop fix for platforms whose "long" is 32-bit. + source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de> + + +* tl/midx-docfix (2021-11-18) 1 commit + (merged to 'next' on 2021-12-02 at 0fae3ebdef) + + midx: fix a formatting issue in "multi-pack-index.txt" + + Doc mark-up fix. + source: <9b910a44f4143c94787110a688f2b17ba4eeb0fc.1637218943.git.dyroneteng@gmail.com> + + +* tw/var-default-branch (2021-11-03) 1 commit + (merged to 'next' on 2021-12-02 at 944512852e) + + var: add GIT_DEFAULT_BRANCH variable + + "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for + the newly created branch if "git init" is run. + source: <20211103201702.117771-1-thomas@t-8ch.de> + + +* vd/sparse-reset (2021-11-29) 8 commits + (merged to 'next' on 2021-12-02 at 47b1095f39) + + unpack-trees: improve performance of next_cache_entry + + reset: make --mixed sparse-aware + + reset: make sparse-aware (except --mixed) + + reset: integrate with sparse index + + reset: expand test coverage for sparse checkouts + + sparse-index: update command for expand/collapse test + + reset: preserve skip-worktree bit in mixed reset + + reset: rename is_missing to !is_in_reset_tree + (this branch is used by ds/fetch-pull-with-sparse-index and ld/sparse-diff-blame.) + + Various operating modes of "git reset" have been made to work + better with the sparse index. + source: + + +* vd/sparse-sparsity-fix-on-read (2021-11-24) 4 commits + (merged to 'next' on 2021-12-02 at 1ec68669cb) + + sparse-index: update do_read_index to ensure correct sparsity + + sparse-index: add ensure_correct_sparsity function + + sparse-index: avoid unnecessary cache tree clearing + + test-read-cache.c: prepare_repo_settings after config init + + Ensure that the sparseness of the in-core index matches the + index.sparse configuration specified by the repository immediately + after the on-disk index file is read. + source: + + +* yn/complete-date-format-options (2021-11-25) 1 commit + (merged to 'next' on 2021-12-03 at 4f37a904a1) + + completion: add human and auto: date format + + The completion script (in contrib/) learns that the "--date" + option of commands from the "git log" family takes "human" and + "auto" as valid values. + source: + -------------------------------------------------- [New Topics] +* en/sparse-checkout-set (2021-12-08) 10 commits + - clone: avoid using deprecated `sparse-checkout init` + - Documentation: clarify/correct a few sparsity related statements + - git-sparse-checkout.txt: update to document init/set/reapply changes + - sparse-checkout: enable reapply to take --[no-]{cone,sparse-index} + - sparse-checkout: enable `set` to initialize sparse-checkout mode + - sparse-checkout: split out code for tweaking settings config + - sparse-checkout: disallow --no-stdin as an argument to set + - sparse-checkout: add sanity-checks on initial sparsity state + - sparse-checkout: break apart functions for sparse_checkout_(set|add) + - sparse-checkout: pass use_stdin as a parameter instead of as a global + + + The "init" and "set" subcommands in "git sparse-checkout" have been + unified for a better user experience and performance. + + Need to check the reroll. + cf. + source: + + +* hn/reftable-coverity-fixes (2021-12-08) 13 commits + - reftable: make reftable_record a tagged union + - reftable: handle null refnames in reftable_ref_record_equal + - reftable: drop stray printf in readwrite_test + - reftable: order unittests by complexity + - reftable: fix NULL derefs in error paths + - reftable: fix resource warning + - reftable: ignore remove() return value in stack_test.c + - reftable: check reftable_stack_auto_compact() return value + - reftable: fix resource leak blocksource.c + - reftable: fix resource leak in error path + - reftable: fix OOB stack write in print functions + - Merge branch 'hn/create-reflog-simplify' into hn/reftable-coverity-fixes + - Merge branch 'hn/reftable' into hn/reftable-coverity-fixes + (this branch uses hn/reftable.) + + Problems identified by Coverity in the reftable code have been + corrected. + + source: + + +* jc/make-test-all (2021-12-08) 1 commit + - Makefile: add test-all target + + "make test" target in subdirectories of contrib/ are now exercised + in CI tests. + + source: + + +* jk/limit-developers-to-gnu99 (2021-12-08) 2 commits + - config.mak.dev: specify -std=gnu99 for gcc/clang + - Merge branch 'bc/require-c99' into jk/limit-developers-to-gnu99 + + Enable -std=gnu99 option in DEVELOPER builds. + + Will merge to 'next'. + source: + + +* tb/midx-bitmap-corruption-fix (2021-12-08) 2 commits + - midx.c: make changing the preferred pack safe + - t5326: demonstrate bitmap corruption after permutation + + A bug that made multi-pack bitmap and the object order out-of-sync + (hence the .midx data gets corrupted) has been fixed. + + Will merge to 'next'? + source: + + +* es/test-chain-lint (2021-12-09) 19 commits + - t6000-t9999: detect and signal failure within loop + - t5000-t5999: detect and signal failure within loop + - t4000-t4999: detect and signal failure within loop + - t0000-t3999: detect and signal failure within loop + - tests: simplify by dropping unnecessary `for` loops + - tests: apply modern idiom for exiting loop upon failure + - tests: apply modern idiom for signaling test failure + - tests: fix broken &&-chains in `{...}` groups + - tests: fix broken &&-chains in `$(...)` command substitutions + - tests: fix broken &&-chains in compound statements + - tests: use test_write_lines() to generate line-oriented output + - tests: simplify construction of large blocks of text + - t9107: use shell parameter expansion to avoid breaking &&-chain + - t6300: make `%(raw:size) --shell` test more robust + - t5516: drop unnecessary subshell and command invocation + - t4202: clarify intent by creating expected content less cleverly + - t1020: avoid aborting entire test script when one test fails + - t1010: fix unnoticed failure on Windows + - t/lib-pager: use sane_unset() to avoid breaking &&-chain + + Broken &&-chains in the test scripts have been corrected. + + Will merge to 'next'? + source: <20211209051115.52629-1-sunshine@sunshineco.com> + + +* jc/flex-array-definition (2021-12-08) 1 commit + - flex-array: simplify compiler-specific workaround + + The conditions to choose different definitions of the FLEX_ARRAY + macro for vendor compilers has been simplified to make it easier to + maintain. + + Will merge to 'next'? + source: + + +* jh/make-p4-python3-only (2021-12-09) 6 commits + - git-p4: Resolve RCS keywords in binary + - git-p4: Eliminate decode_stream and encode_stream + - git-p4: Decode byte strings before printing + - git-p4: Removed support for Python 2 + - git-p4: Don't print shell commands as python lists + - git-p4: Always pass cmd arguments to subprocess as a python lists + + Support for Python2 in "git p4" has been removed (not just + deprecated). + + Need to check the reroll. + cf. <20211210153101.35433-1-jholdsworth@nvidia.com> + source: <20211209201029.136886-1-jholdsworth@nvidia.com> + +-------------------------------------------------- +[Stalled] + +* ar/submodule-update (2021-10-13) 9 commits + . submodule--helper: rename helper functions + . submodule--helper: remove unused helpers + . submodule: move core cmd_update() logic to C + . submodule--helper: run update using child process struct + . submodule--helper: allow setting superprefix for init_submodule() + . submodule--helper: refactor get_submodule_displaypath() + . submodule--helper: rename helpers for update-clone + . submodule--helper: get remote names from any repository + . submodule--helper: split up ensure_core_worktree() + + Rewrite of "git submodule update" in C. + + Expecting a reroll? + cf. + source: <20211013051805.45662-10-raykar.ath@gmail.com> + + +* ms/customizable-ident-expansion (2021-09-01) 1 commit + - keyword expansion: make "$Id$" string configurable + + Instead of "$Id$", user-specified string (like $FreeBSD$) can be + used as an in-blob placeholder for keyword expansion. + + Will discard. + Stalled for too long. + cf. + cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> + source: + +-------------------------------------------------- +[Cooking] + +* pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits + - rebase -m: don't fork git checkout + - rebase --apply: set ORIG_HEAD correctly + - rebase --apply: fix reflog + - reset_head(): take struct rebase_head_opts + - rebase: cleanup reset_head() calls + - reset_head(): make default_reflog_action optional + - reset_head(): factor out ref updates + - create_autostash(): remove unneeded parameter + - reset_head(): remove action parameter + - rebase --apply: don't run post-checkout hook if there is an error + - rebase: do not remove untracked files on checkout + - rebase: pass correct arguments to post-checkout hook + - t5403: refactor rebase post-checkout hook tests + - rebase: factor out checkout for up to date branch + + Fix "some issues" in a helper function reset_head(). + source: + + * je/http-better-error-output (2021-12-03) 1 commit . http-backend: give a hint that web browser access is not supported @@ -66,60 +597,66 @@ Release tarballs are available at: * es/doc-stdout-vs-stderr (2021-12-04) 1 commit - - CodingGuidelines: document which output goes to stdout vs. stderr + (merged to 'next' on 2021-12-07 at d6487c1256) + + CodingGuidelines: document which output goes to stdout vs. stderr Coding guideline document has been updated to clarify what goes to standard error i nour system. - Will merge to 'next'. + Will merge to 'master'. source: <20211202223110.22062-1-sunshine@sunshineco.com> * tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit - - packfile: make `close_pack_revindex()` static + (merged to 'next' on 2021-12-07 at 912c270b70) + + packfile: make `close_pack_revindex()` static Code clean-up. - Will merge to 'next'. + Will merge to 'master'. source: * ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits - - unpack-trees: use traverse_path instead of name - - t1092: add deeper changes during a checkout + (merged to 'next' on 2021-12-07 at 7b7f74216a) + + unpack-trees: use traverse_path instead of name + + t1092: add deeper changes during a checkout The sparse-index/sparse-checkout feature had a bug in its use of the matching code to determine which path is in or outside the sparse checkout patterns. - Will merge to 'next'. + Will merge to 'master'. source: * en/name-rev-shorter-output (2021-12-04) 1 commit - - name-rev: prefer shorter names over following merges + (merged to 'next' on 2021-12-10 at ae8ec3912f) + + name-rev: prefer shorter names over following merges "git name-rev" has been tweaked to give output that is shorter and easier to understand. - Will merge to 'next'? + Will merge to 'master'. source: * en/rebase-x-wo-git-dir-env (2021-12-04) 1 commit - - sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec' + (merged to 'next' on 2021-12-07 at 44f2663314) + + sequencer: do not export GIT_DIR and GIT_WORK_TREE for 'exec' "git rebase -x" by mistake started exporting the GIT_DIR and GIT_WORK_TREE environment variables when the command was rewritten in C, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. source: * es/worktree-chatty-to-stderr (2021-12-04) 2 commits - - git-worktree.txt: add missing `-v` to synopsis for `worktree list` - - worktree: send "chatty" messages to stderr + (merged to 'next' on 2021-12-07 at 84ba7de37c) + + git-worktree.txt: add missing `-v` to synopsis for `worktree list` + + worktree: send "chatty" messages to stderr "git worktree add" showed "Preparing worktree" message to the standard output stream, but when it failed, the message from die() @@ -128,7 +665,7 @@ Release tarballs are available at: confusing output. It has been corrected by sending all the chatty messages to the standard error stream. - Will merge to 'next'. + Will merge to 'master'. source: <20211203034420.47447-1-sunshine@sunshineco.com> @@ -152,26 +689,28 @@ Release tarballs are available at: * js/test-initial-branch-override-cleanup (2021-12-05) 1 commit - - tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed + (merged to 'next' on 2021-12-07 at 0ab3e72b4f) + + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME mechanism to force "git" to use 'master' as the default name for the initial branch no longer need it; the use of the mechanism from them have been removed. - Will merge to 'next'. + Will merge to 'master'. source: * ab/die-with-bug (2021-12-07) 4 commits - - object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type() - - pathspec: use BUG(...) not die("BUG:%s:%d....", , ) - - strbuf.h: use BUG(...) not die("BUG: ...") - - pack-objects: use BUG(...) not die("BUG: ...") + (merged to 'next' on 2021-12-08 at 9b7440fafd) + + object.c: use BUG(...) no die("BUG: ...") in lookup_object_by_type() + + pathspec: use BUG(...) not die("BUG:%s:%d....", , ) + + strbuf.h: use BUG(...) not die("BUG: ...") + + pack-objects: use BUG(...) not die("BUG: ...") Code clean-up. - Will merge to 'next'. + Will merge to 'master'. source: @@ -215,78 +754,20 @@ Release tarballs are available at: which has been corrected. Will merge to 'next'. - source: - - -* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit - - cbtree: remove broken and unused cb_unlink - - Code clean-up. - - Will merge to 'next'. - source: <20211207183810.688481-1-e@80x24.org> - --------------------------------------------------- -[Stalled] - -* ar/submodule-update (2021-10-13) 9 commits - . submodule--helper: rename helper functions - . submodule--helper: remove unused helpers - . submodule: move core cmd_update() logic to C - . submodule--helper: run update using child process struct - . submodule--helper: allow setting superprefix for init_submodule() - . submodule--helper: refactor get_submodule_displaypath() - . submodule--helper: rename helpers for update-clone - . submodule--helper: get remote names from any repository - . submodule--helper: split up ensure_core_worktree() - - Rewrite of "git submodule update" in C. - - Expecting a reroll? - cf. - source: <20211013051805.45662-10-raykar.ath@gmail.com> - - -* ms/customizable-ident-expansion (2021-09-01) 1 commit - - keyword expansion: make "$Id$" string configurable - - Instead of "$Id$", user-specified string (like $FreeBSD$) can be - used as an in-blob placeholder for keyword expansion. - - Will discard. - Stalled for too long. - cf. - cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> - source: + source: -* pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits - - rebase -m: don't fork git checkout - - rebase --apply: set ORIG_HEAD correctly - - rebase --apply: fix reflog - - reset_head(): take struct rebase_head_opts - - rebase: cleanup reset_head() calls - - reset_head(): make default_reflog_action optional - - reset_head(): factor out ref updates - - reset_head(): remove action parameter - - reset_head(): don't run checkout hook if there is an error - - reset_head(): fix checkout - - rebase: factor out checkout for up to date branch - - Merge branch 'pw/rebase-of-a-tag-fix' into pw/fix-some-issues-in-reset-head +* ew/cbtree-remove-unused-and-broken-cb-unlink (2021-12-07) 1 commit + (merged to 'next' on 2021-12-07 at e37b4e16d0) + + cbtree: remove broken and unused cb_unlink - Fix "some issues" in a helper function reset_head(). + Code clean-up. - Expecting a reroll. - cf. - This needs a lot better explanation, including what the issues are, - which codepaths the helper is used in and to do what, and tests to - protect the fixes. - source: + Will merge to 'master'. + source: <20211207183810.688481-1-e@80x24.org> --------------------------------------------------- -[Cooking] -* ab/cat-file (2021-11-29) 10 commits +* ab/cat-file (2021-12-08) 10 commits - cat-file: use GET_OID_ONLY_TO_DIE in --(textconv|filters) - object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY - cat-file: correct and improve usage information @@ -299,13 +780,7 @@ Release tarballs are available at: - cat-file tests: test bad usage Assorted updates to "git cat-file", especially "-h". - - Needs review. - Even though this is at its third round, there wasn't any meaningful - reviews other than typofixes in the earliest round, which may or - may not be still relevant. The last round needs a serious review - before becoming eligible for 'next'. - source: + source: * ab/grep-patterntype (2021-12-04) 7 commits @@ -323,18 +798,8 @@ Release tarballs are available at: source: -* en/rebase-x-fix (2021-11-29) 1 commit - (merged to 'next' on 2021-12-03 at a833829733) - + sequencer: avoid adding exec commands for non-commit creating commands - - "git rebase -x" added an unnecessary 'exec' instructions before - 'noop', which has been corrected. - - Will merge to 'master'. - source: - - -* js/use-builtin-add-i (2021-12-01) 2 commits +* js/use-builtin-add-i (2021-12-08) 3 commits + - fixup! add -i: default to the built-in implementation - add -i: default to the built-in implementation - t2016: require the PERL prereq only when necessary @@ -403,15 +868,16 @@ Release tarballs are available at: * jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits - - log: load decorations with --simplify-by-decoration - - log: handle --decorate-refs with userformat "%d" + (merged to 'next' on 2021-12-10 at 80585b2755) + + log: load decorations with --simplify-by-decoration + + log: handle --decorate-refs with userformat "%d" When "git log" implicitly enabled the "decoration" processing without being explicitly asked with "--decorate" option, it failed to read and honor the settings given by the "--decorate-refs" option. - Will merge to 'next'? + Will merge to 'master'. source: @@ -443,126 +909,84 @@ Release tarballs are available at: source: -* cb/add-p-single-key-fix (2021-11-28) 1 commit - (merged to 'next' on 2021-12-03 at 8d4f16e620) - + add -p: avoid use of undefined $key when ReadKey -> EOF - - The single-key-input mode in "git add -p" had some code to handle - keys that generate a sequence of input via ReadKey(), which did not - handle end-of-file correctly, which has been fixed. - - Will merge to 'master'. - source: <20211128174903.5623-1-carenas@gmail.com> - - -* cb/mingw-gmtime-r (2021-11-27) 1 commit - (merged to 'next' on 2021-12-03 at 785278d40e) - + mingw: avoid fallback for {local,gm}time_r() - - Build fix on Windows. - - Will merge to 'master'. - source: - - * ds/trace2-regions-in-tests (2021-11-29) 2 commits - - t/t*: remove custom GIT_TRACE2_EVENT_NESTING - - test-lib.sh: set GIT_TRACE2_EVENT_NESTING + (merged to 'next' on 2021-12-07 at ebf31cbaad) + + t/t*: remove custom GIT_TRACE2_EVENT_NESTING + + test-lib.sh: set GIT_TRACE2_EVENT_NESTING The default setting for trace2 event nesting was too low to cause test failures, which is worked around by bumping it up in the test framework. - Will merge to 'next'. + Will merge to 'master'. source: * hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits - - t1430: create valid symrefs using test-helper - - t1430: remove refs using test-tool - - refs: introduce REF_SKIP_REFNAME_VERIFICATION flag - - refs: introduce REF_SKIP_OID_VERIFICATION flag - - refs: update comment. - - test-ref-store: plug memory leak in cmd_delete_refs - - test-ref-store: parse symbolic flag constants - - test-ref-store: remove force-create argument for create-reflog + (merged to 'next' on 2021-12-08 at 8fb70ef68b) + + t1430: create valid symrefs using test-helper + + t1430: remove refs using test-tool + + refs: introduce REF_SKIP_REFNAME_VERIFICATION flag + + refs: introduce REF_SKIP_OID_VERIFICATION flag + + refs: update comment. + + test-ref-store: plug memory leak in cmd_delete_refs + + test-ref-store: parse symbolic flag constants + + test-ref-store: remove force-create argument for create-reflog The test helper for refs subsystem learned to write bogus and/or nonexistent object name to refs to simulate error situations we want to test Git in. - Will merge to 'next'. + Will merge to 'master'. source: * hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit - - t1404: mark directory/file conflict tests with REFFILES + (merged to 'next' on 2021-12-07 at 074438a4ba) + + t1404: mark directory/file conflict tests with REFFILES Test update. - Will merge to 'next'. + Will merge to 'master'. source: * jc/reflog-iterator-callback-doc (2021-11-28) 1 commit - - refs: document callback for reflog-ent iterators + (merged to 'next' on 2021-12-08 at ba5693952d) + + refs: document callback for reflog-ent iterators Document the parameters given to the reflog entry iterator callback functions. - Will merge to 'next'? - source: - - -* po/size-t-for-vs (2021-12-01) 3 commits - (merged to 'next' on 2021-12-02 at 489c5b0046) - + object-file.c: LLP64 compatibility, upcast unity for left shift - + diffcore-delta.c: LLP64 compatibility, upcast unity for left shift - + repack.c: LLP64 compatibility, upcast unity for left shift - - On platforms where ulong is shorter than size_t, code paths that - shifted 1 or 1U to the left lacked the necessary cast to size_t, - which have been corrected. - - Will merge to 'master'. - source: <20211201002902.1042-4-philipoakley@iee.email> - - -* yn/complete-date-format-options (2021-11-25) 1 commit - (merged to 'next' on 2021-12-03 at 4f37a904a1) - + completion: add human and auto: date format - - The completion script (in contrib/) learns that the "--date" - option of commands from the "git log" family takes "human" and - "auto" as valid values. - Will merge to 'master'. - source: + source: * jc/grep-patterntype-default-doc (2021-12-05) 1 commit - - grep: clarify what `grep.patternType=default` means + (merged to 'next' on 2021-12-10 at e46385ad9d) + + grep: clarify what `grep.patternType=default` means Doc update. - Will merge to 'next'? + Will merge to 'master'. source: * ab/ci-updates (2021-11-23) 5 commits - - CI: don't run "make test" twice in one job - - CI: use "$runs_on_pool", not "$jobname" to select packages & config - - CI: rename the "Linux32" job to lower-case "linux32" - - CI: use shorter names that fit in UX tooltips - - CI: remove Travis CI support + (merged to 'next' on 2021-12-07 at 1d855a6b33) + + CI: don't run "make test" twice in one job + + CI: use "$runs_on_pool", not "$jobname" to select packages & config + + CI: rename the "Linux32" job to lower-case "linux32" + + CI: use shorter names that fit in UX tooltips + + CI: remove Travis CI support Drop support for TravisCI and update test workflows at GitHub. - Will merge to 'next'. + Will merge to 'master'. source: -* en/keep-cwd (2021-12-01) 11 commits +* en/keep-cwd (2021-12-09) 11 commits - t2501: simplify the tests since we can now assume desired behavior - dir: new flag to remove_dir_recurse() to spare the original_cwd - dir: avoid incidentally removing the original_cwd in remove_path() @@ -584,63 +1008,42 @@ Release tarballs are available at: The commands have been taught to keep an empty directory if it is the directory they were started in to avoid surprising users. - Needs review. - There are some comments on earlier rounds; the latest one needs a - serious review or at least Acks from past commentors. - source: + Will merge to 'next'? + source: * ab/run-command (2021-11-25) 9 commits - - run-command API: remove "env" member, always use "env_array" - - difftool: use "env_array" to simplify memory management - - run-command API: remove "argv" member, always use "args" - - run-command API users: use strvec_push(), not argv construction - - run-command API users: use strvec_pushl(), not argv construction - - run-command tests: use strvec_pushv(), not argv assignment - - run-command API users: use strvec_pushv(), not argv assignment - - upload-archive: use regular "struct child_process" pattern - - worktree: stop being overly intimate with run_command() internals + (merged to 'next' on 2021-12-07 at 5c0bedf853) + + run-command API: remove "env" member, always use "env_array" + + difftool: use "env_array" to simplify memory management + + run-command API: remove "argv" member, always use "args" + + run-command API users: use strvec_push(), not argv construction + + run-command API users: use strvec_pushl(), not argv construction + + run-command tests: use strvec_pushv(), not argv assignment + + run-command API users: use strvec_pushv(), not argv assignment + + upload-archive: use regular "struct child_process" pattern + + worktree: stop being overly intimate with run_command() internals API clean-up. - Will merge to 'next'. + Will merge to 'master'. cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com> cf. source: -* hn/create-reflog-simplify (2021-11-22) 1 commit - (merged to 'next' on 2021-12-02 at 87ff49b776) - + refs: drop force_create argument of create_reflog API - (this branch is used by hn/reftable-coverity-fixes.) - - A small simplification of API. - - Will merge to 'master'. - source: - - * hn/reflog-tests (2021-12-02) 5 commits - - refs/debug: trim trailing LF from reflog message - - test-ref-store: tweaks to for-each-reflog-ent format - - t1405: check for_each_reflog_ent_reverse() more thoroughly - - test-ref-store: don't add newline to reflog message - - show-branch: show reflog message + (merged to 'next' on 2021-12-07 at 84d4e4b211) + + refs/debug: trim trailing LF from reflog message + + test-ref-store: tweaks to for-each-reflog-ent format + + t1405: check for_each_reflog_ent_reverse() more thoroughly + + test-ref-store: don't add newline to reflog message + + show-branch: show reflog message Prepare tests on ref API to help testing reftable backends. - Will merge to 'next'. - source: - - -* jt/midx-doc-fix (2021-11-22) 1 commit - (merged to 'next' on 2021-12-02 at eac9f263ae) - + Doc: no midx and partial clone relation - - Docfix. - Will merge to 'master'. - source: <20211122184114.3328662-1-jonathantanmy@google.com> + source: * tl/ls-tree-oid-only (2021-11-22) 1 commit @@ -652,45 +1055,6 @@ Release tarballs are available at: source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com> -* jk/t7006-sigpipe-tests-fix (2021-11-22) 3 commits - (merged to 'next' on 2021-12-02 at eefd61931f) - + t7006: simplify exit-code checks for sigpipe tests - + t7006: clean up SIGPIPE handling in trace2 tests - + run-command: unify signal and regular logic for wait_or_whine() - - The function to cull a child process and determine the exit status - had two separate code paths for normal callers and callers in a - signal handler, and the latter did not yield correct value when the - child has caught a signal. The handling of the exit status has - been unified for these two code paths. An existing test with - flakiness has also been corrected. - - Will merge to 'master'. - source: - - -* em/missing-pager (2021-11-24) 1 commit - (merged to 'next' on 2021-12-03 at 22ad721b52) - + pager: fix crash when pager program doesn't exist - - When a non-existent program is given as the pager, we tried to - reuse an uninitialized child_process structure and crashed, which - has been fixed. - - Will merge to 'master'. - source: <20211125000239.2336-1-ematsumiya@suse.de> - - -* ab/checkout-branch-info-leakfix (2021-11-18) 1 commit - (merged to 'next' on 2021-12-02 at 5922388782) - + checkout: fix "branch info" memory leaks - - Leakfix. - - Will merge to 'master'. - source: - - * ab/make-dependency (2021-11-18) 24 commits - Makefile: move ".SUFFIXES" rule to shared.mak - Makefile: define $(LIB_H) in terms of $(FIND_SOURCE_FILES) @@ -725,77 +1089,47 @@ Release tarballs are available at: source: -* ah/advice-pull-has-no-preference-between-rebase-and-merge (2021-11-19) 1 commit - (merged to 'next' on 2021-12-02 at 1b49913760) - + pull: don't say that merge is "the default strategy" - - The advice message given by "git pull" when the user hasn't made a - choice between merge and rebase still said that the merge is the - default, which no longer is the case. This has been corrected. - - Will merge to 'master'. - source: <20211118154317.639118-1-alexhenrie24@gmail.com> - - -* ds/fetch-pull-with-sparse-index (2021-12-06) 3 commits - - ls-files: add --sparse option - - fetch/pull: use the sparse index - - Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index - (this branch uses ld/sparse-diff-blame and vd/sparse-reset.) +* ds/fetch-pull-with-sparse-index (2021-12-08) 6 commits + . test-read-cache: remove --table, --expand options + . t1091/t3705: remove 'test-tool read-cache --table' + . t1092: replace 'read-cache --table' with 'ls-files --sparse' + . ls-files: add --sparse option + . fetch/pull: use the sparse index + . Merge branch 'ld/sparse-diff-blame' into ds/fetch-pull-with-sparse-index + (this branch uses ld/sparse-diff-blame.) "git fetch" and "git pull" are now declared sparse-index clean. Also "git ls-files" learns the "--sparse" option to help debugging. - Expecting a reroll. - Discussion seems to have stalled, with a few loose ends questions. - Also since the branch that this depends on was rerolled, it may - benefit from a refresh. - source: + Ejected from 'seen', as it seems to fail its self-test. + source: * fs/ssh-signing-other-keytypes (2021-11-19) 2 commits - - ssh signing: make sign/amend test more resilient - - ssh signing: support non ssh-* keytypes + (merged to 'next' on 2021-12-10 at 2d0c8cb8e6) + + ssh signing: make sign/amend test more resilient + + ssh signing: support non ssh-* keytypes The cryptographic signing using ssh keys can specify literal keys for keytypes whose name do not begin with the "ssh-" prefix by using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256"). - Will merge to 'next'? + Will merge to 'master'. source: <20211119150707.3924636-1-fs@gigacodes.de> * fs/test-prereq (2021-12-01) 3 commits - - test-lib: make BAIL_OUT() work in tests and prereq - - test-lib: introduce required prereq for test runs - - test-lib: show missing prereq summary + (merged to 'next' on 2021-12-07 at fc8a8e0006) + + test-lib: make BAIL_OUT() work in tests and prereq + + test-lib: introduce required prereq for test runs + + test-lib: show missing prereq summary The test framework learns to list unsatisfied test prerequisites, and optionally error out when prerequisites that are expected to be satisfied are not. - Will merge to 'next'. - source: <20211201085315.576865-1-fs@gigacodes.de> - - -* jk/t5319-midx-corruption-test-deflake (2021-11-18) 1 commit - (merged to 'next' on 2021-12-02 at 0ac4fd64aa) - + t5319: corrupt more bytes of the midx checksum - - Test fix. - - Will merge to 'master'. - source: - - -* js/trace2-avoid-recursive-errors (2021-11-18) 1 commit - (merged to 'next' on 2021-12-02 at c5b1e5ddec) - + trace2: disable tr2_dst before warning on write errors - - trace2 error code path fix. - Will merge to 'master'. - source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com> + source: <20211201085315.576865-1-fs@gigacodes.de> * pw/xdiff-classify-record-in-histogram (2021-12-04) 6 commits @@ -803,90 +1137,33 @@ Release tarballs are available at: + xdiff: drop unused flags parameter from recs_match + xdiff: drop xpparam_t parameter from histogram cmp_recs() + xdiff: drop CMP_ENV macro from xhistogram - (merged to 'next' on 2021-12-02 at 5ccd12d09b) - + xdiff: simplify comparison - + xdiff: avoid unnecessary memory allocations - + diff histogram: intern strings - - "diff --histogram" optimization. - - Will merge to 'master'. - source: - source: - - -* rs/mergesort (2021-11-18) 1 commit - (merged to 'next' on 2021-12-02 at 0490b0ffbd) - + mergesort: avoid left shift overflow - - Bitop fix for platforms whose "long" is 32-bit. - - Will merge to 'master'. - source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de> - - -* xw/am-empty (2021-12-07) 3 commits - - am: support --allow-empty to record specific empty patches - - am: support --empty=