summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-10-14 15:19:45 -0700
committerJunio C Hamano <gitster@pobox.com>2021-10-14 15:20:49 -0700
commit2d679f40c21efe91581ef430fe197c0e43a20e34 (patch)
tree5bdbb8b82ef537f769d07c7f913164c5c12ec00c
parent771ea3b2e8dd50568c1ac5c9cace6c552360b80a (diff)
What's cooking (2021/10 #04)
-rw-r--r--whats-cooking.txt764
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.