diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-10-14 15:19:45 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-14 15:20:49 -0700 |
commit | 2d679f40c21efe91581ef430fe197c0e43a20e34 (patch) | |
tree | 5bdbb8b82ef537f769d07c7f913164c5c12ec00c | |
parent | 771ea3b2e8dd50568c1ac5c9cace6c552360b80a (diff) |
What's cooking (2021/10 #04)
-rw-r--r-- | whats-cooking.txt | 764 |
1 files changed, 397 insertions, 367 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt index 152ed6e35b..8f089d61b0 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 (Oct 2021, #03; Mon, 11) -X-master-at: 2a97289ad8b103625d3a1a12f66c27f50df822ce -X-next-at: b88fcb3f61432d526395a9937acaea0c67ee1aaf +Subject: What's cooking in git.git (Oct 2021, #04; Thu, 14) +X-master-at: f443b226ca681d87a3a31e245a70e6bc2769123c +X-next-at: 33379063c9546476a80d42c704efc4ea5d0d95e5 -What's cooking in git.git (Oct 2021, #03; Mon, 11) +What's cooking in git.git (Oct 2021, #04; Thu, 14) -------------------------------------------------- Here are the topics that have been cooking in my tree. Commits @@ -18,8 +18,8 @@ useful"). Do not read too much into a topic being in (or not in) 'seen'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -The eleventh and twelfth batches of topics are in the 'master' -branch, and quite a many topics started cooking in 'next'. +A handful of topics have been merged to 'master' and 'next' has also +acquired some topics. 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 @@ -52,137 +52,354 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ab/designated-initializers (2021-09-27) 5 commits - (merged to 'next' on 2021-10-03 at 179f652de6) - + cbtree.h: define cb_init() in terms of CBTREE_INIT - + *.h: move some *_INIT to designated initializers - + *.h _INIT macros: don't specify fields equal to 0 - + *.[ch] *_INIT macros: use { 0 } for a "zero out" idiom - + submodule-config.h: remove unused SUBMODULE_INIT macro - (this branch is used by ab/designated-initializers-more.) +* ab/align-parse-options-help (2021-09-22) 4 commits + (merged to 'next' on 2021-10-06 at e22da7ef85) + + parse-options: properly align continued usage output + + git rev-parse --parseopt tests: add more usagestr tests + + send-pack: properly use parse_options() API for usage string + + parse-options API users: align usage output in C-strings - Code clean-up. + When "git cmd -h" shows more than one line of usage text (e.g. + the cmd subcommand may take sub-sub-command), parse-options API + learned to align these lines, even across i18n/l10n. + + +* ab/config-based-hooks-1 (2021-09-27) 8 commits + (merged to 'next' on 2021-10-06 at d05325ed35) + + hook-list.h: add a generated list of hooks, like config-list.h + + hook.c users: use "hook_exists()" instead of "find_hook()" + + hook.c: add a hook_exists() wrapper and use it in bugreport.c + + hook.[ch]: move find_hook() from run-command.c to hook.c + + Makefile: remove an out-of-date comment + + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H) + + Makefile: stop hardcoding {command,config}-list.h + + Makefile: mark "check" target as .PHONY + (this branch is used by ab/config-based-hooks-2.) + + Mostly preliminary clean-up in the hook API. + + +* ab/help-config-vars (2021-09-23) 9 commits + (merged to 'next' on 2021-10-06 at bf9538cfbd) + + help: move column config discovery to help.c library + + help / completion: make "git help" do the hard work + + help tests: test --config-for-completion option & output + + help: simplify by moving to OPT_CMDMODE() + + help: correct logic error in combining --all and --guides + + help: correct logic error in combining --all and --config + + help tests: add test for --config output + + help: correct usage & behavior of "git help --guides" + + help: correct the usage string in -h and documentation + + Teach "git help -c" into helping the command line completion of + configuration variables. + + +* ab/lib-subtest (2021-09-22) 9 commits + (merged to 'next' on 2021-10-06 at e8fa261811) + + test-lib tests: get rid of copy/pasted mock test code + + test-lib tests: assert 1 exit code, not non-zero + + test-lib tests: refactor common part of check_sub_test_lib_test*() + + test-lib tests: avoid subshell for "test_cmp" for readability + + test-lib tests: don't provide a description for the sub-tests + + test-lib tests: split up "write and run" into two functions + + test-lib tests: move "run_sub_test" to a new lib-subtest.sh + + Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest + + Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest + + Updates to the tests in t0000 to test the test framework. + + +* ab/make-sparse-for-real (2021-09-22) 1 commit + (merged to 'next' on 2021-10-06 at 10e3c31d6a) + + Makefile: make the "sparse" target non-.PHONY + + Prevent "make sparse" from running for the source files that + haven't been modified. + + +* ds/add-rm-with-sparse-index (2021-09-28) 13 commits + (merged to 'next' on 2021-10-06 at 80a9cda797) + + advice: update message to suggest '--sparse' + + mv: refuse to move sparse paths + + rm: skip sparse paths with missing SKIP_WORKTREE + + rm: add --sparse option + + add: update --renormalize to skip sparse paths + + add: update --chmod to skip sparse paths + + add: implement the --sparse option + + add: skip tracked paths outside sparse-checkout cone + + add: fail when adding an untracked sparse file + + dir: fix pattern matching on dirs + + dir: select directories correctly + + t1092: behavior for adding sparse files + + t3705: test that 'sparse_entry' is unstaged + + "git add", "git mv", and "git rm" have been adjusted to avoid + updating paths outside of the sparse-checkout definition unless + the user specifies a "--sparse" option. + + +* en/removing-untracked-fixes (2021-09-27) 12 commits + (merged to 'next' on 2021-10-06 at fc4e387fda) + + Documentation: call out commands that nuke untracked files/directories + + Comment important codepaths regarding nuking untracked files/dirs + + unpack-trees: avoid nuking untracked dir in way of locally deleted file + + unpack-trees: avoid nuking untracked dir in way of unmerged file + + Change unpack_trees' 'reset' flag into an enum + + Remove ignored files by default when they are in the way + + unpack-trees: make dir an internal-only struct + + unpack-trees: introduce preserve_ignored to unpack_trees_options + + read-tree, merge-recursive: overwrite ignored files by default + + checkout, read-tree: fix leak of unpack_trees_options.dir + + t2500: add various tests for nuking untracked files + + Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes + + Various fixes in code paths that move untracked files away to make room. + + +* ja/doc-status-types-and-copies (2021-10-04) 4 commits + (merged to 'next' on 2021-10-06 at 4de6571bf7) + + Documentation/git-status: mention how to detect copies + + Documentation/git-status: document porcelain status T (typechange) + + Documentation/diff-format: state in which cases porcelain status is T + + Documentation/git-status: remove impossible porcelain status DR and DC + + A few kinds of changes "git status" can show were not documented. + + +* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits + (merged to 'next' on 2021-10-06 at 021f633b9c) + + t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command + + run-command: create start_bg_command + + simple-ipc/ipc-win32: add Windows ACL to named pipe + + simple-ipc/ipc-win32: add trace2 debugging + + simple-ipc: move definition of ipc_active_state outside of ifdef + + simple-ipc: preparations for supporting binary messages. + + trace2: add trace2_child_ready() to report on background children + Built-in fsmonitor (part 1). -* ab/http-pinned-public-key-mismatch (2021-09-27) 1 commit - (merged to 'next' on 2021-10-03 at cd67328eed) - + http: check CURLE_SSL_PINNEDPUBKEYNOTMATCH when emitting errors - HTTPS error handling updates. +* mt/grep-submodule-textconv (2021-09-29) 1 commit + (merged to 'next' on 2021-10-06 at 1950944b8c) + + grep: demonstrate bug with textconv attributes and submodules + "git grep --recurse-submodules" takes trees and blobs from the + submodule repository, but the textconv settings when processing a + blob from the submodule is not taken from the submodule repository. + A test is added to demonstrate the issue, without fixing it. + +-------------------------------------------------- +[New Topics] + +* ab/fix-commit-error-message-upon-unwritable-object-store (2021-10-12) 2 commits + (merged to 'next' on 2021-10-14 at 08c52f5cd5) + + commit: fix duplication regression in permission error output + + unwritable tests: assert exact error output + + "git commit" gave duplicated error message when the object store + was unwritable, which has been corrected. + + Will merge to 'master'. -* ab/retire-git-config-key-is-valid (2021-09-28) 1 commit - (merged to 'next' on 2021-10-03 at fc7a0a55d1) - + config.c: remove unused git_config_key_is_valid() - Code cleanup. +* ab/test-cleanly-recreate-trash-directory (2021-10-11) 2 commits + - SQUASH??? + - test-lib.sh: try to re-chmod & retry on failed trash removal + Improve test framework around unwritable directories. -* ab/sanitize-leak-ci (2021-09-23) 2 commits - (merged to 'next' on 2021-10-03 at dcd62a3fc6) - + tests: add a test mode for SANITIZE=leak, run it in CI - + Makefile: add SANITIZE=leak flag to GIT-BUILD-OPTIONS - (this branch is used by ab/mark-leak-free-tests, ab/mark-leak-free-tests-more and ab/unpack-trees-leakfix.) + Will merge to 'next' after squashing the fixlet in? - CI learns to run the leak sanitizer builds. +* rb/doc-commit-header-continuation-line (2021-10-11) 1 commit + - signature-format.txt: add space to fix gpgsig continuation line -* da/difftool (2021-09-30) 6 commits - (merged to 'next' on 2021-10-03 at 3ba0335e4e) - + difftool: add a missing space to the run_dir_diff() comments - + difftool: remove an unnecessary call to strbuf_release() - + difftool: refactor dir-diff to write files using helper functions - + difftool: create a tmpdir path without repeated slashes - + Merge branch 'da/difftool-dir-diff-symlink-fix' into da/difftool - + Merge branch 'ab/retire-option-argument' into da/difftool + Values in the header portion of commit object can be multi-lined + by a single SP indentation of the second and subsequent lines, and + this applies to an empty line as well. Update an example in the + technical documentation to highlight it. - Code clean-up in "git difftool". + Under discussion. + I am tempted to supersede this with the one with another approach, + in the jc/doc-commit-header-continuation-line topic. -* jk/ref-paranoia (2021-09-27) 16 commits - (merged to 'next' on 2021-10-03 at 8c2cb6a3a6) - + refs: drop "broken" flag from for_each_fullref_in() - + ref-filter: drop broken-ref code entirely - + ref-filter: stop setting FILTER_REFS_INCLUDE_BROKEN - + repack, prune: drop GIT_REF_PARANOIA settings - + refs: turn on GIT_REF_PARANOIA by default - + refs: omit dangling symrefs when using GIT_REF_PARANOIA - + refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flag - + refs-internal.h: reorganize DO_FOR_EACH_* flag documentation - + refs-internal.h: move DO_FOR_EACH_* flags next to each other - + t5312: be more assertive about command failure - + t5312: test non-destructive repack - + t5312: create bogus ref as necessary - + t5312: drop "verbose" helper - + t5600: provide detached HEAD for corruption failures - + t5516: don't use HEAD ref for invalid ref-deletion tests - + t7900: clean up some more broken refs - (this branch is used by jt/no-abuse-alternate-odb-for-submodules.) - The ref iteration code used to optionally allow dangling refs to be - shown, which has been tightened up. +* rs/disable-gc-during-perf-tests (2021-10-11) 1 commit + (merged to 'next' on 2021-10-14 at e0dd4b9bd4) + + perf: disable automatic housekeeping + Avoid performance measurements from getting ruined by gc and other + housekeeping pauses interfering in the middle. -* js/win-lazyload-buildfix (2021-09-28) 3 commits - (merged to 'next' on 2021-10-03 at 26802e5d73) - + Makefile: restrict -Wpedantic and -Wno-pedantic-ms-format better - + lazyload.h: use an even more generic function pointer than FARPROC - + lazyload.h: fix warnings about mismatching function pointer types + Will merge to 'master'. - Compilation fix. +* da/mergetools-special-case-xxdiff-exit-128 (2021-10-13) 1 commit + - mergetools/xxdiff: prevent segfaults from stopping difftool -* mr/bisect-in-c-4 (2021-10-01) 1 commit - (merged to 'next' on 2021-10-06 at c13c14238d) - + bisect--helper: add space between colon and following sentence + The xxdiff difftool backend can exit with status 128, which the + difftool-helper that launches the backend takes as a significant + failure, when it is not significant at all. Work it around. - Message fix. + Will merge to 'next'. -* rs/p3400-lose-tac (2021-10-03) 1 commit - (merged to 'next' on 2021-10-06 at 688dc7137c) - + p3400: stop using tac(1) +* fs/ssh-signing-fix (2021-10-13) 3 commits + (merged to 'next' on 2021-10-14 at 97735c6091) + + ssh signing: clarify trustlevel usage in docs + + ssh signing: fmt-merge-msg tests & config parse + + Merge branch 'fs/ssh-signing' into fs/ssh-signing-fix + (this branch uses fs/ssh-signing.) - Test portability update. + Fix-up for the other topic already in 'next'. + + Will merge to 'master'. -* sg/test-split-index-fix (2021-09-07) 7 commits - (merged to 'next' on 2021-09-29 at 661ae75778) - + read-cache: fix GIT_TEST_SPLIT_INDEX - + tests: disable GIT_TEST_SPLIT_INDEX for sparse index tests - + read-cache: look for shared index files next to the index, too - + t1600-index: disable GIT_TEST_SPLIT_INDEX - + t1600-index: don't run git commands upstream of a pipe - + t1600-index: remove unnecessary redirection - + Merge branch 'ds/sparse-index-ignored-files' into sg/test-split-index-fix +* gc/remote-with-fewer-static-global-variables (2021-10-13) 3 commits + - remote: add struct repository parameter to external functions + - remote: use remote_state parameter internally + - remote: move static variables into per-repository struct - Test updates. + Code clean-up to eventually allow information on remotes defined + for an arbitrary repository to be read. + Will merge to 'next'? -* tb/aggregate-ignore-leading-whitespaces (2021-10-04) 1 commit - (merged to 'next' on 2021-10-06 at 619a7db2d4) - + t/perf/aggregate.perl: tolerate leading spaces - Test portability update. +* jc/doc-commit-header-continuation-line (2021-10-12) 1 commit + - signature-format.txt: explain and illustrate multi-line headers + + Doc update. + + Will merge to 'next'? + + +* jk/loosen-urlmatch (2021-10-12) 1 commit + - urlmatch: add underscore to URL_HOST_CHARS + + Treat "_" as any other DNS-valid characters in an URL when matching + the per-URL configuration variable names. + + Will merge to 'next'? + + +* js/windows-ci-path-fix (2021-10-13) 1 commit + (merged to 'next' on 2021-10-14 at 3047fe56fc) + + ci(windows): ensure that we do not pick up random executables + + The PATH used in CI job may be too wide and let incompatible dlls + to be grabbed, which can cause the build&test to fail. Tighten it. + + Will merge to 'master'. + + +* rs/add-dry-run-without-objects (2021-10-12) 1 commit + (merged to 'next' on 2021-10-14 at a42928e134) + + add: don't write objects with --dry-run + + Stop "git add --dry-run" from creating new blob and tree objects. + + Will merge to 'master'. + + +* tz/doc-link-to-bundle-format-fix (2021-10-13) 1 commit + (merged to 'next' on 2021-10-14 at dee8053d49) + + doc: add bundle-format to TECH_DOCS + + Doc update. + + Will merge to 'master'. + + +* ab/test-bail (2021-10-14) 2 commits + - test-lib.sh: use "Bail out!" syntax on bad SANITIZE=leak use + - test-lib.sh: de-duplicate error() teardown code + + A new feature has been added to abort early in the test framework. + + Will merge to 'next'. -* tb/midx-write-propagate-namehash (2021-09-17) 7 commits - (merged to 'next' on 2021-09-29 at 24732fcfc8) - + t5326: test propagating hashcache values - + p5326: generate pack bitmaps before writing the MIDX bitmap - + p5326: don't set core.multiPackIndex unnecessarily - + p5326: create missing 'perf-tag' tag - + midx.c: respect 'pack.writeBitmapHashcache' when writing bitmaps - + pack-bitmap.c: propagate namehash values from existing bitmaps - + t/helper/test-bitmap.c: add 'dump-hashes' mode +* jh/builtin-fsmonitor-part2 (2021-10-14) 5 commits + - fsmonitor: update fsmonitor config documentation + - fsmonitor: use IPC to query the builtin FSMonitor daemon + - fsmonitor: config settings are repository-specific + - fsmonitor-ipc: create client routines for git-fsmonitor--daemon + - fsmonitor: enhance existing comments - "git multi-pack-index write --bitmap" learns to propagate the - hashcache from original bitmap to resulting bitmap. + Built-in fsmonitor (part 2). + + +* ld/sparse-diff-blame (2021-10-14) 3 commits + - blame: enable and test the sparse index + - diff: enable and test the sparse index + - Merge branch 'vd/sparse-reset' into ld/sparse-diff-blame + (this branch uses vd/sparse-reset.) + + Teach diff and blame to work well with sparse index. + + Seems to break tests (e.g. 1092) when merged to 'seen'. -------------------------------------------------- -[New Topics] +[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. + + Kicked out of 'seen' to make room for es/superproject-aware-submodules + which is among the topics this topic stomps on. + + +* pw/diff-color-moved-fix (2021-08-05) 13 commits + - diff: drop unused options parameter from cmp_in_block_with_wsd() + - diff --color-moved: intern strings + - diff: use designated initializers for emitted_diff_symbol + - diff --color-moved-ws=allow-indentation-change: improve hash lookups + - diff --color-moved: stop clearing potential moved blocks + - diff --color-moved: shrink potential moved blocks as we go + - diff --color-moved: unify moved block growth functions + - diff --color-moved: call comparison function directly + - diff --color-moved-ws=allow-indentation-change: simplify and optimize + - diff: simplify allow-indentation-change delta calculation + - diff --color-moved: avoid false short line matches and bad zerba coloring + - diff --color-moved=zebra: fix alternate coloring + - diff --color-moved: add perf tests + + Originally merged to 'next' on 2021-08-05 + + Long-overdue correctness and performance update to "diff + --color-moved" feature. + + Expecting a reroll. + cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com> + + +* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit + - fetch: fix segfault on --set-upstream while on a detached HEAD + + "git fetch --set-upstream" while on detached HEAD segfaulted + instead of noticing that such an operation did not make sense. + + Expecting a reroll. + cf. <xmqqsg0ri5mq.fsf@gitster.g> + +-------------------------------------------------- +[Cooking] -* ab/mark-leak-free-tests (2021-10-07) 11 commits +* ab/mark-leak-free-tests (2021-10-12) 10 commits - leak tests: mark some misc tests as passing with SANITIZE=leak - leak tests: mark various "generic" tests as passing with SANITIZE=leak - leak tests: mark some read-tree tests as passing with SANITIZE=leak @@ -190,15 +407,13 @@ Release tarballs are available at: - leak tests: mark all checkout-index tests as passing with SANITIZE=leak - leak tests: mark all trace2 tests as passing with SANITIZE=leak - leak tests: mark all ls-tree tests as passing with SANITIZE=leak - - leak tests: mark t0000-init.sh as passing with SANITIZE=leak - leak tests: run various "test-tool" tests in t00*.sh SANITIZE=leak - leak tests: run various built-in tests in t00*.sh SANITIZE=leak - Merge branch 'ab/sanitize-leak-ci' into ab/mark-leak-free-tests Bunch of tests are marked as "passing leak check". - Expecting a reroll. - cf. <xmqqmtnko3zn.fsf@gitster.g> + Will merge to 'next'. * ab/mark-leak-free-tests-more (2021-10-07) 8 commits @@ -213,16 +428,19 @@ Release tarballs are available at: Bunch of tests are marked as "passing leak check". - Will merge to 'next'? + Will merge to 'next'. -* ab/unpack-trees-leakfix (2021-10-07) 2 commits - - unpack-trees: don't leak memory in verify_clean_subdirectory() - - Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix +* ab/unpack-trees-leakfix (2021-10-13) 4 commits + (merged to 'next' on 2021-10-14 at bb54827704) + + sequencer: fix a memory leak in do_reset() + + sequencer: add a "goto cleanup" to do_reset() + + unpack-trees: don't leak memory in verify_clean_subdirectory() + + Merge branch 'ab/sanitize-leak-ci' into ab/unpack-trees-leakfix Leakfix. - Will merge to 'next'? + Will merge to 'master'. * jk/cat-file-batch-all-wo-replace (2021-10-08) 5 commits @@ -252,7 +470,7 @@ Release tarballs are available at: Userdiff patterns for the C++ language has been updated. - Will merge to 'next'? + Will merge to 'next'. * mp/absorb-submodule-git-dir-upon-deinit (2021-10-07) 1 commit @@ -326,77 +544,24 @@ Release tarballs are available at: Will merge to 'master'. -* vd/sparse-reset (2021-10-07) 8 commits +* vd/sparse-reset (2021-10-11) 8 commits - 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 - - update-index: add --force-full-index option for expand/collapse test + - 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 ld/sparse-diff-blame.) Various operating modes of "git reset" have been made to work better with the sparse index. Needs review. --------------------------------------------------- -[Stalled] - -* ar/submodule-update (2021-09-20) 8 commits - . submodule--helper: rename helper functions - . submodule--helper: remove unused helpers - . submodule--helper: remove update-clone subcommand - . submodule: move core cmd_update() logic to C - . 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. - - Kicked out of 'seen' to make room for es/superproject-aware-submodules - which is among the topics this topic stomps on. - - -* pw/diff-color-moved-fix (2021-08-05) 13 commits - - diff: drop unused options parameter from cmp_in_block_with_wsd() - - diff --color-moved: intern strings - - diff: use designated initializers for emitted_diff_symbol - - diff --color-moved-ws=allow-indentation-change: improve hash lookups - - diff --color-moved: stop clearing potential moved blocks - - diff --color-moved: shrink potential moved blocks as we go - - diff --color-moved: unify moved block growth functions - - diff --color-moved: call comparison function directly - - diff --color-moved-ws=allow-indentation-change: simplify and optimize - - diff: simplify allow-indentation-change delta calculation - - diff --color-moved: avoid false short line matches and bad zerba coloring - - diff --color-moved=zebra: fix alternate coloring - - diff --color-moved: add perf tests - - Originally merged to 'next' on 2021-08-05 - - Long-overdue correctness and performance update to "diff - --color-moved" feature. - - Expecting a reroll. - cf. <8bec1a6d-5052-50c3-4100-e6348289d581@gmail.com> - - -* cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit - - fetch: fix segfault on --set-upstream while on a detached HEAD - - "git fetch --set-upstream" while on detached HEAD segfaulted - instead of noticing that such an operation did not make sense. - - Expecting a reroll. - cf. <xmqqsg0ri5mq.fsf@gitster.g> --------------------------------------------------- -[Cooking] - -* gc/use-repo-settings (2021-10-04) 3 commits +* gc/use-repo-settings (2021-10-12) 3 commits - gc: perform incremental repack when implictly enabled - fsck: verify multi-pack-index when implictly enabled - fsck: verify commit graph when implicitly enabled @@ -405,16 +570,17 @@ Release tarballs are available at: subsystem, as things like feature.experimental can affect their default values. - Under review. - cf. <70aca052-716f-40ed-47c4-1882fdbd221e@gmail.com> + Expecting a reroll. + cf. <kl6l1r4p3mi3.fsf@chooglen-macbookpro.roam.corp.google.com> * jh/perf-remove-test-times (2021-10-04) 1 commit - - t/perf/perf-lib.sh: remove test_times.* at the end test_perf_() + (merged to 'next' on 2021-10-14 at 473a26166c) + + t/perf/perf-lib.sh: remove test_times.* at the end test_perf_() Perf test fix. - Will merge to 'next'. + Will merge to 'master'. * pw/fix-some-issues-in-reset-head (2021-10-01) 12 commits @@ -483,18 +649,6 @@ Release tarballs are available at: Will merge to 'master'. -* ja/doc-status-types-and-copies (2021-10-04) 4 commits - (merged to 'next' on 2021-10-06 at 4de6571bf7) - + Documentation/git-status: mention how to detect copies - + Documentation/git-status: document porcelain status T (typechange) - + Documentation/diff-format: state in which cases porcelain status is T - + Documentation/git-status: remove impossible porcelain status DR and DC - - A few kinds of changes "git status" can show were not described. - - Will merge to 'master'. - - * ab/designated-initializers-more (2021-10-01) 6 commits (merged to 'next' on 2021-10-11 at 9b9836c3df) + builtin/remote.c: add and use SHOW_INFO_INIT @@ -523,24 +677,10 @@ Release tarballs are available at: Random changes to parse-options implementation. - Will merge to 'next'? - - -* mt/grep-submodule-textconv (2021-09-29) 1 commit - (merged to 'next' on 2021-10-06 at 1950944b8c) - + grep: demonstrate bug with textconv attributes and submodules - - "git grep --recurse-submodules" takes trees and blobs from the - submodule repository, but the textconv settings when processing a - blob from the submodule is not taken from the submodule repository. - A demonstration is added to demonstrate the issue, without fixing - it. - - Will merge to 'master'. + Will merge to 'next'. -* es/superproject-aware-submodules (2021-08-19) 5 commits - - fixup! introduce submodule.superprojectGitDir record +* es/superproject-aware-submodules (2021-10-14) 4 commits - submodule: record superproject gitdir during 'update' - submodule: record superproject gitdir during absorbgitdirs - introduce submodule.superprojectGitDir record @@ -554,72 +694,48 @@ Release tarballs are available at: * ab/fsck-unexpected-type (2021-10-01) 17 commits - - fsck: report invalid object type-path combinations - - fsck: don't hard die on invalid object types - - object-file.c: stop dying in parse_loose_header() - - object-file.c: return ULHR_TOO_LONG on "header too long" - - object-file.c: use "enum" return type for unpack_loose_header() - - object-file.c: simplify unpack_loose_short_header() - - object-file.c: make parse_loose_header_extended() public - - object-file.c: return -1, not "status" from unpack_loose_header() - - object-file.c: don't set "typep" when returning non-zero - - cat-file tests: test for current --allow-unknown-type behavior - - cat-file tests: add corrupt loose object test - - cat-file tests: test for missing/bogus object with -t, -s and -p - - cat-file tests: move bogus_* variable declarations earlier - - fsck tests: test for garbage appended to a loose object - - fsck tests: test current hash/type mismatch behavior - - fsck tests: refactor one test to use a sub-repo - - fsck tests: add test for fsck-ing an unknown type + (merged to 'next' on 2021-10-14 at 10edc78c9c) + + fsck: report invalid object type-path combinations + + fsck: don't hard die on invalid object types + + object-file.c: stop dying in parse_loose_header() + + object-file.c: return ULHR_TOO_LONG on "header too long" + + object-file.c: use "enum" return type for unpack_loose_header() + + object-file.c: simplify unpack_loose_short_header() + + object-file.c: make parse_loose_header_extended() public + + object-file.c: return -1, not "status" from unpack_loose_header() + + object-file.c: don't set "typep" when returning non-zero + + cat-file tests: test for current --allow-unknown-type behavior + + cat-file tests: add corrupt loose object test + + cat-file tests: test for missing/bogus object with -t, -s and -p + + cat-file tests: move bogus_* variable declarations earlier + + fsck tests: test for garbage appended to a loose object + + fsck tests: test current hash/type mismatch behavior + + fsck tests: refactor one test to use a sub-repo + + fsck tests: add test for fsck-ing an unknown type "git fsck" has been taught to report mismatch between expected and actual types of an object better. - Will merge to 'next'. - - -* ab/config-based-hooks-1 (2021-09-27) 8 commits - (merged to 'next' on 2021-10-06 at d05325ed35) - + hook-list.h: add a generated list of hooks, like config-list.h - + hook.c users: use "hook_exists()" instead of "find_hook()" - + hook.c: add a hook_exists() wrapper and use it in bugreport.c - + hook.[ch]: move find_hook() from run-command.c to hook.c - + Makefile: remove an out-of-date comment - + Makefile: don't perform "mv $@+ $@" dance for $(GENERATED_H) - + Makefile: stop hardcoding {command,config}-list.h - + Makefile: mark "check" target as .PHONY - - Mostly preliminary clean-up in the hook API. - - Will merge to 'master'. - - -* ab/make-sparse-for-real (2021-09-22) 1 commit - (merged to 'next' on 2021-10-06 at 10e3c31d6a) - + Makefile: make the "sparse" target non-.PHONY - - Prevent "make sparse" from running for the source files that - haven't been modified. - Will merge to 'master'. * jt/no-abuse-alternate-odb-for-submodules (2021-10-08) 9 commits - - submodule: trace adding submodule ODB as alternate - - submodule: pass repo to check_has_commit() - - object-file: only register submodule ODB if needed - - merge-{ort,recursive}: remove add_submodule_odb() - - refs: peeling non-the_repository iterators is BUG - - refs: teach arbitrary repo support to iterators - - refs: plumb repo into ref stores - - Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules - - Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules + (merged to 'next' on 2021-10-14 at ae49a2ceda) + + submodule: trace adding submodule ODB as alternate + + submodule: pass repo to check_has_commit() + + object-file: only register submodule ODB if needed + + merge-{ort,recursive}: remove add_submodule_odb() + + refs: peeling non-the_repository iterators is BUG + + refs: teach arbitrary repo support to iterators + + refs: plumb repo into ref stores + + Merge branch 'jk/ref-paranoia' into jt/no-abuse-alternate-odb-for-submodules + + Merge branch 'jt/add-submodule-odb-clean-up' into jt/no-abuse-alternate-odb-for-submodules Follow through the work to use the repo interface to access submodule objects in-process, instead of abusing the alternate object database interface. - Will merge to 'next'? + Will merge to 'master'. * tp/send-email-completion (2021-10-07) 3 commits @@ -648,26 +764,6 @@ Release tarballs are available at: cf. <xmqq1r4vjji3.fsf@gitster.g> -* en/removing-untracked-fixes (2021-09-27) 12 commits - (merged to 'next' on 2021-10-06 at fc4e387fda) - + Documentation: call out commands that nuke untracked files/directories - + Comment important codepaths regarding nuking untracked files/dirs - + unpack-trees: avoid nuking untracked dir in way of locally deleted file - + unpack-trees: avoid nuking untracked dir in way of unmerged file - + Change unpack_trees' 'reset' flag into an enum - + Remove ignored files by default when they are in the way - + unpack-trees: make dir an internal-only struct - + unpack-trees: introduce preserve_ignored to unpack_trees_options - + read-tree, merge-recursive: overwrite ignored files by default - + checkout, read-tree: fix leak of unpack_trees_options.dir - + t2500: add various tests for nuking untracked files - + Merge branch 'en/am-abort-fix' into en/removing-untracked-fixes - - Various fixes in code paths that move untracked files away to make room. - - Will merge to 'master'. - - * ks/submodule-add-message-fix (2021-09-20) 1 commit - submodule--helper: fix incorrect newlines in an error message @@ -694,53 +790,6 @@ Release tarballs are available at: Will merge to 'next'? -* jh/builtin-fsmonitor-part1 (2021-09-20) 7 commits - (merged to 'next' on 2021-10-06 at 021f633b9c) - + t/helper/simple-ipc: convert test-simple-ipc to use start_bg_command - + run-command: create start_bg_command - + simple-ipc/ipc-win32: add Windows ACL to named pipe - + simple-ipc/ipc-win32: add trace2 debugging - + simple-ipc: move definition of ipc_active_state outside of ifdef - + simple-ipc: preparations for supporting binary messages. - + trace2: add trace2_child_ready() to report on background children - - Built-in fsmonitor (part 1). - - Will merge to 'master'. - - -* ab/align-parse-options-help (2021-09-22) 4 commits - (merged to 'next' on 2021-10-06 at e22da7ef85) - + parse-options: properly align continued usage output - + git rev-parse --parseopt tests: add more usagestr tests - + send-pack: properly use parse_options() API for usage string - + parse-options API users: align usage output in C-strings - - When "git cmd -h" shows more than one line of usage text (e.g. - the cmd subcommand may take sub-sub-command), parse-options API - learned to align these lines, even across i18n/l10n. - - Will merge to 'master'. - - -* ab/help-config-vars (2021-09-23) 9 commits - (merged to 'next' on 2021-10-06 at bf9538cfbd) - + help: move column config discovery to help.c library - + help / completion: make "git help" do the hard work - + help tests: test --config-for-completion option & output - + help: simplify by moving to OPT_CMDMODE() - + help: correct logic error in combining --all and --guides - + help: correct logic error in combining --all and --config - + help tests: add test for --config output - + help: correct usage & behavior of "git help --guides" - + help: correct the usage string in -h and documentation - - Teach "git help -c" into helping the command line completion of - configuration variables. - - Will merge to 'master'. - - * tb/repack-write-midx (2021-10-07) 10 commits (merged to 'next' on 2021-10-08 at ff8fec247e) + test-read-midx: fix leak of bitmap_index struct @@ -761,29 +810,6 @@ Release tarballs are available at: Will merge to 'master'. -* ds/add-rm-with-sparse-index (2021-09-28) 13 commits - (merged to 'next' on 2021-10-06 at 80a9cda797) - + advice: update message to suggest '--sparse' - + mv: refuse to move sparse paths - + rm: skip sparse paths with missing SKIP_WORKTREE - + rm: add --sparse option - + add: update --renormalize to skip sparse paths - + add: update --chmod to skip sparse paths - + add: implement the --sparse option - + add: skip tracked paths outside sparse-checkout cone - + add: fail when adding an untracked sparse file - + dir: fix pattern matching on dirs - + dir: select directories correctly - + t1092: behavior for adding sparse files - + t3705: test that 'sparse_entry' is unstaged - - "git add", "git mv", and "git rm" have been adjusted to avoid - updating paths outside of the sparse-checkout definition unless - the user specifies a "--sparse" option. - - Will merge to 'master'. - - * en/zdiff3 (2021-09-20) 2 commits - update documentation for new zdiff3 conflictStyle - xdiff: implement a zealous diff3, or "zdiff3" @@ -836,49 +862,52 @@ Release tarballs are available at: The "--preserve-merges" option of "git rebase" has been removed. - Will cook in 'next'. + Will merge to 'master'. -* ab/refs-errno-cleanup (2021-08-25) 4 commits - - refs: make errno output explicit for refs_resolve_ref_unsafe - - refs: explicitly return failure_errno from parse_loose_ref_contents +* ab/refs-errno-cleanup (2021-10-14) 20 commits + - refs API: post-migration API renaming [2/2] + - refs API: post-migration API renaming [1/2] + - refs API: don't expose "errno" in run_transaction_hook() + - refs API: make expand_ref() & repo_dwim_log() not set errno + - refs API: make resolve_ref_unsafe() not set errno + - refs API: make refs_ref_exists() not set errno + - refs API: make refs_resolve_refdup() not set errno + - refs tests: ignore ignore errno in test-ref-store helper + - refs API: ignore errno in worktree.c's find_shared_symref() + - refs API: ignore errno in worktree.c's add_head_info() + - refs API: make files_copy_or_rename_ref() et al not set errno + - refs API: make loose_fill_ref_dir() not set errno + - refs API: make resolve_gitlink_ref() not set errno + - refs API: remove refs_read_ref_full() wrapper + - refs/files: remove "name exist?" check in lock_ref_oid_basic() + - refs API: make refs_rename_ref_available() static + - refs API: make parse_loose_ref_contents() not set errno + - refs API: make refs_read_raw_ref() not set errno + - refs API: add a version of refs_resolve_ref_unsafe() with "errno" - branch tests: test for errno propagating on failing read - - refs: add failure_errno to refs_read_raw_ref() signature The "remainder" of hn/refs-errno-cleanup topic. + Breaks the build. + cf. <xmqqh7djba6e.fsf@gitster.g> -* ab/lib-subtest (2021-09-22) 9 commits - (merged to 'next' on 2021-10-06 at e8fa261811) - + test-lib tests: get rid of copy/pasted mock test code - + test-lib tests: assert 1 exit code, not non-zero - + test-lib tests: refactor common part of check_sub_test_lib_test*() - + test-lib tests: avoid subshell for "test_cmp" for readability - + test-lib tests: don't provide a description for the sub-tests - + test-lib tests: split up "write and run" into two functions - + test-lib tests: move "run_sub_test" to a new lib-subtest.sh - + Merge branch 'ps/t0000-output-directory-fix' into ab/lib-subtest - + Merge branch 'jk/t0000-subtests-fix' into ab/lib-subtest - - Updates to the tests in t0000 to test the test framework. - - Will merge to 'master'. - -* ab/only-single-progress-at-once (2021-09-22) 8 commits +* ab/only-single-progress-at-once (2021-10-13) 10 commits - progress.c: add & assert a "global_progress" variable - - pack-bitmap-write.c: add a missing stop_progress() + - various *.c: use isatty(1|2), not isatty(STDIN_FILENO|STDERR_FILENO) + - pack-bitmap-write.c: don't return without stop_progress() - progress.c: add temporary variable from progress struct - - progress.c: stop eagerly fflush(stderr) when not a terminal - progress.c: call progress_interval() from progress_test_force_update() - progress.c: move signal handler functions lower - progress.c tests: test some invalid usage - progress.c tests: make start/stop verbs on stdin + - progress.c test helper: add missing braces + - leak tests: fix a memory leaks in "test-progress" helper Further tweaks on progress API. - Under review. - cf. <20211010212949.GC571180@szeder.dev> + Will merge to 'next'? * fs/ssh-signing (2021-09-10) 9 commits @@ -892,6 +921,7 @@ Release tarballs are available at: + ssh signing: add ssh key format and signing code + ssh signing: add test prereqs + ssh signing: preliminary refactoring and clean-up + (this branch is used by fs/ssh-signing-fix.) Use ssh public crypto for object and push-cert signing. |