From: Junio C Hamano Date: Wed, 15 Dec 2021 23:28:30 +0000 (-0800) Subject: What's cooking (2021/12 #04) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=510d42bf652ebc22ceb54ba76b4d9023320194fa;p=thirdparty%2Fgit.git What's cooking (2021/12 #04) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 6a7cef25e2..4aa21e3c27 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, #03; Fri, 10) -X-master-at: e773545c7fe7eca21b134847f4fc2cbc9547fa14 -X-next-at: fae76fe5da3df25d752f2251b7ccda3f62813aa9 +Subject: What's cooking in git.git (Dec 2021, #04; Wed, 15) +X-master-at: 69a9c10c95e28df457e33b3c7400b16caf2e2962 +X-next-at: a2b2bfdf31eaee062391d5f278d6dd93cf7a3e4c -What's cooking in git.git (Dec 2021, #03; Fri, 10) +What's cooking in git.git (Dec 2021, #04; Wed, 15) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -49,356 +49,414 @@ Release tarballs are available at: -------------------------------------------------- [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/ci-updates (2021-11-23) 5 commits + (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 -* 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" + Drop support for TravisCI and update test workflows at GitHub. + source: - Build optimization. - source: +* ab/die-with-bug (2021-12-07) 4 commits + (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: ...") -* 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" + Code clean-up. + source: - 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> +* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits + (merged to 'next' on 2021-12-03 at 1d8c342dab) + + leak tests: mark some fast-import tests as passing with SANITIZE=leak + + leak tests: mark some config tests as passing with SANITIZE=leak + + leak tests: mark some status tests as passing with SANITIZE=leak + + leak tests: mark some clone tests as passing with SANITIZE=leak + + leak tests: mark some add tests as passing with SANITIZE=leak + + leak tests: mark some diff tests as passing with SANITIZE=leak + + leak tests: mark some apply tests as passing with SANITIZE=leak + + leak tests: mark some notes tests as passing with SANITIZE=leak + + leak tests: mark some update-index tests as passing with SANITIZE=leak + + leak tests: mark some rev-parse tests as passing with SANITIZE=leak + + leak tests: mark some rev-list tests as passing with SANITIZE=leak + + leak tests: mark some misc tests as passing with SANITIZE=leak + + leak tests: mark most gettext tests as passing with SANITIZE=leak + + leak tests: mark "sort" test as passing SANITIZE=leak + + leak tests: mark a read-tree test as passing SANITIZE=leak -* 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.) + More tests are marked as leak-free. + source: - Weather balloon to break people with compilers that do not support - C99. - source: <20211201014050.38002-1-sandals@crustytoothpaste.net> +* ab/parse-options-cleanup (2021-11-10) 1 commit + (merged to 'next' on 2021-12-08 at f9a2ceb9f6) + + parse-options.c: use "enum parse_opt_result" for parse_nodash_opt() -* 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 + 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. + source: - 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> +* ab/run-command (2021-11-25) 9 commits + (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 -* 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() + API clean-up. + cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com> + cf. + source: - Build fix on Windows. - source: +* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits + (merged to 'next' on 2021-12-07 at 7b7f74216a) + + unpack-trees: use traverse_path instead of name + + t1092: add deeper changes during a checkout -* 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 + 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. + source: - Doc update. - source: <20211111220048.1702896-1-calvinwan@google.com> +* ds/trace2-regions-in-tests (2021-11-29) 2 commits + (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 -* 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 + 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. + source: - 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/zdiff3 (2021-12-01) 2 commits + (merged to 'next' on 2021-12-07 at baa3b24593) + + update documentation for new zdiff3 conflictStyle + + xdiff: implement a zealous diff3, or "zdiff3" -* 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 + "Zealous diff3" style of merge conflict presentation has been added. + source: - "git rebase -x" added an unnecessary 'exec' instructions before - 'noop', which has been corrected. - source: +* es/doc-stdout-vs-stderr (2021-12-04) 1 commit + (merged to 'next' on 2021-12-07 at d6487c1256) + + CodingGuidelines: document which output goes to stdout vs. stderr -* 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 + Coding guideline document has been updated to clarify what goes to + standard error in our system. + source: <20211202223110.22062-1-sunshine@sunshineco.com> - Code clean-up to eventually allow information on remotes defined - for an arbitrary repository to be read. - source: <20211118005325.64971-1-chooglen@google.com> +* es/pretty-describe-more (2021-11-01) 3 commits + (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 -* 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 + Extend "git log --format=%(describe)" placeholder to allow passing + selected command-line options to the underlying "git describe" + command. + source: <20211031171510.1646396-1-eschwartz@archlinux.org> - Comment fix. - source: +* es/worktree-chatty-to-stderr (2021-12-04) 2 commits + (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 -* 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.) + "git worktree add" showed "Preparing worktree" message to the + standard output stream, but when it failed, the message from die() + went to the standard error stream. Depending on the order the + stdio streams are flushed at the program end, this resulted in + confusing output. It has been corrected by sending all the chatty + messages to the standard error stream. + source: <20211203034420.47447-1-sunshine@sunshineco.com> - A small simplification of API. - source: +* 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 -* 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 + Code clean-up. + source: <20211207183810.688481-1-e@80x24.org> - Redact the path part of packfile URI that appears in the trace output. - source: +* ew/test-wo-fsync (2021-10-29) 1 commit + (merged to 'next' on 2021-12-08 at 4b90e4870a) + + tests: disable fsync everywhere -* 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 + Allow running our tests while disabling fsync. + Received a lukewarm reactions overall. Perhaps we should drop instead? + source: <20211029001552.GA29647@dcvr> - Doc update. - source: <20211106184858.11500-1-jn.avila@free.fr> +* fs/test-prereq (2021-12-01) 3 commits + (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 -* 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 + The test framework learns to list unsatisfied test prerequisites, + and optionally error out when prerequisites that are expected to be + satisfied are not. + source: <20211201085315.576865-1-fs@gigacodes.de> - Doc update. - source: +* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits + (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 -* 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 + 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. + source: - "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: +* hn/reflog-tests (2021-12-02) 5 commits + (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 -* 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 + Prepare tests on ref API to help testing reftable backends. + source: - The "merge" subcommand of "git jump" (in contrib/) silently ignored - pathspec and other parameters. - source: +* hn/reftable (2021-10-08) 19 commits + (merged to 'next' on 2021-12-03 at 767ec5d9b3) + + Add "test-tool dump-reftable" command. + + reftable: add dump utility + + reftable: implement stack, a mutable database of reftable files. + + reftable: implement refname validation + + reftable: add merged table view + + reftable: add a heap-based priority queue for reftable records + + reftable: reftable file level tests + + reftable: read reftable files + + reftable: generic interface to tables + + reftable: write reftable files + + reftable: a generic binary tree implementation + + reftable: reading/writing blocks + + Provide zlib's uncompress2 from compat/zlib-compat.c + + reftable: (de)serialization for the polymorphic record type. + + reftable: add blocksource, an abstraction for random access reads + + reftable: utility functions + + reftable: add error related functionality + + reftable: add LICENSE + + hash.h: provide constants for the hash IDs + (this branch is used by hn/reftable-coverity-fixes.) -* 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 + The "reftable" backend for the refs API, without integrating into + the refs subsystem, has been added. + source: - Workaround for a false-alarm by gcc-11 - source: +* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit + (merged to 'next' on 2021-12-07 at 074438a4ba) + + t1404: mark directory/file conflict tests with REFFILES -* 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 + Test update. + source: - The "--date=format:" gained a workaround for the lack of - system support for a non-local timezone to handle "%s" placeholder. - source: +* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit + (merged to 'next' on 2021-12-08 at ba5693952d) + + refs: document callback for reflog-ent iterators -* 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 + Document the parameters given to the reflog entry iterator callback + functions. + source: - Test fix. - source: +* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit + (merged to 'next' on 2021-12-07 at 0ab3e72b4f) + + tests: set GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME only when needed -* 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() + 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. + source: - 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: +* re/color-default-reset (2021-10-28) 3 commits + (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 -* 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 + "default" and "reset" colors have been added to our palette. + Seems to have stalled, but I am OK to merge it as-is. + cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com> + source: + source: - Tighten code for testing pack-bitmap. - source: +* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit + (merged to 'next' on 2021-12-07 at 91039a781e) + + receive-pack: ignore SIGPIPE while reporting status to client -* js/ci-no-directional-formatting (2021-11-04) 1 commit - (merged to 'next' on 2021-12-02 at bc756bc586) - + ci: disallow directional formatting + When the "git push" command is killed while the receiving end is + trying to report what happened to the ref update proposals, the + latter used to die, due to SIGPIPE. The code now ignores SIGPIPE + to increase our chances to run the post-receive hook after it + happens. + source: <20211110092942.1648429-1-robin@jarry.cc> - CI has been taught to catch some Unicode directional formatting - sequence that can be used in certain mischief. - source: +* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit + (merged to 'next' on 2021-12-07 at 912c270b70) + + packfile: make `close_pack_revindex()` static -* 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 + Code clean-up. + source: - trace2 error code path fix. - source: <5a9e49e7f1540d762374382e1769edf112cf093f.1637272706.git.steadmon@google.com> +-------------------------------------------------- +[New Topics] +* es/chainlint (2021-12-13) 15 commits + (merged to 'next' on 2021-12-15 at 49b7a37334) + + chainlint.sed: stop splitting "(..." into separate lines "(" and "..." + + chainlint.sed: swallow comments consistently + + chainlint.sed: stop throwing away here-doc tags + + chainlint.sed: don't mistake `<< word` in string as here-doc operator + + chainlint.sed: make here-doc "<<-" operator recognition more POSIX-like + + chainlint.sed: drop subshell-closing ">" annotation + + chainlint.sed: drop unnecessary distinction between ?!AMP?! and ?!SEMI?! + + chainlint.sed: tolerate harmless ";" at end of last line in block + + chainlint.sed: improve ?!SEMI?! placement accuracy + + chainlint.sed: improve ?!AMP?! placement accuracy + + t/Makefile: optimize chainlint self-test + + t/chainlint/one-liner: avoid overly intimate chainlint.sed knowledge + + t/chainlint/*.test: generalize self-test commentary + + t/chainlint/*.test: fix invalid test cases due to mixing quote types + + t/chainlint/*.test: don't use invalid shell syntax + + The chainlint test script linter in the test suite has been updated. -* 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 + Will merge to 'master'. + source: <20211213063059.19424-1-sunshine@sunshineco.com> - Docfix. - source: <20211122184114.3328662-1-jonathantanmy@google.com> +* jh/p4-rcs-expansion-in-bytestring (2021-12-13) 4 commits + - git-p4: resolve RCS keywords in binary + - git-p4: add raw option to read_pipelines + - git-p4: pre-compile RCS keyword regexes + - git-p4: use with statements to close files after use in patchRCSKeywords -* 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 RCS keyword substitution in "git p4" used to be done assuming + that the contents are UTF-8 text, which can trigger decoding + errors. We now treat the contents as a bytestring for robustness + and correctness. - The code to decode the length of packed object size has been - corrected. - source: <20211110234033.3144165-1-jonathantanmy@google.com> + Will merge to 'next'? + source: <20211213225441.1865782-1-jholdsworth@nvidia.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 +* jz/apply-quiet-and-allow-empty (2021-12-13) 2 commits + (merged to 'next' on 2021-12-15 at e3f643eaa3) + + git-apply: add --allow-empty flag + + git-apply: add --quiet flag - "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: + "git apply" has been taught to ignore a message without a patch + with the "--allow-empty" option. It also learned to honor the + "--quiet" option given from the command line. + Will merge to 'master'. + source: <20211213220327.16042-2-jerry@skydio.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> +* ds/sparse-checkout-malformed-pattern-fix (2021-12-15) 3 commits + - sparse-checkout: refuse to add to bad patterns + - sparse-checkout: fix OOM error with mixed patterns + - sparse-checkout: fix segfault on malformed patterns + 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. - source: <5eabbe1c-4c0f-559a-da21-423afec89e7e@web.de> +* gc/branch-recurse-submodules (2021-12-15) 6 commits + - branch.c: replace questionable exit() codes + - branch: add --recurse-submodules option for branch creation + - builtin/branch: clean up action-picking logic in cmd_branch() + - branch: remove forward declaration of validate_branch_start() + - branch: move --set-upstream-to behavior to setup_tracking() + - Merge branch 'js/branch-track-inherit' into gc/branch-recurse-submodules + (this branch uses js/branch-track-inherit.) + source: <20211209184928.71413-1-chooglen@google.com> -* 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> +* jk/ssh-signing-doc-markup-fix (2021-12-15) 1 commit + - doc/config: mark ssh allowedSigners example as literal + source: -* 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> +* jv/use-larger-buffer-in-upload-pack (2021-12-15) 1 commit + - upload-pack.c: increase output buffer size + source: <20211214194626.33814-1-jacob@gitlab.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.) +-------------------------------------------------- +[Stalled] - Various operating modes of "git reset" have been made to work - better with the sparse index. - source: +* cb/save-term-across-editor-invocation (2021-12-01) 3 commits + - fixup! editor: allow for saving/restoring terminal state + - editor: allow for saving/restoring terminal state + - terminal: teach save_term to fail when not foreground + Some editors are reported to leave the terminal in funny state + after they exit on Windows. Work it around by saving and restoring + the terminal state when needed. -* 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 + Expecting a reroll. + cf. + source: <20211202035446.1154-1-carenas@gmail.com> - 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: +* 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() -* 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 + Rewrite of "git submodule update" in C. - 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: + Expecting a reroll? + cf. + source: <20211013051805.45662-10-raykar.ath@gmail.com> -------------------------------------------------- -[New Topics] +[Cooking] -* en/sparse-checkout-set (2021-12-08) 10 commits +* en/sparse-checkout-set (2021-12-15) 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 @@ -410,68 +468,63 @@ Release tarballs are available at: - 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: + Will merge to 'next'. + source: -* hn/reftable-coverity-fixes (2021-12-08) 13 commits +* hn/reftable-coverity-fixes (2021-12-15) 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: all xxx_free() functions accept NULL arguments - 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 resource leak in block.c 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: + Will merge to 'next'? + 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 + (merged to 'next' on 2021-12-15 at 6b40e01445) + + 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'. + Will merge to 'master'. source: -* tb/midx-bitmap-corruption-fix (2021-12-08) 2 commits +* tb/midx-bitmap-corruption-fix (2021-12-15) 9 commits + - fixup! midx: read `RIDX` chunk when present + - midx: read `RIDX` chunk when present + - t/lib-bitmap.sh: parameterize tests over reverse index source + - t5326: move tests to t/lib-bitmap.sh + - t5326: extract `test_rev_exists` + - t5326: drop unnecessary setup + - pack-revindex.c: instrument loading on-disk reverse index - 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: + source: -* es/test-chain-lint (2021-12-09) 19 commits +* es/test-chain-lint (2021-12-13) 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 @@ -494,71 +547,20 @@ Release tarballs are available at: Broken &&-chains in the test scripts have been corrected. - Will merge to 'next'? + 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 + - flex-array: simplify compiler-specific workaround - Instead of "$Id$", user-specified string (like $FreeBSD$) can be - used as an in-blob placeholder for keyword expansion. + The conditions to choose different definitions of the FLEX_ARRAY + macro for vendor compilers has been simplified to make it easier to + maintain. - Will discard. - Stalled for too long. - cf. - cf. <211101.86fssf3bn3.gmgdl@evledraar.gmail.com> - source: + Will merge to 'next'? + source: --------------------------------------------------- -[Cooking] * pw/fix-some-issues-in-reset-head (2021-12-08) 14 commits - rebase -m: don't fork git checkout @@ -596,40 +598,6 @@ Release tarballs are available at: source: <20211202102855.23907-1-jengelh@inai.de> -* es/doc-stdout-vs-stderr (2021-12-04) 1 commit - (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 'master'. - source: <20211202223110.22062-1-sunshine@sunshineco.com> - - -* tb/pack-revindex-on-disk-cleanup (2021-12-04) 1 commit - (merged to 'next' on 2021-12-07 at 912c270b70) - + packfile: make `close_pack_revindex()` static - - Code clean-up. - - Will merge to 'master'. - source: - - -* ds/sparse-deep-pattern-checkout-fix (2021-12-06) 2 commits - (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 'master'. - source: - - * en/name-rev-shorter-output (2021-12-04) 1 commit (merged to 'next' on 2021-12-10 at ae8ec3912f) + name-rev: prefer shorter names over following merges @@ -653,22 +621,6 @@ Release tarballs are available at: source: -* es/worktree-chatty-to-stderr (2021-12-04) 2 commits - (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() - went to the standard error stream. Depending on the order the - stdio streams are flushed at the program end, this resulted in - confusing output. It has been corrected by sending all the chatty - messages to the standard error stream. - - Will merge to 'master'. - source: <20211203034420.47447-1-sunshine@sunshineco.com> - - * ja/i18n-similar-messages (2021-12-05) 10 commits - i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom" - i18n: factorize "--foo outside a repository" @@ -688,32 +640,6 @@ Release tarballs are available at: source: -* js/test-initial-branch-override-cleanup (2021-12-05) 1 commit - (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 'master'. - source: - - -* ab/die-with-bug (2021-12-07) 4 commits - (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 'master'. - source: - - * ab/usage-die-message (2021-12-07) 6 commits - config API: use get_error_routine(), not vreportf() - usage.c + gc: add and use a die_message_errno() @@ -728,43 +654,26 @@ Release tarballs are available at: source: -* js/compat-util-msvc-flex-array (2021-12-06) 1 commit - - git-compat-util(msvc): C11 does not imply support for zero-sized arrays - - MSVC build started to break on flex arrays? - - Will merge to 'next'? - source: - - * ab/common-main-cleanup (2021-12-07) 1 commit - - common-main.c: call exit(), don't return + (merged to 'next' on 2021-12-15 at ff08c86f65) + + common-main.c: call exit(), don't return Code clean-up. - Will merge to 'next'? + Will merge to 'master'. source: * ab/fetch-set-upstream-while-detached (2021-12-07) 1 commit - - pull, fetch: fix segfault in --set-upstream option + (merged to 'next' on 2021-12-15 at d0406f880a) + + pull, fetch: fix segfault in --set-upstream option "git fetch --set-upstream" did not check if there is a current branch, leading to a segfault when it is run on a detached HEAD, which has been corrected. - Will merge to 'next'. - source: - - -* 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 - - Code clean-up. - Will merge to 'master'. - source: <20211207183810.688481-1-e@80x24.org> + source: * ab/cat-file (2021-12-08) 10 commits @@ -798,8 +707,7 @@ Release tarballs are available at: source: -* js/use-builtin-add-i (2021-12-08) 3 commits - - fixup! add -i: default to the built-in implementation +* js/use-builtin-add-i (2021-12-01) 2 commits - add -i: default to the built-in implementation - t2016: require the PERL prereq only when necessary @@ -813,16 +721,14 @@ Release tarballs are available at: source: -* jt/conditional-config-on-remote-url (2021-12-04) 2 commits +* jt/conditional-config-on-remote-url (2021-12-15) 2 commits - config: include file if remote URL matches a glob - config: make git_config_include() static The conditional inclusion mechanism of configuration files using "[includeIf ]" learns to base its decision on the URL of the remote repository the repository interacts with. - - Needs review. - source: + source: * tb/cruft-packs (2021-11-29) 17 commits @@ -853,20 +759,6 @@ Release tarballs are available at: source: -* cb/save-term-across-editor-invocation (2021-12-01) 3 commits - - fixup! editor: allow for saving/restoring terminal state - - editor: allow for saving/restoring terminal state - - terminal: teach save_term to fail when not foreground - - Some editors are reported to leave the terminal in funny state - after they exit on Windows. Work it around by saving and restoring - the terminal state when needed. - - Expecting a reroll. - cf. - source: <20211202035446.1154-1-carenas@gmail.com> - - * jk/log-decorate-opts-with-implicit-decorate (2021-12-01) 2 commits (merged to 'next' on 2021-12-10 at 80585b2755) + log: load decorations with --simplify-by-decoration @@ -909,150 +801,49 @@ Release tarballs are available at: source: -* ds/trace2-regions-in-tests (2021-11-29) 2 commits - (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 'master'. - source: - - -* hn/allow-bogus-oid-in-ref-tests (2021-12-07) 8 commits - (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 'master'. - source: - - -* hn/t1404-df-limitation-is-ref-files-only (2021-11-29) 1 commit - (merged to 'next' on 2021-12-07 at 074438a4ba) - + t1404: mark directory/file conflict tests with REFFILES - - Test update. - - Will merge to 'master'. - source: - - -* jc/reflog-iterator-callback-doc (2021-11-28) 1 commit - (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 'master'. - source: - - * jc/grep-patterntype-default-doc (2021-12-05) 1 commit (merged to 'next' on 2021-12-10 at e46385ad9d) - + grep: clarify what `grep.patternType=default` means - - Doc update. - - Will merge to 'master'. - source: - - -* ab/ci-updates (2021-11-23) 5 commits - (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 'master'. - source: - - -* 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() - - stash: do not attempt to remove startup_info->original_cwd - - rebase: do not attempt to remove startup_info->original_cwd - - clean: do not attempt to remove startup_info->original_cwd - - symlinks: do not include startup_info->original_cwd in dir removal - - unpack-trees: add special cwd handling - - unpack-trees: refuse to remove startup_info->original_cwd - - setup: introduce startup_info->original_cwd - - t2501: add various tests for removing the current working directory - - Many git commands that deal with working tree files try to remove a - directory that becomes empty (i.e. "git switch" from a branch that - has the directory to another branch that does not would attempt - remove all files in the directory and the directory itself). This - drops users into an unfamiliar situation if the command was run in - a subdirectory that becomes subject to removal due to the command. - The commands have been taught to keep an empty directory if it is - the directory they were started in to avoid surprising users. - - Will merge to 'next'? - source: - - -* ab/run-command (2021-11-25) 9 commits - (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 'master'. - cf. <211130.86k0gpcpy2.gmgdl@evledraar.gmail.com> - cf. - source: - - -* hn/reflog-tests (2021-12-02) 5 commits - (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 + + grep: clarify what `grep.patternType=default` means - Prepare tests on ref API to help testing reftable backends. + Doc update. Will merge to 'master'. - source: + source: + + +* 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() + - stash: do not attempt to remove startup_info->original_cwd + - rebase: do not attempt to remove startup_info->original_cwd + - clean: do not attempt to remove startup_info->original_cwd + - symlinks: do not include startup_info->original_cwd in dir removal + - unpack-trees: add special cwd handling + - unpack-trees: refuse to remove startup_info->original_cwd + - setup: introduce startup_info->original_cwd + - t2501: add various tests for removing the current working directory + + Many git commands that deal with working tree files try to remove a + directory that becomes empty (i.e. "git switch" from a branch that + has the directory to another branch that does not would attempt + remove all files in the directory and the directory itself). This + drops users into an unfamiliar situation if the command was run in + a subdirectory that becomes subject to removal due to the command. + The commands have been taught to keep an empty directory if it is + the directory they were started in to avoid surprising users. + Will merge to 'next'? + source: -* tl/ls-tree-oid-only (2021-11-22) 1 commit - - ls-tree.c: support `--oid-only` option for "git-ls-tree" + +* tl/ls-tree-oid-only (2021-12-15) 1 commit + - ls-tree.c: support `--object-only` option for "git-ls-tree" "git ls-tree" learns "--oid-only" option, similar to "--name-only". Expecting a reroll. - source: <6c15b4c176b7c03072fa59a4efd9f6fea7d62eae.1637567328.git.dyroneteng@gmail.com> + source: * ab/make-dependency (2021-11-18) 24 commits @@ -1118,20 +909,6 @@ Release tarballs are available at: source: <20211119150707.3924636-1-fs@gigacodes.de> -* fs/test-prereq (2021-12-01) 3 commits - (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 'master'. - source: <20211201085315.576865-1-fs@gigacodes.de> - - * pw/xdiff-classify-record-in-histogram (2021-12-04) 6 commits (merged to 'next' on 2021-12-07 at 8cdad7bc9a) + xdiff: drop unused flags parameter from recs_match @@ -1161,31 +938,6 @@ Release tarballs are available at: source: -* rj/receive-pack-avoid-sigpipe-during-status-reporting (2021-11-10) 1 commit - (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 - latter used to die, due to SIGPIPE. The code now ignores SIGPIPE - to increase our chances to run the post-receive hook after it - happens. - - Will merge to 'master'. - source: <20211110092942.1648429-1-robin@jarry.cc> - - -* ab/parse-options-cleanup (2021-11-10) 1 commit - (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 'master'. - source: - - * jc/c99-var-decl-in-for-loop (2021-12-03) 1 commit (merged to 'next' on 2021-12-03 at 57100223b2) + revision: use C99 declaration of variable in for() loop @@ -1220,56 +972,6 @@ Release tarballs are available at: source: <20211201221547.1796213-1-andersk@mit.edu> -* ab/mark-leak-free-tests-even-more (2021-11-01) 15 commits - (merged to 'next' on 2021-12-03 at 1d8c342dab) - + leak tests: mark some fast-import tests as passing with SANITIZE=leak - + leak tests: mark some config tests as passing with SANITIZE=leak - + leak tests: mark some status tests as passing with SANITIZE=leak - + leak tests: mark some clone tests as passing with SANITIZE=leak - + leak tests: mark some add tests as passing with SANITIZE=leak - + leak tests: mark some diff tests as passing with SANITIZE=leak - + leak tests: mark some apply tests as passing with SANITIZE=leak - + leak tests: mark some notes tests as passing with SANITIZE=leak - + leak tests: mark some update-index tests as passing with SANITIZE=leak - + leak tests: mark some rev-parse tests as passing with SANITIZE=leak - + leak tests: mark some rev-list tests as passing with SANITIZE=leak - + leak tests: mark some misc tests as passing with SANITIZE=leak - + leak tests: mark most gettext tests as passing with SANITIZE=leak - + leak tests: mark "sort" test as passing SANITIZE=leak - + leak tests: mark a read-tree test as passing SANITIZE=leak - - More tests are marked as leak-free. - - Will merge to 'master'. - source: - - -* ew/test-wo-fsync (2021-10-29) 1 commit - (merged to 'next' on 2021-12-08 at 4b90e4870a) - + tests: disable fsync everywhere - - Allow running our tests while disabling fsync. - - Will merge to 'master'. - Received a lukewarm reactions overall. Perhaps we should drop instead? - source: <20211029001552.GA29647@dcvr> - - -* re/color-default-reset (2021-10-28) 3 commits - (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 'master'. - Seems to have stalled, but I am OK to merge it as-is. - cf. <881B4747-B0B5-459B-B673-06972275A8B8@gmail.com> - source: - source: - - * pw/diff-color-moved-fix (2021-12-09) 15 commits - diff --color-moved: intern strings - diff: use designated initializers for emitted_diff_symbol @@ -1289,24 +991,10 @@ Release tarballs are available at: Correctness and performance update to "diff --color-moved" feature. - Will merge to 'next'? + Will merge to 'next'. source: -* es/pretty-describe-more (2021-11-01) 3 commits - (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 'master'. - source: <20211031171510.1646396-1-eschwartz@archlinux.org> - - * 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 @@ -1370,18 +1058,16 @@ Release tarballs are available at: source: -* js/branch-track-inherit (2021-12-07) 2 commits - . branch: add flags and config to inherit tracking - . branch: accept multiple upstream branches for tracking +* js/branch-track-inherit (2021-12-15) 3 commits + - config: require lowercase for branch.autosetupmerge + - 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. - source: + source: * jh/builtin-fsmonitor-part2 (2021-10-21) 29 commits @@ -1441,28 +1127,6 @@ Release tarballs are available at: source: -* 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 - - merge-ort: capture and print ll-merge warnings in our preferred fashion - - ll-merge: add API for capturing warnings in a strbuf instead of stderr - - merge-ort: add ability to record conflict messages in a file - - merge-ort: mark a few more conflict messages as omittable - - Merge branch 'ns/tmp-objdir' into ns/remerge-diff - (this branch uses ns/tmp-objdir.) - - A new presentation for two-parent merge "--remerge-diff" can be - used to show the difference between mechanical (and possibly - conflicted) merge results and the recorded resolution. - - Expecting a reroll. - cf. - This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the - "create objects temporarily, only to discard without committing - them to longer-term storage" infrastructure with another topic. - - * 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 @@ -1490,36 +1154,6 @@ Release tarballs are available at: source: <20211117005701.371808-1-emilyshaffer@google.com> -* 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 - - update-index: use the bulk-checkin infrastructure - - core.fsyncobjectfiles: add windows support for batch mode - - core.fsyncobjectfiles: batched disk flushes - - bulk-checkin: rename 'state' variable and separate 'plugged' boolean - - Merge branch 'ns/tmp-objdir' into ns/batched-fsync - (this branch uses ns/tmp-objdir.) - - The "core.fsyncobjectfiles" configuration variable can now be set - to "batch" for improved performance. - - Expecting a reroll. - cf. - source: - - -* en/zdiff3 (2021-12-01) 2 commits - (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 'master'. - source: - - * js/scalar (2021-12-04) 15 commits (merged to 'next' on 2021-12-10 at 6248603a80) + scalar: implement the `version` command @@ -1562,36 +1196,6 @@ Release tarballs are available at: review or at least Acks from past commentors. source: - -* hn/reftable (2021-10-08) 19 commits - (merged to 'next' on 2021-12-03 at 767ec5d9b3) - + Add "test-tool dump-reftable" command. - + reftable: add dump utility - + reftable: implement stack, a mutable database of reftable files. - + reftable: implement refname validation - + reftable: add merged table view - + reftable: add a heap-based priority queue for reftable records - + reftable: reftable file level tests - + reftable: read reftable files - + reftable: generic interface to tables - + reftable: write reftable files - + reftable: a generic binary tree implementation - + reftable: reading/writing blocks - + Provide zlib's uncompress2 from compat/zlib-compat.c - + reftable: (de)serialization for the polymorphic record type. - + reftable: add blocksource, an abstraction for random access reads - + reftable: utility functions - + reftable: add error related functionality - + reftable: add LICENSE - + hash.h: provide constants for the hash IDs - (this branch is used by hn/reftable-coverity-fixes.) - - The "reftable" backend for the refs API, without integrating into - the refs subsystem, has been added. - - Will merge to 'master'. - source: - -------------------------------------------------- [Discarded] @@ -1603,3 +1207,89 @@ Release tarballs are available at: Superseded by the ab/fetch-set-upstream-while-detached topic source: <20210706162238.575988-1-clemens@endorphin.org> + + +* js/compat-util-msvc-flex-array (2021-12-06) 1 commit + . git-compat-util(msvc): C11 does not imply support for zero-sized arrays + + MSVC build started to break on flex arrays? + + It seems that there is no breakage in the toolchain; the code was buggy. + source: + + +* 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 + . update-index: use the bulk-checkin infrastructure + . core.fsyncobjectfiles: add windows support for batch mode + . core.fsyncobjectfiles: batched disk flushes + . bulk-checkin: rename 'state' variable and separate 'plugged' boolean + . Merge branch 'ns/tmp-objdir' into ns/batched-fsync + (this branch uses ns/tmp-objdir.) + + The "core.fsyncobjectfiles" configuration variable can now be set + to "batch" for improved performance. + + cf. 20211211034452.GA15683@neerajsi-x1.localdomain + source: + + +* 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 + . merge-ort: capture and print ll-merge warnings in our preferred fashion + . ll-merge: add API for capturing warnings in a strbuf instead of stderr + . merge-ort: add ability to record conflict messages in a file + . merge-ort: mark a few more conflict messages as omittable + . Merge branch 'ns/tmp-objdir' into ns/remerge-diff + (this branch uses ns/tmp-objdir.) + + A new presentation for two-parent merge "--remerge-diff" can be + used to show the difference between mechanical (and possibly + conflicted) merge results and the recorded resolution. + + cf. + This is Elijah's remerge-diff rebased on ns/tmp-objdir to share the + "create objects temporarily, only to discard without committing + them to longer-term storage" infrastructure with another topic. + + +* 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: + + +* jc/make-test-all (2021-12-13) 2 commits + . WIP to add "test-extra-clean" + . Makefile: add test-all target + + "make test" target in subdirectories of contrib/ are now exercised + in CI tests. + 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). + + Superseded by jh/p4-rcs-expansion-in-bytestring topic, leaving + the "drop Python-2 support" for a separate topic in the future. + source: <20211209201029.136886-1-jholdsworth@nvidia.com>