@leroysheep / Socializer / commits / 0f3654c4b7

What's cooking (2021/12 #03)

Junio C Hamano committed Dec 10, 2021 at 15:39 UTC 0f3654c4b7173328a1ad42949f202eddddeeea38
1 file changed +751 -666
whats-cooking.txt
+751 -666
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: <patch-v4-1.1-57bcd0cbc23-20211116T182604Z-avarab@gmail.com> + + +* 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: <cover-v3-00.10-00000000000-20211105T135058Z-avarab@gmail.com> + + +* 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: <pull.1142.v2.git.git.1638008132992.gitgitgadget@gmail.com> + + +* 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: <pull.1149.git.git.1638244719381.gitgitgadget@gmail.com> + + +* 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: <pull.1143.git.git.1637347813367.gitgitgadget@gmail.com> + + +* 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: <pull.1144.git.git.1637590749342.gitgitgadget@gmail.com> + + +* 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: <pull.1052.v7.git.1636588289.gitgitgadget@gmail.com> + + +* 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 <URL> 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: <pull.1063.v3.git.1635537163.gitgitgadget@gmail.com> + + +* 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: <YZgQD3lrw4+i4EMd@coredump.intra.peff.net> + + +* 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: <YYqjY/zcBWyqY8/5@coredump.intra.peff.net> + + +* 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: <YZgW/pz6CbpaywDa@coredump.intra.peff.net> + + +* 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:<strftime>" gained a workaround for the lack of + system support for a non-local timezone to handle "%s" placeholder. + source: <YYEihoLbEGi44dDb@coredump.intra.peff.net> + + +* 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: <YZQk6t1veegeAlYh@coredump.intra.peff.net> + + +* 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: <YZrSALOrdhuunHwp@coredump.intra.peff.net> + + +* 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: <YYTy6+DG5guzJIO7@coredump.intra.peff.net> + + +* 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: <pull.1071.v3.git.1636031609982.gitgitgadget@gmail.com> + + +* 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: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com> + + +* 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: <pull.1048.v6.git.1638201164.gitgitgadget@gmail.com> + + +* 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: <pull.1059.v5.git.1637626833.gitgitgadget@gmail.com> + + +* 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: <pull.1083.git.1637666875171.gitgitgadget@gmail.com> + -------------------------------------------------- [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. <pull.1151.v3.git.git.1639108573.gitgitgadget@gmail.com> + source: <pull.1151.v2.git.git.1638908410.gitgitgadget@gmail.com> + + +* 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: <pull.1152.v2.git.git.1639000187.gitgitgadget@gmail.com> + + +* 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: <xmqqh7bi27o9.fsf@gitster.g> + + +* 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: <YbEMnksMEuAz3Nt0@coredump.intra.peff.net> + + +* 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: <cover.1638991570.git.me@ttaylorr.com> + + +* 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: <pull.1094.git.1638823724410.gitgitgadget@gmail.com> + + +* 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. <YWiXL+plA7GHfuVv@google.com> + 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. <xmqqfsuosvrh.fsf@gitster.g> + cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> + source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com> + +-------------------------------------------------- +[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: <pull.1049.v2.git.1638975481.gitgitgadget@gmail.com> + + * 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: <dad2b73c84f1c1575a6bce04a449ee1236680b10.1638658219.git.me@ttaylorr.com> * 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: <pull.1092.v2.git.1638799837.gitgitgadget@gmail.com> * 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: <pull.1119.git.git.1636762454792.gitgitgadget@gmail.com> * 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: <pull.1134.v3.git.git.1638596219656.gitgitgadget@gmail.com> * 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: <pull.1089.git.1638524353230.gitgitgadget@gmail.com> * 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....", <file>, <line>) - - 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....", <file>, <line>) + + 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: <cover-v2-0.4-00000000000-20211207T110440Z-avarab@gmail.com> @@ -215,78 +754,20 @@ Release tarballs are available at: which has been corrected. Will merge to 'next'. - source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com> - - -* 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. <YWiXL+plA7GHfuVv@google.com> - 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. <xmqqfsuosvrh.fsf@gitster.g> - cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> - source: <pull.1074.v3.git.git.1630462385587.gitgitgadget@gmail.com> + source: <patch-v5-1.1-69ab40d623b-20211207T215115Z-avarab@gmail.com> -* 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. <e1aadd47-533c-fd8b-4fae-f64a53c81ec9@gmail.com> - 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: <pull.1049.git.1633082702.gitgitgadget@gmail.com> + 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: <patch-v3-10.10-45a24f97c88-20211129T195357Z-avarab@gmail.com> + source: <cover-v4-00.10-00000000000-20211208T123151Z-avarab@gmail.com> * ab/grep-patterntype (2021-12-04) 7 commits @@ -323,18 +798,8 @@ Release tarballs are available at: source: <cover-v4-0.7-00000000000-20211203T101348Z-avarab@gmail.com> -* 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: <pull.1149.git.git.1638244719381.gitgitgadget@gmail.com> - - -* 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: <YahbseXEC66dK0k8@coredump.intra.peff.net> @@ -443,126 +909,84 @@ Release tarballs are available at: source: <patch-v5-6.6-78bb0995f08-20211125T215529Z-avarab@gmail.com> -* 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: <pull.1142.v2.git.git.1638008132992.gitgitgadget@gmail.com> - - * 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: <pull.1085.git.1638193666.gitgitgadget@gmail.com> * 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: <pull.1147.v4.git.git.1638884300.gitgitgadget@gmail.com> * 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: <pull.1148.v2.git.git.1638210022966.gitgitgadget@gmail.com> * 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: <xmqqk0gs5bgw.fsf@gitster.g> - - -* 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: <pull.1083.git.1637666875171.gitgitgadget@gmail.com> + source: <xmqqk0gs5bgw.fsf@gitster.g> * 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: <xmqqy24ykdel.fsf_-_@gitster.g> * 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: <cover-v4-0.5-00000000000-20211123T134300Z-avarab@gmail.com> -* 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: <pull.1140.v5.git.git.1638340854.gitgitgadget@gmail.com> + Will merge to 'next'? + source: <pull.1140.v6.git.git.1639026515.gitgitgadget@gmail.com> * 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. <CAPig+cSvFgJTiq8pXrWy_7ukQwE1y9ZGwMgKmyjWuQHdNGxiDQ@mail.gmail.com> source: <cover-v3-0.9-00000000000-20211125T224833Z-avarab@gmail.com> -* 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: <pull.1144.git.git.1637590749342.gitgitgadget@gmail.com> - - * 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: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.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. - Will merge to 'master'. - source: <20211122184114.3328662-1-jonathantanmy@google.com> + source: <pull.1145.v3.git.git.1638466593.gitgitgadget@gmail.com> * 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: <YZrSALOrdhuunHwp@coredump.intra.peff.net> - - -* 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: <patch-v4-1.1-57bcd0cbc23-20211116T182604Z-avarab@gmail.com> - - * 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: <patch-v4-23.23-48a3927d972-20211117T101807Z-avarab@gmail.com> -* 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: <pull.1080.git.1637077083.gitgitgadget@gmail.com> + Ejected from 'seen', as it seems to fail its self-test. + source: <pull.1080.v2.git.1638992395.gitgitgadget@gmail.com> * 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: <YZQk6t1veegeAlYh@coredump.intra.peff.net> - - -* 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: <Yammtm+pIkMu43zZ@coredump.intra.peff.net> - source: <pull.1079.git.1637148025.gitgitgadget@gmail.com> - - -* 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=<option> to handle empty patches - - doc: git-format-patch: describe the option --always - - "git am" learns "--empty=(die|drop|keep)" option to tweak what is - done to a piece of e-mail without a patch in it. - - Almost there. - source: <pull.1076.v17.git.1638865913.gitgitgadget@gmail.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. - - Will merge to 'master'. - source: <pull.1143.git.git.1637347813367.gitgitgadget@gmail.com> - - -* 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. - - Will merge to 'master'. - source: <YZgQD3lrw4+i4EMd@coredump.intra.peff.net> - - -* 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 + (merged to 'next' on 2021-12-02 at 5ccd12d09b) + + xdiff: simplify comparison + + xdiff: avoid unnecessary memory allocations + + diff histogram: intern strings - Workaround for a false-alarm by gcc-11 + "diff --histogram" optimization. Will merge to 'master'. - source: <YZgW/pz6CbpaywDa@coredump.intra.peff.net> + source: <Yammtm+pIkMu43zZ@coredump.intra.peff.net> + source: <pull.1079.git.1637148025.gitgitgadget@gmail.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 +* xw/am-empty (2021-12-07) 3 commits + - am: support --allow-empty to record specific empty patches + - am: support --empty=<option> to handle empty patches + - doc: git-format-patch: describe the option --always - "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. + "git am" learns "--empty=(die|drop|keep)" option to tweak what is + done to a piece of e-mail without a patch in it. - Will merge to 'master'. - source: <pull.1078.v7.git.git.1637319387717.gitgitgadget@gmail.com> + Almost there. + source: <pull.1076.v18.git.1638939946.gitgitgadget@gmail.com> * rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit - - receive-pack: ignore SIGPIPE while reporting status to client + (merged to 'next' on 2021-12-07 at 91039a781e) + + receive-pack: ignore SIGPIPE while reporting status to client When the "git push" command is killed while the receiving end is trying to report what happened to the ref update proposals, the @@ -894,52 +1171,19 @@ Release tarballs are available at: to increase our chances to run the post-receive hook after it happens. - Will merge to 'next'. + Will merge to 'master'. source: <20211110092942.1648429-1-robin@jarry.cc> * ab/parse-options-cleanup (2021-11-10) 1 commit - - parse-options.c: use "enum parse_opt_result" for parse_nodash_opt() + (merged to 'next' on 2021-12-08 at f9a2ceb9f6) + + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt() Change the type of an internal function to return an enum (instead of int) and replace -2 that was used to signal an error with -1. - Will merge to 'next'? - It is disturbing that a change claimed to be clean-up is not a faithful - conversion, though. - source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com> - - -* 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. - - Will merge to 'master'. - source: <20211111220048.1702896-1-calvinwan@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. - - Will merge to 'master'. - source: <20211110234033.3144165-1-jonathantanmy@google.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 - - Weather balloon to break people with compilers that do not support - C99. - Will merge to 'master'. - source: <20211201014050.38002-2-sandals@crustytoothpaste.net> + source: <patch-v2-1.1-376f76bb44e-20211110T012523Z-avarab@gmail.com> * jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit @@ -953,25 +1197,16 @@ Release tarballs are available at: source: <xmqqpmr2j5lq.fsf_-_@gitster.g> -* 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. - - Will merge to 'master'. - source: <9b910a44f4143c94787110a688f2b17ba4eeb0fc.1637218943.git.dyroneteng@gmail.com> - - * ak/protect-any-current-branch (2021-12-01) 8 commits - - branch: protect branches checked out in all worktrees - - receive-pack: protect current branch for bare repository worktree - - receive-pack: clean dead code from update_worktree() - - fetch: protect branches checked out in all worktrees - - worktree: simplify find_shared_symref() memory ownership model - - branch: lowercase error messages - - receive-pack: lowercase error messages - - fetch: lowercase error messages + (merged to 'next' on 2021-12-10 at dd2c6a557c) + + branch: protect branches checked out in all worktrees + + receive-pack: protect current branch for bare repository worktree + + receive-pack: clean dead code from update_worktree() + + fetch: protect branches checked out in all worktrees + + worktree: simplify find_shared_symref() memory ownership model + + branch: lowercase error messages + + receive-pack: lowercase error messages + + fetch: lowercase error messages "git fetch" without the "--update-head-ok" option ought to protect a checked out branch from getting updated, to prevent the working @@ -981,62 +1216,8 @@ Release tarballs are available at: been updated. (originally called ak/fetch-not-overwrite-any-current-branch) - Will merge to 'next'? - source: <20211201221547.1796213-1-andersk@mit.edu> - - -* 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. - - Will merge to 'master'. - source: <YYTy6+DG5guzJIO7@coredump.intra.peff.net> - - -* 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. - - Will merge to 'master'. - source: <YYqjY/zcBWyqY8/5@coredump.intra.peff.net> - - -* 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:<strftime>" gained a workaround for the lack of - system support for a non-local timezone to handle "%s" placeholder. - - Will merge to 'master'. - source: <YYEihoLbEGi44dDb@coredump.intra.peff.net> - - -* 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. - - Will merge to 'master'. - source: <pull.1071.v3.git.1636031609982.gitgitgadget@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. - Will merge to 'master'. - source: <20211103201702.117771-1-thomas@t-8ch.de> + source: <20211201221547.1796213-1-andersk@mit.edu> * ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits @@ -1063,72 +1244,33 @@ Release tarballs are available at: source: <cover-00.15-00000000000-20211030T221945Z-avarab@gmail.com> -* 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. - - Will merge to 'master'. - source: <pull.1052.v7.git.1636588289.gitgitgadget@gmail.com> - - * ew/test-wo-fsync (2021-10-29) 1 commit - - tests: disable fsync everywhere + (merged to 'next' on 2021-12-08 at 4b90e4870a) + + tests: disable fsync everywhere Allow running our tests while disabling fsync. - Will merge to 'next'? + Will merge to 'master'. Received a lukewarm reactions overall. Perhaps we should drop instead? source: <20211029001552.GA29647@dcvr> -* 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 <URL> 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. - - Will merge to 'master'. - source: <20211106184858.11500-1-jn.avila@free.fr> - - * re/color-default-reset (2021-10-28) 3 commits - - color: allow colors to be prefixed with "reset" - - color: support "default" to restore fg/bg color - - color: add missing GIT_COLOR_* white/black constants + (merged to 'next' on 2021-12-08 at ab3ff50ce2) + + color: allow colors to be prefixed with "reset" + + color: support "default" to restore fg/bg color + + color: add missing GIT_COLOR_* white/black constants "default" and "reset" colors have been added to our palette. - Will merge to 'next'? + Will merge to 'master'. Seems to have stalled, but I am OK to merge it as-is. cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com> source: <pull.1117.git.git.1635210227532.gitgitgadget@gmail.com> source: <pull.1116.git.git.1635201156.gitgitgadget@gmail.com> -* 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. - - Will merge to 'master'. - source: <pull.1063.v3.git.1635537163.gitgitgadget@gmail.com> - - -* pw/diff-color-moved-fix (2021-10-27) 15 commits +* pw/diff-color-moved-fix (2021-12-09) 15 commits - diff --color-moved: intern strings - diff: use designated initializers for emitted_diff_symbol - diff --color-moved-ws=allow-indentation-change: improve hash lookups @@ -1138,67 +1280,50 @@ Release tarballs are available at: - diff --color-moved: call comparison function directly - diff --color-moved-ws=allow-indentation-change: simplify and optimize - diff: simplify allow-indentation-change delta calculation - - diff --color-moved: avoid false short line matches and bad zerba coloring + - diff --color-moved: avoid false short line matches and bad zebra coloring - diff --color-moved=zebra: fix alternate coloring - diff --color-moved: rewind when discarding pmb - diff --color-moved: factor out function - diff --color-moved: clear all flags on blocks that are too short - diff --color-moved: add perf tests - Long-overdue correctness and performance update to "diff - --color-moved" feature. - - Expecting a reroll. - cf. <e1aadd47-533c-fd8b-4fae-f64a53c81ec9@gmail.com> - cf. <pull.981.v4.git.1637056178.gitgitgadget@gmail.com> - - -* 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. + Correctness and performance update to "diff --color-moved" feature. - Will merge to 'master'. - source: <cover-v3-00.10-00000000000-20211105T135058Z-avarab@gmail.com> + Will merge to 'next'? + source: <pull.981.v5.git.1639045809.gitgitgadget@gmail.com> * es/pretty-describe-more (2021-11-01) 3 commits - - pretty: add abbrev option to %(describe) - - pretty: add tag option to %(describe) - - pretty.c: rework describe options parsing for better extensibility + (merged to 'next' on 2021-12-07 at e7862a34c8) + + pretty: add abbrev option to %(describe) + + pretty: add tag option to %(describe) + + pretty.c: rework describe options parsing for better extensibility Extend "git log --format=%(describe)" placeholder to allow passing selected command-line options to the underlying "git describe" command. - Will merge to 'next'. + Will merge to 'master'. source: <20211031171510.1646396-1-eschwartz@archlinux.org> -* fs/ssh-signing-key-lifetime (2021-12-01) 7 commits - - ssh signing: verify ssh-keygen in test prereq - - ssh signing: make fmt-merge-msg consider key lifetime - - ssh signing: make verify-tag consider key lifetime - - ssh signing: make git log verify key lifetime - - ssh signing: make verify-commit consider key lifetime - - ssh signing: add key lifetime test prereqs - - ssh signing: use sigc struct to pass payload +* fs/ssh-signing-key-lifetime (2021-12-09) 9 commits + (merged to 'next' on 2021-12-10 at d5e7bd8b79) + + ssh signing: verify ssh-keygen in test prereq + + ssh signing: make fmt-merge-msg consider key lifetime + + ssh signing: make verify-tag consider key lifetime + + ssh signing: make git log verify key lifetime + + ssh signing: make verify-commit consider key lifetime + + ssh signing: add key lifetime test prereqs + + ssh signing: use sigc struct to pass payload + + t/fmt-merge-msg: make gpgssh tests more specific + + t/fmt-merge-msg: do not redirect stderr Extend the signing of objects with SSH keys and learn to pay attention to the key validity time range when verifying. - Will merge to 'next'? - source: <20211130141112.78193-1-fs@gigacodes.de> + Will merge to 'master'. + source: <20211209085249.13587-1-fs@gigacodes.de> * jc/doc-submitting-patches-choice-of-base (2021-10-25) 2 commits @@ -1214,21 +1339,6 @@ Release tarballs are available at: source: <xmqqa6izcwio.fsf_-_@gitster.g> -* 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. - - Will merge to 'master'. - source: <20211118005325.64971-1-chooglen@google.com> - - * ab/config-based-hooks-2 (2021-11-24) 18 commits - run-command: remove old run_hook_{le,ve}() hook API - receive-pack: convert push-to-checkout hook to hook.h @@ -1260,28 +1370,17 @@ Release tarballs are available at: source: <cover-v5-00.17-00000000000-20211123T114206Z-avarab@gmail.com> -* 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. - - Will merge to 'master'. - source: <pull.1059.v5.git.1637626833.gitgitgadget@gmail.com> - - * js/branch-track-inherit (2021-12-07) 2 commits . branch: add flags and config to inherit tracking . branch: accept multiple upstream branches for tracking + (this branch is used by gc/branch-recurse-submodules.) "git -c branch.autosetupmerge=inherit branch new old" makes "new" to have the same upstream as the "old" branch, instead of marking "old" itself as its upstream. + + Waiting for a response + cf. <xmqqk0gg6wqn.fsf@gitster.g> source: <cover.1638859949.git.steadmon@google.com> @@ -1325,23 +1424,24 @@ Release tarballs are available at: * ld/sparse-diff-blame (2021-12-06) 8 commits - - blame: enable and test the sparse index - - diff: enable and test the sparse index - - diff: replace --staged with --cached in t1092 tests - - repo-settings: prepare_repo_settings only in git repos - - test-read-cache: set up repo after git directory - - commit-graph: return if there is no git directory - - git: ensure correct git directory setup with -h - - Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame - (this branch is used by ds/fetch-pull-with-sparse-index; uses vd/sparse-reset.) + (merged to 'next' on 2021-12-10 at 57b89936d6) + + blame: enable and test the sparse index + + diff: enable and test the sparse index + + diff: replace --staged with --cached in t1092 tests + + repo-settings: prepare_repo_settings only in git repos + + test-read-cache: set up repo after git directory + + commit-graph: return if there is no git directory + + git: ensure correct git directory setup with -h + + Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame + (this branch is used by ds/fetch-pull-with-sparse-index.) Teach diff and blame to work well with sparse index. - Will merge to 'next'? + Will merge to 'master'. source: <pull.1050.v6.git.1638806161.gitgitgadget@gmail.com> -* ns/remerge-diff (2021-12-06) 8 commits +* ns/remerge-diff (2021-12-08) 8 commits - doc/diff-options: explain the new --remerge-diff option - show, log: adapt Elijah Newren's changes to common tmp-objdir API - show, log: provide a --remerge-diff capability @@ -1363,7 +1463,7 @@ Release tarballs are available at: them to longer-term storage" infrastructure with another topic. -* ns/tmp-objdir (2021-12-06) 2 commits +* ns/tmp-objdir (2021-12-08) 2 commits - tmp-objdir: disable ref updates when replacing the primary odb - tmp-objdir: new API for creating temporary writable databases (this branch is used by ns/batched-fsync and ns/remerge-diff.) @@ -1371,29 +1471,10 @@ Release tarballs are available at: New interface into the tmp-objdir API to help in-core use of the quarantine feature. - Needs an Ack or Reviewed-by. + Will merge to 'next'. source: <pull.1091.v3.git.1638828305.gitgitgadget@gmail.com> -* 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. - - Will merge to 'master'. - source: <pull.1048.v6.git.1638201164.gitgitgadget@gmail.com> - - * es/superproject-aware-submodules (2021-11-18) 5 commits - submodule: use config to find superproject worktree - submodule: record superproject gitdir during 'update' @@ -1409,7 +1490,7 @@ Release tarballs are available at: source: <20211117005701.371808-1-emilyshaffer@google.com> -* ns/batched-fsync (2021-12-06) 8 commits +* ns/batched-fsync (2021-12-08) 8 commits - core.fsyncobjectfiles: performance tests for add and stash - core.fsyncobjectfiles: tests for batch mode - unpack-objects: use the bulk-checkin infrastructure @@ -1429,35 +1510,37 @@ Release tarballs are available at: * en/zdiff3 (2021-12-01) 2 commits - - update documentation for new zdiff3 conflictStyle - - xdiff: implement a zealous diff3, or "zdiff3" + (merged to 'next' on 2021-12-07 at baa3b24593) + + update documentation for new zdiff3 conflictStyle + + xdiff: implement a zealous diff3, or "zdiff3" "Zealous diff3" style of merge conflict presentation has been added. - Will merge to 'next'. + Will merge to 'master'. source: <pull.1036.v5.git.git.1638317108.gitgitgadget@gmail.com> * js/scalar (2021-12-04) 15 commits - - scalar: implement the `version` command - - scalar: implement the `delete` command - - scalar: teach 'reconfigure' to optionally handle all registered enlistments - - scalar: allow reconfiguring an existing enlistment - - scalar: implement the `run` command - - scalar: teach 'clone' to support the --single-branch option - - scalar: implement the `clone` subcommand - - scalar: implement 'scalar list' - - scalar: let 'unregister' handle a deleted enlistment directory gracefully - - scalar: 'unregister' stops background maintenance - - scalar: 'register' sets recommended config and starts maintenance - - scalar: create test infrastructure - - scalar: start documenting the command - - scalar: create a rudimentary executable - - scalar: add a README with a roadmap + (merged to 'next' on 2021-12-10 at 6248603a80) + + scalar: implement the `version` command + + scalar: implement the `delete` command + + scalar: teach 'reconfigure' to optionally handle all registered enlistments + + scalar: allow reconfiguring an existing enlistment + + scalar: implement the `run` command + + scalar: teach 'clone' to support the --single-branch option + + scalar: implement the `clone` subcommand + + scalar: implement 'scalar list' + + scalar: let 'unregister' handle a deleted enlistment directory gracefully + + scalar: 'unregister' stops background maintenance + + scalar: 'register' sets recommended config and starts maintenance + + scalar: create test infrastructure + + scalar: start documenting the command + + scalar: create a rudimentary executable + + scalar: add a README with a roadmap Add pieces from "scalar" to contrib/. - Will merge to 'next'? + Will merge to 'master'. source: <pull.1005.v10.git.1638538470.gitgitgadget@gmail.com>