From: Junio C Hamano Date: Thu, 26 May 2022 00:53:36 +0000 (-0700) Subject: What's cooking (2022/05 #07) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f532eea27229dd8d87c3114a2ddc02ba18310040;p=thirdparty%2Fgit.git What's cooking (2022/05 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 82794105a1..848fd5433c 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 (May 2022, #06; Fri, 20) -X-master-at: f9b95943b68b6b8ca5a6072f50a08411c6449b55 -X-next-at: 6924ef9a07fd4d97a8c929a0a7cbd41bd72df37e +Subject: What's cooking in git.git (May 2022, #07; Wed, 25) +X-master-at: 6afdb07b7b918ed9282ea6e955f53369df862be8 +X-next-at: c4f0e309ae745751d08727f24e8ff55e56355755 -What's cooking in git.git (May 2022, #06; Fri, 20) +What's cooking in git.git (May 2022, #07; Wed, 25) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -14,7 +14,7 @@ future release). Commits prefixed with '-' are only in 'seen', and aren't considered "accepted" at all. This cycle will conclude in early July (https://tinyurl.com/gitCal); -we have just finished the week #4 of the cycle. +we are in the week #5 of the cycle. Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into or their mirrors. Some @@ -47,331 +47,288 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ah/convert-warning-message (2022-04-08) 1 commit - (merged to 'next' on 2022-05-12 at a9f8f32904) - + convert: clarify line ending conversion warning - - Update a few end-user facing messages around eol conversion. - source: <20220408044154.9947-1-alexhenrie24@gmail.com> - - -* cb/ci-make-p4-optional (2022-05-12) 4 commits - (merged to 'next' on 2022-05-13 at 7e84679e2a) - + ci: use https, not http to download binaries from perforce.com - + ci: reintroduce prevention from perforce being quarantined in macOS - + ci: avoid brew for installing perforce - + ci: make failure to find perforce more user friendly - - macOS CI jobs have been occasionally flaky due to tentative version - skew between perforce and the homebrew packager. Instead of - failing the whole CI job, just let it skip the p4 tests when this - happens. - source: <20220512223940.238367-1-gitster@pobox.com> - - -* cd/bisect-messages-from-pre-flight-states (2022-05-11) 2 commits - (merged to 'next' on 2022-05-12 at 0e6072fb45) - + bisect: output bisect setup status in bisect log - + bisect: output state before we are ready to compute bisection - - "git bisect" was too silent before it is ready to start computing - the actual bisection, which has been corrected. - source: - - -* cg/vscode-with-gdb (2022-04-08) 1 commit - (merged to 'next' on 2022-05-12 at 2635bf0c8c) - + contrib/vscode/: debugging with VS Code and gdb - - VS code configuration updates. - source: <20220407204001.112287-2-cogoni.guillaume@gmail.com> - - -* ds/do-not-call-bug-on-bad-refs (2022-04-25) 1 commit - (merged to 'next' on 2022-05-12 at af4d003dfb) - + clone: die() instead of BUG() on bad refs - - Code clean-up. - source: - - -* ds/sparse-colon-path (2022-04-26) 5 commits - (merged to 'next' on 2022-05-13 at f1740d248a) - + rev-parse: integrate with sparse index - + object-name: diagnose trees in index properly - + object-name: reject trees found in the index - + show: integrate with the sparse index - + t1092: add compatibility tests for 'git show' - - "git show :" learned to work better with the sparse-index - feature. - source: - - -* ep/equals-null-cocci (2022-05-02) 2 commits - (merged to 'next' on 2022-05-13 at a8de51ce7a) - + tree-wide: apply equals-null.cocci - + Merge branch 'ep/maint-equals-null-cocci' into ep/equals-null-cocci - (this branch uses ep/maint-equals-null-cocci.) +* ab/commit-plug-leaks (2022-05-12) 1 commit + (merged to 'next' on 2022-05-16 at 00bcda44af) + + commit: fix "author_ident" leak - Merges up ep/maint-equals-null-cocci to the current codebase. + Leakfix in the top-level called-once function. + source: -* ep/maint-equals-null-cocci (2022-05-02) 4 commits - (merged to 'next' on 2022-05-13 at 022e914848) - + tree-wide: apply equals-null.cocci - + Merge branch 'ep/maint-equals-null-cocci' for maint-2.35 - + tree-wide: apply equals-null.cocci - + contrib/coccinnelle: add equals-null.cocci - (this branch is used by ep/equals-null-cocci.) +* ab/valgrind-fixes (2022-05-12) 4 commits + (merged to 'next' on 2022-05-16 at 75d760528f) + + commit-graph.c: don't assume that stat() succeeds + + object-file: fix a unpack_loose_header() regression in 3b6a8db3b03 + + log test: skip a failing mkstemp() test under valgrind + + tests: using custom GIT_EXEC_PATH breaks --valgrind tests + (this branch is used by ds/object-file-unpack-loose-header-fix.) - Introduce and apply coccinelle rule to discourage an explicit - comparison between a pointer and NULL, and applies the clean-up to - the maintenance track. + A bit of test framework fixes with a few fixes to issues found by + valgrind. + source: <20220512223218.237544-1-gitster@pobox.com> -* gc/pull-recurse-submodules (2022-05-11) 1 commit - (merged to 'next' on 2022-05-12 at fe15c34c7a) - + pull: do not let submodule.recurse override fetch.recurseSubmodules +* ep/coverage-report-wants-test-to-have-run (2022-04-13) 1 commit + (merged to 'next' on 2022-05-18 at e4a51b0867) + + Makefile: add a prerequisite to the coverage-report target - "git pull" without "--recurse-submodules=" made - submodule.recurse take precedence over fetch.recurseSubmodules by - mistake, which has been corrected. - source: + "make coverage-report" without first running "make coverage" did + not produce any meaningful result, which has been corrected. + source: <20220414022513.31465-1-gitter.spiros@gmail.com> -* gf/shorthand-version-and-help (2022-03-31) 1 commit - (merged to 'next' on 2022-05-12 at 54ca8b25e0) - + cli: add -v and -h shorthands +* jc/archive-add-file-normalize-mode (2022-05-12) 1 commit + (merged to 'next' on 2022-05-16 at 265bb02f2a) + + archive: do not let on-disk mode leak to zip archives - "git -v" and "git -h" are now understood as "git --version" and - "git --help". - source: <20220331212709.36036-1-garrit@slashdev.space> + "git archive --add-file=" picked up the raw permission bits + from the path and propagated to zip output in some cases, without + normalization, which has been corrected (tar output did not have + this issue). + source: -* gf/unused-includes (2022-04-06) 2 commits - (merged to 'next' on 2022-05-12 at 690a2d8976) - + apply.c: remove unnecessary include - + serve.c: remove unnecessary include +* jc/avoid-redundant-submodule-fetch (2022-05-18) 1 commit + (merged to 'next' on 2022-05-19 at 11dabe678b) + + fetch: do not run a redundant fetch from submodule - Remove unused includes. - source: <20220331194436.58005-1-garrit@slashdev.space> + "git fetch --recurse-submodules" from multiple remotes (either from + a remote group, or "--all") used to make one extra "git fetch" in + the submodules, which has been corrected. + source: -* jc/update-ozlabs-url (2022-05-11) 1 commit - (merged to 'next' on 2022-05-12 at d6b14040b6) - + SubmittingPatches: use more stable git.ozlabs.org URL +* jc/show-branch-g-current (2022-04-21) 1 commit + (merged to 'next' on 2022-05-18 at 870a1a1a71) + + show-branch: -g and --current are incompatible - Update URL to the gitk repository. + The "--current" option of "git show-branch" should have been made + incompatible with the "--reflog" mode, but this was not enforced, + which has been corrected. + source: -* js/trace2-doc-fixes (2022-05-04) 6 commits - (merged to 'next' on 2022-05-12 at b37c6a8c2e) - + trace2 docs: add missing full stop - + trace2 docs: clarify what `varargs` is all about - + trace2 docs: fix a JSON formatted example - + trace2 docs: surround more terms in backticks - + trace2 docs: "printf" is not an English word - + trace2 docs: a couple of grammar fixes +* jt/fetch-peek-optional-section (2022-05-16) 1 commit + (merged to 'next' on 2022-05-18 at bc876bd2cf) + + fetch-pack: make unexpected peek result non-fatal - Trace2 documentation updates. - source: + "git fetch" unnecessarily failed when an unexpected optional + section appeared in the output, which has been corrected. + source: <20220516110221.3490982-1-jonathantanmy@google.com> -* kf/p4-multiple-remotes (2022-03-21) 1 commit - (merged to 'next' on 2022-05-12 at 447ed8ee3e) - + git-p4: fix issue with multiple perforce remotes +* os/fetch-check-not-current-branch (2022-05-16) 1 commit + (merged to 'next' on 2022-05-19 at f48dca6322) + + fetch: limit shared symref check only for local branches - "git p4" update. - source: + The way "git fetch" without "--update-head-ok" ensures that HEAD in + no worktree points at any ref being updated was too wasteful, which + has been optimized a bit. + source: -* km/t3501-use-test-helpers (2022-04-06) 1 commit - (merged to 'next' on 2022-05-12 at 66c5cd1c32) - + t3501: remove test -f and stop ignoring git exit code +* pb/ggg-in-mfc-doc (2022-05-12) 5 commits + (merged to 'next' on 2022-05-19 at e1c148492f) + + MyFirstContribution: drop PR description for GGG single-patch contributions + + MyFirstContribution: reference "The cover letter" in GitGitGadget section + + MyFirstContribution: reference "The cover letter" in "Preparing Email" + + MyFirstContribution: add standalone section on cover letter + + MyFirstContribution: add "Anatomy of a Patch Series" section - Test script updates. - source: <20220405134742.17526-2-khalid.masum.92@gmail.com> + Documentation update. + source: -* mg/detect-compiler-in-c-locale (2022-05-09) 1 commit - (merged to 'next' on 2022-05-12 at 58c7d6e461) - + detect-compiler: make detection independent of locale +* tb/receive-pack-code-cleanup (2022-05-18) 1 commit + (merged to 'next' on 2022-05-19 at 756d64f5a2) + + builtin/receive-pack.c: remove redundant 'if' - Build procedure fixup. - source: + Code clean-up. + source: +-------------------------------------------------- +[New Topics] -* mv/log-since-as-filter (2022-04-23) 1 commit - (merged to 'next' on 2022-05-12 at dc93e4e93a) - + log: "--since-as-filter" option is a non-terminating "--since" variant +* ds/bundle-uri-more (2022-05-20) 24 commits + - t5601: basic bundle URI tests + - clone: unbundle the advertised bundles + - bundle-uri: download bundles from an advertised list + - bundle-uri: allow relative URLs in bundle lists + - bundle-uri client: add boolean transfer.bundleURI setting + - bundle-uri: serve URI advertisement from bundle.* config + - bundle-uri client: add "git ls-remote-bundle-uri" + - bundle-uri client: add minimal NOOP client + - protocol v2: add server-side "bundle-uri" skeleton + - bundle-uri: fetch a list of bundles + - bundle-uri: parse bundle list in config format + - bundle-uri: limit recursion depth for bundle lists + - bundle-uri: unit test "key=value" parsing + - bundle-uri: create "key=value" line parsing + - bundle-uri: create base key-value pair parsing + - bundle-uri: create bundle_list struct and helpers + - clone: --bundle-uri cannot be combined with --depth + - clone: add --bundle-uri option + - fetch: add 'refs/bundle/' to log.excludeDecoration + - fetch: add --bundle-uri option + - bundle-uri: add support for http(s):// and file:// + - bundle-uri: create basic file-copy logic + - remote-curl: add 'get' capability + - docs: document bundle URI standard + (this branch uses ds/bundle-uri.) - "git log --since=X" will stop traversal upon seeing a commit that - is older than X, but there may be commits behind it that is younger - than X when the commit was created with a faulty clock. A new - option is added to keep digging without stopping, and instead - filter out commits with timestamp older than X. - source: + source: + source: -* pb/submodule-recurse-mode-enum (2022-04-06) 1 commit - (merged to 'next' on 2022-05-12 at 1164a4c9b7) - + submodule.h: use a named enum for RECURSE_SUBMODULES_* +* jc/revert-show-parent-info (2022-05-23) 1 commit + - revert: optionally refer to commit in the "reference" format - Small code clean-up. - source: + source: -* rs/external-diff-tempfile (2022-04-20) 2 commits - (merged to 'next' on 2022-05-12 at b357b518b3) - + diff: use mks_tempfile_dt() - + tempfile: add mks_tempfile_dt() +* jc/http-clear-finished-pointer (2022-05-24) 1 commit + - http.c: clear the 'finished' member once we are done with it - The temporary files fed to external diff command are now generated - inside a new temporary directory under the same basename. - source: <2ad1dd80-e79f-7304-219c-db24bb269c4d@web.de> + Meant to go with js/ci-gcc-12-fixes + Will merge to 'next'? + source: -* rs/t7812-pcre2-ws-bug-test (2022-04-11) 1 commit - (merged to 'next' on 2022-05-12 at 0e0ce3b493) - + t7812: test PCRE2 whitespace bug - A test to ensure workaround for an earlier pcre2 bug does work. - source: <3a49649d-8ff9-e5a7-e3fd-33fee5068ae8@web.de> +* js/ci-gcc-12-fixes (2022-05-24) 3 commits + - dir.c: avoid "exceeds maximum object size" error with GCC v12.x + - nedmalloc: avoid new compile error + - compat/win32/syslog: fix use-after-realloc + Fixes real problems noticed by gcc 12 and works around false + positives. -* sa/t1011-use-helpers (2022-04-12) 1 commit - (merged to 'next' on 2022-05-12 at 5bed8531e3) - + t1011: replace test -f with test_path_is_file + Will merge to 'next'? + source: - A GSoC practice. - source: <20220412203722.10484-1-siddharthasthana31@gmail.com> +* kl/setup-in-unreadable-worktree (2022-05-24) 1 commit + - setup: don't die if realpath(3) fails on getcwd(3) -* sg/safe-directory-tests-and-docs (2022-04-27) 3 commits - (merged to 'next' on 2022-05-12 at 2a6a11d6bf) - + safe.directory: document and check that it's ignored in the environment - + t0033-safe-directory: check when 'safe.directory' is ignored - + t0033-safe-directory: check the error message without matching the trash dir + Disable the "do not remove the directory the user started Git in" + logic when Git cannot tell where that directory is. Earlier we + refused to run in such a case. - New tests for the safe.directory mechanism. - source: <20220427170649.4949-1-szeder.dev@gmail.com> + Will merge to 'next'. + source: <8b20840014d214023c50ee62439147f798e6f9cc.1653419993.git.kevin@kevinlocke.name> -* tk/p4-metadata-coding-strategies (2022-05-04) 1 commit - (merged to 'next' on 2022-05-13 at d083cc3ff0) - + git-p4: improve encoding handling to support inconsistent encodings +* pb/use-freebsd-12.3-in-cirrus-ci (2022-05-25) 1 commit + - ci: update Cirrus-CI image to FreeBSD 12.3 - "git p4" updates. - source: + Update the version of FreeBSD image used in Cirrus CI. + Will merge to 'next'. + source: <20220525125112.86954-1-levraiphilippeblain@gmail.com> -* tk/p4-utf8-bom (2022-04-06) 1 commit - (merged to 'next' on 2022-05-12 at 7bb2e70e7b) - + git-p4: preserve utf8 BOM when importing from p4 to git - "git p4" update. - source: +* yw/cmake-updates (2022-05-24) 3 commits + - cmake: remove (_)UNICODE def on Windows in CMakeLists.txt + - cmake: add pcre2 support + - cmake: fix CMakeLists.txt on Linux + CMake updates. -* tk/p4-with-explicity-sync (2022-04-06) 1 commit - (merged to 'next' on 2022-05-12 at 81e662edae) - + git-p4: support explicit sync of arbitrary existing git-p4 refs + Will merge to 'next'? + source: - "git p4" update. - source: +* sg/build-gitweb (2022-05-25) 1 commit + - Makefile: build 'gitweb' in the default target -* vd/sparse-stash (2022-05-10) 6 commits - (merged to 'next' on 2022-05-13 at 0f52519a0e) - + unpack-trees: preserve index sparsity - + stash: apply stash using 'merge_ort_nonrecursive()' - + read-cache: set sparsity when index is new - + sparse-index: expose 'is_sparse_index_allowed()' - + stash: integrate with sparse index - + stash: expand sparse-checkout compatibility testing + "make all" should but didn't build "gitweb". - Teach "git stash" to work better with sparse index entries. - source: + Will merge to 'next'. + source: <20220525205651.825669-1-szeder.dev@gmail.com> -------------------------------------------------- -[New Topics] - -* jc/avoid-redundant-submodule-fetch (2022-05-18) 1 commit - (merged to 'next' on 2022-05-19 at 11dabe678b) - + fetch: do not run a redundant fetch from submodule - - "git fetch --recurse-submodules" from multiple remotes (either from - a remote group, or "--all") used to make one extra "git fetch" in - the submodules, which has been corrected. - - Will merge to 'master'. - source: - - -* tb/receive-pack-code-cleanup (2022-05-18) 1 commit - (merged to 'next' on 2022-05-19 at 756d64f5a2) - + builtin/receive-pack.c: remove redundant 'if' - - Code clean-up. - - Will merge to 'master'. - source: - - -* cb/path-owner-check-with-sudo-plus (2022-05-12) 1 commit - - git-compat-util: allow root to access both SUDO_UID and root owned - (this branch uses cb/path-owner-check-with-sudo.) - - "sudo git foo" used to consider a repository owned by the original - user a safe one to access; it now also considers a repository owned - by root a safe one, too (after all, if an attacker can craft a - malicious repository owned by root, the box is 0wned already). - source: <20220513010020.55361-1-carenas@gmail.com> - - -* jc/t6424-failing-merge-preserve-local-changes (2022-05-19) 1 commit - - t6424: make sure a failed merge preserves local changes +[Stalled] - The tests that ensured merges stop when interfering local changes - are present did not make sure that local changes are preserved; now - they do. +* en/merge-tree (2022-02-23) 13 commits + - git-merge-tree.txt: add a section on potentional usage mistakes + - merge-tree: add a --allow-unrelated-histories flag + - merge-tree: allow `ls-files -u` style info to be NUL terminated + - merge-tree: provide easy access to `ls-files -u` style info + - merge-tree: provide a list of which files have conflicts + - merge-ort: provide a merge_get_conflicted_files() helper function + - merge-tree: support including merge messages in output + - merge-ort: split out a separate display_update_messages() function + - merge-tree: implement real merges + - merge-tree: add option parsing and initial shell for real merge function + - merge-tree: move logic for existing merge into new function + - merge-tree: rename merge_trees() to trivial_merge_trees() + - Merge branch 'en/remerge-diff' into en/merge-trees - Will merge to 'next'. - source: + A new command is introduced that takes two commits and computes a + tree that would be contained in the resulting merge commit, if the + histories leading to these two commits were to be merged, and is + added as a new mode of "git merge-tree" subcommand. + On hold. + cf. + source: -* tb/geom-repack-with-keep-and-max (2022-05-20) 3 commits - - builtin/repack.c: ensure that `names` is sorted - - t7703: demonstrate object corruption with pack.packSizeLimit - - repack: respect --keep-pack with geometric repack - source: +* ab/ci-github-workflow-markup (2022-05-22) 12 commits + . fixup! ci: make it easier to find failed tests' logs in the GitHub workflow + . ci: call `finalize_test_case_output` a little later + . ci: use `--github-workflow-markup` in the GitHub workflow + . ci: optionally mark up output in the GitHub workflow + . test(junit): avoid line feeds in XML attributes + . tests: refactor --write-junit-xml code + . ci: make it easier to find failed tests' logs in the GitHub workflow + . CI: stop setting FAILED_TEST_ARTIFACTS N times + . CI: don't include "test-results/" in ci/print-test-failures.sh output + . CI: add --exit-code to ci/print-test-failures.sh + . CI: don't "cd" in ci/print-test-failures.sh + . Merge branch 'ab/ci-setup-simplify' into ab/ci-github-workflow-markup + (this branch uses ab/ci-setup-simplify.) --------------------------------------------------- -[Stalled] + Build a moral equivalent of js/ci-github-workflow-markup on top of + ab/ci-setup-simplify. + source: -* js/bisect-in-c (2022-02-23) 14 commits - - bisect: no longer try to clean up left-over `.git/head-name` files - - bisect: remove Cogito-related code - - bisect: turn `git bisect` into a full built-in - - bisect: move even the option parsing to `bisect--helper` - - bisect--helper: return only correct exit codes in `cmd_*()` - - bisect--helper: move the `BISECT_STATE` case to the end - - bisect--helper: make `--bisect-state` optional - - bisect--helper: align the sub-command order with git-bisect.sh - - bisect--helper: using `--bisect-state` without an argument is a bug - - bisect--helper: really retire `--bisect-autostart` - - bisect--helper: really retire --bisect-next-check - - bisect--helper: retire the --no-log option - - bisect: avoid double-quoting when printing the failed command - - bisect run: fix the error message - Final bits of "git bisect.sh" have been rewritten in C. +* ab/ci-setup-simplify (2022-04-21) 29 commits + . CI: make it easy to use ci/*.sh outside of CI + . CI: don't use "set -x" in "ci/lib.sh" output + . CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" case + . CI: set SANITIZE=leak in MAKEFLAGS directly + . CI: set CC in MAKEFLAGS directly, don't add it to the environment + . CI: add more variables to MAKEFLAGS, except under vs-build + . CI: narrow down variable definitions in --build and --test + . CI: only invoke ci/lib.sh as "steps" in main.yml + . CI: pre-select test slice in Windows & VS tests + . ci/run-test-slice.sh: replace shelling out with "echo" + . CI: move "env" definitions into ci/lib.sh + . CI: combine ci/install{,-docker}-dependencies.sh + . CI: split up and reduce "ci/test-documentation.sh" + . CI: invoke "make artifacts-tar" directly in windows-build + . CI: check ignored unignored build artifacts in "win[+VS] build" too + . CI: make ci/{lib,install-dependencies}.sh POSIX-compatible + . CI: remove "run-build-and-tests.sh", run "make [test]" directly + . CI: export variables via a wrapper + . CI: consistently use "export" in ci/lib.sh + . CI: move p4 and git-lfs variables to ci/install-dependencies.sh + . CI: have "static-analysis" run "check-builtins", not "documentation" + . CI: have "static-analysis" run a "make ci-static-analysis" target + . CI: don't have "git grep" invoke a pager in tree content check + . CI/lib.sh: stop adding leading whitespace to $MAKEFLAGS + . CI: remove unused Azure ci/* code + . CI: remove dead "tree skipping" code + . CI: remove more dead Travis CI support + . CI: make "$jobname" explicit, remove fallback + . CI: run "set -ex" early in ci/lib.sh + (this branch is used by ab/ci-github-workflow-markup.) - Will discard, as it has been stalled for way too long. - cf. <220225.86ilt27uln.gmgdl@evledraar.gmail.com> - source: + Drive more actions done in CI via the Makefile instead of shell + commands sprinkled in .github/workflows/main.yml + source: * et/xdiff-indirection (2022-02-17) 1 commit @@ -385,25 +342,6 @@ Release tarballs are available at: source: <20220217225408.GB7@edef91d97c94> -* js/ci-github-workflow-markup (2022-03-01) 9 commits - - ci: call `finalize_test_case_output` a little later - - ci: use `--github-workflow-markup` in the GitHub workflow - - ci: optionally mark up output in the GitHub workflow - - test(junit): avoid line feeds in XML attributes - - tests: refactor --write-junit-xml code - - ci/run-build-and-tests: add some structure to the GitHub workflow output - - ci: make it easier to find failed tests' logs in the GitHub workflow - - ci/run-build-and-tests: take a more high-level view - - ci: fix code style - - Update the GitHub workflow support to make it quicker to get to the - failing test. - - Expecting a reroll. - cf. <52382f7c-5b6a-63b6-2eb2-26c12f31f529@gmail.com> - source: - - * bc/stash-export (2022-04-08) 4 commits - builtin/stash: provide a way to import stashes from a ref - builtin/stash: provide a way to export stashes to a ref @@ -445,34 +383,109 @@ Release tarballs are available at: . introduce submodule.hasSuperproject record . t7400-submodule-basic: modernize inspect() helper - A configuration variable in a repository tells if it is (or is not) - a submodule of a superproject. + A configuration variable in a repository tells if it is (or is not) + a submodule of a superproject. + + Will discard, as it has been stalled for way too long. + cf. + source: <20220310004423.2627181-1-emilyshaffer@google.com> + + +* cw/remote-object-info (2022-05-06) 11 commits + - SQUASH??? coccicheck + - SQUASH??? ensure that coccicheck is happy + - SQUASH??? compilation fix + - cat-file: add --batch-command remote-object-info command + - cat-file: move parse_cmd and DEFAULT_FORMAT up + - transport: add object-info fallback to fetch + - transport: add client side capability to request object-info + - object-info: send attribute packet regardless of object ids + - object-store: add function to free object_info contents + - fetch-pack: move fetch default settings + - fetch-pack: refactor packet writing + + A client component to talk with the object-info endpoint. + + Expecting a reroll. + source: <20220502170904.2770649-1-calvinwan@google.com> + +-------------------------------------------------- +[Cooking] + +* js/ci-github-workflow-markup (2022-05-21) 12 commits + - ci: call `finalize_test_case_output` a little later + - ci(github): mention where the full logs can be found + - ci: use `--github-workflow-markup` in the GitHub workflow + - ci(github): avoid printing test case preamble twice + - ci(github): skip the logs of the successful test cases + - ci: optionally mark up output in the GitHub workflow + - ci/run-build-and-tests: add some structure to the GitHub workflow output + - ci: make it easier to find failed tests' logs in the GitHub workflow + - ci/run-build-and-tests: take a more high-level view + - test(junit): avoid line feeds in XML attributes + - tests: refactor --write-junit-xml code + - ci: fix code style + + Update the GitHub workflow support to make it quicker to get to the + failing test. + + Will merge to 'next'? + source: + + +* js/bisect-in-c (2022-05-21) 15 commits + - bisect: no longer try to clean up left-over `.git/head-name` files + - bisect: remove Cogito-related code + - Turn `git bisect` into a full built-in + - bisect: teach the `bisect--helper` command to show the correct usage strings + - bisect: move even the command-line parsing to `bisect--helper` + - bisect--helper: return only correct exit codes in `cmd_*()` + - bisect--helper: move the `BISECT_STATE` case to the end + - bisect--helper: make `--bisect-state` optional + - bisect--helper: align the sub-command order with git-bisect.sh + - bisect--helper: using `--bisect-state` without an argument is a bug + - bisect--helper: really retire `--bisect-autostart` + - bisect--helper: really retire --bisect-next-check + - bisect--helper: retire the --no-log option + - bisect: avoid double-quoting when printing the failed command + - bisect run: fix the error message + + Final bits of "git bisect.sh" have been rewritten in C. + + Will merge to 'next'? + source: + + +* cb/path-owner-check-with-sudo-plus (2022-05-12) 1 commit + - git-compat-util: allow root to access both SUDO_UID and root owned + (this branch uses cb/path-owner-check-with-sudo.) + + "sudo git foo" used to consider a repository owned by the original + user a safe one to access; it now also considers a repository owned + by root a safe one, too (after all, if an attacker can craft a + malicious repository owned by root, the box is 0wned already). + source: <20220513010020.55361-1-carenas@gmail.com> + - Will discard, as it has been stalled for way too long. - cf. - source: <20220310004423.2627181-1-emilyshaffer@google.com> +* jc/t6424-failing-merge-preserve-local-changes (2022-05-19) 1 commit + (merged to 'next' on 2022-05-23 at 849cf6f24c) + + t6424: make sure a failed merge preserves local changes + The tests that ensured merges stop when interfering local changes + are present did not make sure that local changes are preserved; now + they do. -* cw/remote-object-info (2022-05-06) 11 commits - - SQUASH??? coccicheck - - SQUASH??? ensure that coccicheck is happy - - SQUASH??? compilation fix - - cat-file: add --batch-command remote-object-info command - - cat-file: move parse_cmd and DEFAULT_FORMAT up - - transport: add object-info fallback to fetch - - transport: add client side capability to request object-info - - object-info: send attribute packet regardless of object ids - - object-store: add function to free object_info contents - - fetch-pack: move fetch default settings - - fetch-pack: refactor packet writing + Will merge to 'master'. + source: - A client component to talk with the object-info endpoint. - Expecting a reroll. - source: <20220502170904.2770649-1-calvinwan@google.com> +* tb/geom-repack-with-keep-and-max (2022-05-20) 3 commits + - builtin/repack.c: ensure that `names` is sorted + - t7703: demonstrate object corruption with pack.packSizeLimit + - repack: respect --keep-pack with geometric repack + + source: --------------------------------------------------- -[Cooking] * ab/hooks-regression-fix (2022-05-18) 8 commits - hook API: fix v2.36.0 regression: hooks should be connected to a TTY @@ -491,59 +504,39 @@ Release tarballs are available at: source: -* tb/midx-race-in-pack-objects (2022-05-13) 2 commits +* tb/midx-race-in-pack-objects (2022-05-24) 4 commits - builtin/pack-objects.c: ensure pack validity from MIDX bitmap objects - - pack-bitmap: check preferred pack validity when opening MIDX bitmap + - builtin/pack-objects.c: ensure included `--stdin-packs` exist + - builtin/pack-objects.c: avoid redundant NULL check + - pack-bitmap.c: check preferred pack validity when opening MIDX bitmap The multi-pack-index code did not protect the packfile it is going to depend on from getting removed while in use, which has been corrected. - Expecting a reroll. - cf. - cf. - source: + Will merge to 'next'? + source: -* ds/bundle-uri (2022-05-20) 32 commits - - t5601: basic bundle URI tests - - clone: unbundle the advertised bundles - - bundle-uri: download bundles from an advertised list - - bundle-uri: allow relative URLs in bundle lists - - bundle-uri client: add boolean transfer.bundleURI setting - - bundle-uri: serve URI advertisement from bundle.* config - - bundle-uri client: add "git ls-remote-bundle-uri" - - bundle-uri client: add minimal NOOP client - - protocol v2: add server-side "bundle-uri" skeleton - - bundle-uri: fetch a list of bundles - - bundle-uri: parse bundle list in config format - - bundle-uri: limit recursion depth for bundle lists - - bundle-uri: unit test "key=value" parsing - - bundle-uri: create "key=value" line parsing - - bundle-uri: create base key-value pair parsing - - bundle-uri: create bundle_list struct and helpers - - clone: --bundle-uri cannot be combined with --depth - - clone: add --bundle-uri option - - fetch: add 'refs/bundle/' to log.excludeDecoration - - fetch: add --bundle-uri option - - bundle-uri: add support for http(s):// and file:// - - bundle-uri: create basic file-copy logic - - remote-curl: add 'get' capability - - docs: document bundle URI standard - - bundle.h: make "fd" version of read_bundle_header() public - - remote: allow relative_url() to return an absolute url - - remote: move relative_url() - - http: make http_get_file() external - - fetch-pack: move --keep=* option filling to a function - - fetch-pack: add a deref_without_lazy_fetch_extended() - - dir API: add a generalized path_match_flags() function - - connect.c: refactor sending of agent & object-format +* ds/bundle-uri (2022-05-16) 8 commits + (merged to 'next' on 2022-05-25 at 43b1b9092c) + + bundle.h: make "fd" version of read_bundle_header() public + + remote: allow relative_url() to return an absolute url + + remote: move relative_url() + + http: make http_get_file() external + + fetch-pack: move --keep=* option filling to a function + + fetch-pack: add a deref_without_lazy_fetch_extended() + + dir API: add a generalized path_match_flags() function + + connect.c: refactor sending of agent & object-format + (this branch is used by ds/bundle-uri-more.) + Preliminary code refactoring around transport and bundle code. + + Will merge to 'master'. source: - source: -* ds/sparse-sparse-checkout (2022-05-19) 10 commits +* ds/sparse-sparse-checkout (2022-05-23) 10 commits - sparse-checkout: integrate with sparse index - p2000: add test for 'git sparse-checkout [add|set]' - sparse-index: complete partial expansion @@ -551,13 +544,15 @@ Release tarballs are available at: - sparse-checkout: --no-sparse-index needs a full index - cache-tree: implement cache_tree_find_path() - sparse-index: introduce partially-sparse indexes - - sparse-index: create expand_to_pattern_list() + - sparse-index: create expand_index() - t1092: stress test 'git sparse-checkout set' - t1092: refactor 'sparse-index contents' test "sparse-checkout" learns to work well with the sparse-index feature. - source: + + Will merge to 'next'? + source: * gc/bare-repo-discovery (2022-05-16) 3 commits @@ -572,32 +567,8 @@ Release tarballs are available at: source: -* jt/fetch-peek-optional-section (2022-05-16) 1 commit - (merged to 'next' on 2022-05-18 at bc876bd2cf) - + fetch-pack: make unexpected peek result non-fatal - - "git fetch" unnecessarily failed when an unexpected optional - section appeared in the output, which has been corrected. - - Will merge to 'master'. - source: <20220516110221.3490982-1-jonathantanmy@google.com> - - -* os/fetch-check-not-current-branch (2022-05-16) 1 commit - (merged to 'next' on 2022-05-19 at f48dca6322) - + fetch: limit shared symref check only for local branches - - The way "git fetch" without "--update-head-ok" ensures that HEAD in - no worktree points at any ref being updated was too wasteful, which - has been optimized a bit. - - Will merge to 'master'. - source: - - * ds/object-file-unpack-loose-header-fix (2022-05-16) 1 commit - object-file: convert 'switch' back to 'if' - (this branch uses ab/valgrind-fixes.) Coding style fix. @@ -618,44 +589,6 @@ Release tarballs are available at: source: <20220520192840.8942-1-ggossdev@gmail.com> -* jc/archive-add-file-normalize-mode (2022-05-12) 1 commit - (merged to 'next' on 2022-05-16 at 265bb02f2a) - + archive: do not let on-disk mode leak to zip archives - - "git archive --add-file=" picked up the raw permission bits - from the path and propagated to zip output in some cases, without - normalization, which has been corrected (tar output did not have - this issue). - - Will merge to 'master'. - source: - - -* ab/commit-plug-leaks (2022-05-12) 1 commit - (merged to 'next' on 2022-05-16 at 00bcda44af) - + commit: fix "author_ident" leak - - Leakfix in the top-level called-once function. - - Will merge to 'master'. - source: - - -* ab/valgrind-fixes (2022-05-12) 4 commits - (merged to 'next' on 2022-05-16 at 75d760528f) - + commit-graph.c: don't assume that stat() succeeds - + object-file: fix a unpack_loose_header() regression in 3b6a8db3b03 - + log test: skip a failing mkstemp() test under valgrind - + tests: using custom GIT_EXEC_PATH breaks --valgrind tests - (this branch is used by ds/object-file-unpack-loose-header-fix.) - - A bit of test framework fixes with a few fixes to issues found by - valgrind. - - Will merge to 'master'. - source: <20220512223218.237544-1-gitster@pobox.com> - - * ac/remote-v-with-object-list-filters (2022-05-09) 1 commit (merged to 'next' on 2022-05-20 at 8d2dc10d8f) + builtin/remote.c: teach `-v` to list filters for promisor remotes @@ -679,19 +612,20 @@ Release tarballs are available at: source: <20220516083851.202057-1-chriscool@tuxfamily.org> -* jx/l10n-workflow-change (2022-05-19) 9 commits +* jx/l10n-workflow-change (2022-05-23) 8 commits - l10n: Document the new l10n workflow - Makefile: add "po-init" rule to initialize po/XX.po - Makefile: add "po-update" rule to update po/XX.po - po/git.pot: don't check in result of "make pot" - - po/git.pot: this is now a generated file - i18n CI: stop allowing non-ASCII source messages in po/git.pot - Makefile: have "make pot" not "reset --hard" - Makefile: generate "po/git.pot" from stable LOCALIZED_C - Makefile: sort "po/git.pot" by file location A workflow change for translators are being proposed. - source: <20220503132354.9567-1-worldhello.net@gmail.com> + + Will merge to 'next'? + source: <20220523012531.4505-1-worldhello.net@gmail.com> * cb/path-owner-check-with-sudo (2022-05-12) 3 commits @@ -710,20 +644,6 @@ Release tarballs are available at: source: <20220513010020.55361-1-carenas@gmail.com> -* pb/ggg-in-mfc-doc (2022-05-12) 5 commits - (merged to 'next' on 2022-05-19 at e1c148492f) - + MyFirstContribution: drop PR description for GGG single-patch contributions - + MyFirstContribution: reference "The cover letter" in GitGitGadget section - + MyFirstContribution: reference "The cover letter" in "Preparing Email" - + MyFirstContribution: add standalone section on cover letter - + MyFirstContribution: add "Anatomy of a Patch Series" section - - Documentation update. - - Will merge to 'master'. - source: - - * cg/tools-for-git-doc (2022-04-21) 1 commit (merged to 'next' on 2022-05-19 at e6b6309afb) + Documentation/ToolsForGit.txt: Tools for developing Git @@ -734,18 +654,6 @@ Release tarballs are available at: source: <20220421084515.21236-2-cogoni.guillaume@gmail.com> -* jc/show-branch-g-current (2022-04-21) 1 commit - (merged to 'next' on 2022-05-18 at 870a1a1a71) - + show-branch: -g and --current are incompatible - - The "--current" option of "git show-branch" should have been made - incompatible with the "--reflog" mode, but this was not enforced, - which has been corrected. - - Will merge to 'master'. - source: - - * ar/send-email-confirm-by-default (2022-04-22) 1 commit - send-email: always confirm by default @@ -762,17 +670,6 @@ Release tarballs are available at: source: <20220422083629.1404989-1-hi@alyssa.is> -* ep/coverage-report-wants-test-to-have-run (2022-04-13) 1 commit - (merged to 'next' on 2022-05-18 at e4a51b0867) - + Makefile: add a prerequisite to the coverage-report target - - "make coverage-report" without first running "make coverage" did - not produce any meaningful result, which has been corrected. - - Will merge to 'master'. - source: <20220414022513.31465-1-gitter.spiros@gmail.com> - - * ab/env-array (2022-05-20) 4 commits - run-command API users: use "env" not "env_array" in comments & names - cocci: remove env_array -> env migration @@ -819,86 +716,31 @@ Release tarballs are available at: Plug the memory leaks from the trickiest API of all, the revision walker. - On hold. + Will merge to 'next'? source: -* ab/ci-github-workflow-markup (2022-04-21) 11 commits - . ci: call `finalize_test_case_output` a little later - . ci: use `--github-workflow-markup` in the GitHub workflow - . ci: optionally mark up output in the GitHub workflow - . test(junit): avoid line feeds in XML attributes - . tests: refactor --write-junit-xml code - . ci: make it easier to find failed tests' logs in the GitHub workflow - . CI: stop setting FAILED_TEST_ARTIFACTS N times - . CI: don't include "test-results/" in ci/print-test-failures.sh output - . CI: add --exit-code to ci/print-test-failures.sh - . CI: don't "cd" in ci/print-test-failures.sh - . Merge branch 'ab/ci-setup-simplify' into ab/ci-github-workflow-markup - (this branch uses ab/ci-setup-simplify.) - - Build a moral equivalent of js/ci-github-workflow-markup on top of - ab/ci-setup-simplify. - source: - - -* ab/ci-setup-simplify (2022-04-21) 29 commits - . CI: make it easy to use ci/*.sh outside of CI - . CI: don't use "set -x" in "ci/lib.sh" output - . CI: set PYTHON_PATH setting for osx-{clang,gcc} into "$jobname" case - . CI: set SANITIZE=leak in MAKEFLAGS directly - . CI: set CC in MAKEFLAGS directly, don't add it to the environment - . CI: add more variables to MAKEFLAGS, except under vs-build - . CI: narrow down variable definitions in --build and --test - . CI: only invoke ci/lib.sh as "steps" in main.yml - . CI: pre-select test slice in Windows & VS tests - . ci/run-test-slice.sh: replace shelling out with "echo" - . CI: move "env" definitions into ci/lib.sh - . CI: combine ci/install{,-docker}-dependencies.sh - . CI: split up and reduce "ci/test-documentation.sh" - . CI: invoke "make artifacts-tar" directly in windows-build - . CI: check ignored unignored build artifacts in "win[+VS] build" too - . CI: make ci/{lib,install-dependencies}.sh POSIX-compatible - . CI: remove "run-build-and-tests.sh", run "make [test]" directly - . CI: export variables via a wrapper - . CI: consistently use "export" in ci/lib.sh - . CI: move p4 and git-lfs variables to ci/install-dependencies.sh - . CI: have "static-analysis" run "check-builtins", not "documentation" - . CI: have "static-analysis" run a "make ci-static-analysis" target - . CI: don't have "git grep" invoke a pager in tree content check - . CI/lib.sh: stop adding leading whitespace to $MAKEFLAGS - . CI: remove unused Azure ci/* code - . CI: remove dead "tree skipping" code - . CI: remove more dead Travis CI support - . CI: make "$jobname" explicit, remove fallback - . CI: run "set -ex" early in ci/lib.sh - (this branch is used by ab/ci-github-workflow-markup.) - - Drive more actions done in CI via the Makefile instead of shell - commands sprinkled in .github/workflows/main.yml - source: - - * ns/batch-fsync (2022-04-06) 13 commits - - core.fsyncmethod: performance tests for batch mode - - t/perf: add iteration setup mechanism to perf-lib - - core.fsyncmethod: tests for batch mode - - test-lib-functions: add parsing helpers for ls-files and ls-tree - - core.fsync: use batch mode and sync loose objects by default on Windows - - unpack-objects: use the bulk-checkin infrastructure - - update-index: use the bulk-checkin infrastructure - - builtin/add: add ODB transaction around add_files_to_cache - - cache-tree: use ODB transaction around writing a tree - - core.fsyncmethod: batched disk flushes for loose-objects - - bulk-checkin: rebrand plug/unplug APIs as 'odb transactions' - - bulk-checkin: rename 'state' variable and separate 'plugged' boolean - - Merge branch 'ns/core-fsyncmethod' into ns/batch-fsync + (merged to 'next' on 2022-05-23 at 379d8bd500) + + core.fsyncmethod: performance tests for batch mode + + t/perf: add iteration setup mechanism to perf-lib + + core.fsyncmethod: tests for batch mode + + test-lib-functions: add parsing helpers for ls-files and ls-tree + + core.fsync: use batch mode and sync loose objects by default on Windows + + unpack-objects: use the bulk-checkin infrastructure + + update-index: use the bulk-checkin infrastructure + + builtin/add: add ODB transaction around add_files_to_cache + + cache-tree: use ODB transaction around writing a tree + + core.fsyncmethod: batched disk flushes for loose-objects + + bulk-checkin: rebrand plug/unplug APIs as 'odb transactions' + + bulk-checkin: rename 'state' variable and separate 'plugged' boolean + + Merge branch 'ns/core-fsyncmethod' into ns/batch-fsync Introduce a filesystem-dependent mechanism to optimize the way the bits for many loose object files are ensured to hit the disk platter. - Will merge to 'next'. + Will merge to 'master'. source: @@ -920,7 +762,7 @@ Release tarballs are available at: source: -* tb/cruft-packs (2022-05-20) 17 commits +* tb/cruft-packs (2022-05-25) 18 commits - sha1-file.c: don't freshen cruft packs - builtin/gc.c: conditionally avoid pruning objects via loose - builtin/repack.c: add cruft packs to MIDX during geometric repack @@ -936,6 +778,7 @@ Release tarballs are available at: - pack-mtimes: support writing pack .mtimes files - chunk-format.h: extract oid_version() - pack-write: pass 'struct packing_data' to 'stage_tmp_packfiles' + - fixup! pack-mtimes: support reading .mtimes files - pack-mtimes: support reading .mtimes files - Documentation/technical: add cruft-packs.txt @@ -943,7 +786,7 @@ Release tarballs are available at: instead of ejecting them into loose form to be reclaimed later, has been introduced. - Will merge to 'next'? + Will merge to 'next' after squashing fixup! in??? source: @@ -963,10 +806,12 @@ Release tarballs are available at: source: -* jh/builtin-fsmonitor-part3 (2022-04-22) 29 commits +* jh/builtin-fsmonitor-part3 (2022-05-25) 31 commits + - t7527: improve implicit shutdown testing in fsmonitor--daemon - fsmonitor--daemon: allow --super-prefix argument - t7527: test Unicode NFC/NFD handling on MacOS - t/lib-unicode-nfc-nfd: helper prereqs for testing unicode nfc/nfd + - t/helper/hexdump: add helper to print hexdump of stdin - fsmonitor: on macOS also emit NFC spelling for NFD pathname - t7527: test FSMonitor on case insensitive+preserving file system - fsmonitor: never set CE_FSMONITOR_VALID on submodules @@ -996,64 +841,36 @@ Release tarballs are available at: More fsmonitor--daemon. - Expecting a (hopefully final) reroll, before merging it to 'next'. - cf. - source: + Expecting further work. + Breaks its own t7527? + source: -* js/scalar-diagnose (2022-05-19) 8 commits - - fixup! archive --add-file-with-contents: allow paths containing colons +* js/scalar-diagnose (2022-05-25) 9 commits + - fixup! archive --add-virtual-file: allow paths containing colons + - fixup! archive: optionally add "virtual" files - scalar: teach `diagnose` to gather loose objects information - scalar: teach `diagnose` to gather packfile info - scalar diagnose: include disk space information - Implement `scalar diagnose` - scalar: validate the optional enlistment argument - - archive --add-file-with-contents: allow paths containing colons + - archive --add-virtual-file: allow paths containing colons - archive: optionally add "virtual" files Implementation of "scalar diagnose" subcommand. Will merge to 'next'? - source: - - -* en/merge-tree (2022-02-23) 13 commits - - git-merge-tree.txt: add a section on potentional usage mistakes - - merge-tree: add a --allow-unrelated-histories flag - - merge-tree: allow `ls-files -u` style info to be NUL terminated - - merge-tree: provide easy access to `ls-files -u` style info - - merge-tree: provide a list of which files have conflicts - - merge-ort: provide a merge_get_conflicted_files() helper function - - merge-tree: support including merge messages in output - - merge-ort: split out a separate display_update_messages() function - - merge-tree: implement real merges - - merge-tree: add option parsing and initial shell for real merge function - - merge-tree: move logic for existing merge into new function - - merge-tree: rename merge_trees() to trivial_merge_trees() - - Merge branch 'en/remerge-diff' into en/merge-trees - - A new command is introduced that takes two commits and computes a - tree that would be contained in the resulting merge commit, if the - histories leading to these two commits were to be merged, and is - added as a new mode of "git merge-tree" subcommand. - - On hold. - cf. - source: + source: * 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 + (merged to 'next' on 2022-05-23 at a6434bc6f7) + + add -i: default to the built-in implementation + + t2016: require the PERL prereq only when necessary "git add -i" was rewritten in C some time ago and has been in testing; the reimplementation is now exposed to general public by default. - On hold. - - What's the status of the "known breakage"? - Are we ready to switch if we wanted to? - There are known breakages on macOS. - cf. + Will merge to 'master'. source: