From: Junio C Hamano Date: Sat, 20 Mar 2021 21:37:49 +0000 (-0700) Subject: What's cooking (2021/03 #06) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f8517ffbace60c203fb0413eeaf68726f26b5b9;p=thirdparty%2Fgit.git What's cooking (2021/03 #06) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 0d47ab08a3..41697199d0 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 (Mar 2021, #05; Wed, 17) -X-master-at: a5828ae6b52137b913b978e16cd2334482eb4c1f -X-next-at: 576ba9dcdaf1007243f5a5cb4bf1a1e7b8fcf850 +Subject: What's cooking in git.git (Mar 2021, #06; Sat, 20) +X-master-at: 98164e9585e02e31dcf1377a553efe076c15f8c6 +X-next-at: 969a361487c061e846b5006dbe0a9d5867dba012 -What's cooking in git.git (Mar 2021, #05; Wed, 17) +What's cooking in git.git (Mar 2021, #06; Sat, 20) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -12,17 +12,13 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -Git 2.31 has been tagged. We will hopefully either (1) not see -brown-paper-bag breakages at all, or (2) will see some but can -immediately deal with them, in coming couple of days. After that, -the 2.32 cycle will gain steam, starting next week. Let's see. +The first batch of topics (all fixes, and most are meant to be +merged eventually to the maintenance track) is in 'master'. -Many topics marked as "Will cook in 'next'" should be marked for -merging to 'master' now, but that hasn't happened yet. Please -nominate those that should be kicked back from 'next' to 'seen', if -there are any. Please also nominate those that should be among the -first batch of topics to be in 'master' (after a handful of 2.31 -regression fixes go through 'next' down to 'master', that is). +The tip of the 'next' hasn't been rewound yet, so it is a good time +to nominate those topics that would benefit by a chance to get rid +of "oops that was wrong and here is a fix" steps out of them by +rebuilding on a clean slate. 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 @@ -53,124 +49,287 @@ Release tarballs are available at: https://www.kernel.org/pub/software/scm/git/ -------------------------------------------------- -[New Topics] - -* jc/calloc-fix (2021-03-15) 1 commit - - xcalloc: use CALLOC_ARRAY() when applicable +[Graduated to 'master'] - Code clean-up. +* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit + (merged to 'next' on 2021-03-13 at e82816998f) + + Makefile: update 'make fuzz-all' docs to reflect modern clang - Will merge to 'next'. + Update insn in Makefile comments to run fuzz-all target. -* ab/tree-walk-with-object-type (2021-03-17) 32 commits - - tree-walk.h API: add a tree_entry_extract_type() function - - blame: emit a better error on 'git blame directory' - - tree-walk.h API: add a get_tree_entry_path() function - - tree-walk.h API: add get_tree_entry_all() - - tree-walk.h API: add a tree_entry_extract_all() function - - tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode() - - tree-walk.h API: document and format tree_entry_extract() - - tree-walk.h API: add get_tree_entry_type() - - match-trees: use "tmp" for mode in shift_tree_by() - - tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode() - - tree-walk.h API: formatting changes for subsequent commit - - tree-walk.h users: use temporary variable(s) for "mode" - - fsck.c: switch on "object_type" in fsck_walk_tree() - - merge-ort: correct reference to test in 62fdec17a11 - - merge-tree tests: test for the mode comparison in same_entry() - - tree-walk.h users: migrate miscellaneous "mode" to "object_type" - - tree-walk.h users: refactor chained "mode" if/else into switch - - tree-walk.h users: migrate "p->mode &&" pattern - - tree.h API: make read_tree_fn_t take an "enum object_type" - - archive: get rid of 'stage' parameter - - tree.h users: format argument lists in archive.c - - tree.h: format argument lists of read_tree_recursive() users - - tree-walk.h users: switch object_type(...) to new .object_type - - cache.h: have base_name_compare() take "is tree?", not "mode" - - diff tests: test that "mode" is passed when sorting - - mktree tests: test that "mode" is passed when sorting - - fast-import tests: test for sorting dir/file foo v.s. foo.txt - - tree-walk.c: migrate to using new "object_type" field when possible - - tree-walk.h: add object_type member to name_entry - - cache.h: add a comment to object_type() - - notes & match-trees: use name_entry's "pathlen" member - - diff.c: remove redundant canon_mode() call - (this branch uses ab/read-tree.) +* jc/calloc-fix (2021-03-15) 1 commit + (merged to 'next' on 2021-03-18 at b656fb7750) + + xcalloc: use CALLOC_ARRAY() when applicable Code clean-up. - I am not exactly sure where this series wants to go, other than - unnecessarily churning the code. Seems to break "diff --no-index" - rather badly, too (e.g. t4050, t4002, among others). - * jh/fsmonitor-prework (2021-03-17) 1 commit - - fsmonitor: avoid global-buffer-overflow READ when checking trivial response + (merged to 'next' on 2021-03-18 at 991232bc89) + + fsmonitor: avoid global-buffer-overflow READ when checking trivial response The fsmonitor interface read from its input without making sure there is something to read from. This bug is new in 2.31 timeframe. - Will merge to 'next'. - * jk/bisect-peel-tag-fix (2021-03-17) 1 commit - - bisect: peel annotated tags to commits + (merged to 'next' on 2021-03-18 at 6ebde86229) + + bisect: peel annotated tags to commits "git bisect" reimplemented more in C during 2.30 timeframe did not take an annotated tag as a good/bad endpoint well. This regression has been corrected. - Will merge to 'next'. + +* jk/slimmed-down (2021-03-14) 1 commit + (merged to 'next' on 2021-03-18 at 4993f4effa) + + vcs-svn: remove header files as well + + Unused code removal. * js/fsmonitor-unpack-fix (2021-03-17) 2 commits - - fsmonitor: do not forget to release the token in `discard_index()` - - fsmonitor: fix memory corruption in some corner cases + (merged to 'next' on 2021-03-18 at 2ab614ffda) + + fsmonitor: do not forget to release the token in `discard_index()` + + fsmonitor: fix memory corruption in some corner cases The data structure used by fsmonitor interface was not properly duplicated during an in-core merge, leading to use-after-free etc. - Will merge to 'next'. - * jt/clone-unborn-head (2021-03-17) 1 commit - - t5606: run clone branch name test with protocol v2 + (merged to 'next' on 2021-03-18 at c61dd431c3) + + t5606: run clone branch name test with protocol v2 Test fix. - Will merge to 'next'. - * km/config-doc-typofix (2021-03-17) 1 commit - - config.txt: add missing period + (merged to 'next' on 2021-03-18 at aa8439608d) + + config.txt: add missing period Docfix. - Will merge to 'next'. + +* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits + (merged to 'next' on 2021-03-18 at 9306b824a4) + + mem-pool: drop trailing semicolon from macro definition + + block-sha1: drop trailing semicolon from macro definition + + Fix macros that can silently inject unintended null-statements. + + +* rs/calloc-array (2021-03-15) 3 commits + (merged to 'next' on 2021-03-18 at f693824416) + + cocci: allow xcalloc(1, size) + + use CALLOC_ARRAY + + git-compat-util.h: drop trailing semicolon from macro definition + + CALLOC_ARRAY() macro replaces many uses of xcalloc(). + + +* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit + (merged to 'next' on 2021-03-14 at 312660a5ce) + + fix xcalloc() argument order + + Code cleanup. + + +* tb/git-mv-icase-fix (2021-03-03) 1 commit + (merged to 'next' on 2021-03-14 at 700e7556f1) + + git mv foo FOO ; git mv foo bar gave an assert + + Fix a corner case bug in "git mv" on case insensitive systems, + which was introduced in 2.29 timeframe. -------------------------------------------------- -[Stalled] +[New Topics] -* mt/parallel-checkout-part-1 (2020-12-16) 9 commits - - entry: add checkout_entry_ca() taking preloaded conv_attrs - - entry: move conv_attrs lookup up to checkout_entry() - - entry: extract update_ce_after_write() from write_entry() - - entry: make fstat_output() and read_blob_entry() public - - entry: extract a header file for entry.c functions - - convert: add classification for conv_attrs struct - - convert: add get_stream_filter_ca() variant - - convert: add [async_]convert_to_working_tree_ca() variants - - convert: make convert_attrs() and convert structs public +* ds/sparse-index (2021-03-18) 20 commits + - p2000: add sparse-index repos + - sparse-index: loose integration with cache_tree_verify() + - cache-tree: integrate with sparse directory entries + - sparse-checkout: disable sparse-index + - sparse-checkout: toggle sparse index from builtin + - sparse-index: create extension for compatibility + - sparse-index: check index conversion happens + - unpack-trees: allow sparse directories + - submodule: sparse-index should not collapse links + - sparse-index: convert from full to sparse + - sparse-checkout: hold pattern list in index + - unpack-trees: ensure full index + - test-tool: don't force full index + - test-read-cache: print cache entries with --table + - t1092: compare sparse-checkout to sparse-index + - sparse-index: implement ensure_full_index() + - sparse-index: add guard to ensure full index + - t1092: clean up script quoting + - t/perf: add performance test for sparse operations + - sparse-index: design doc and format update + (this branch is used by ds/sparse-index-protections; uses ab/read-tree.) + + +* en/ort-perf-batch-10 (2021-03-18) 8 commits + - diffcore-rename: determine which relevant_sources are no longer relevant + - merge-ort: record the reason that we want a rename for a file + - diffcore-rename: add computation of number of unknown renames + - diffcore-rename: check if we have enough renames for directories early on + - diffcore-rename: only compute dir_rename_count for relevant directories + - merge-ort: record the reason that we want a rename for a directory + - merge-ort, diffcore-rename: tweak dirs_removed and relevant_source type + - diffcore-rename: take advantage of "majority rules" to skip more renames + (this branch is used by en/ort-readiness; uses en/ort-perf-batch-8 and en/ort-perf-batch-9.) + + +* jk/fail-prereq-testfix (2021-03-18) 1 commit + (merged to 'next' on 2021-03-19 at 180b9c0911) + + t: annotate !PTHREADS tests with !FAIL_PREREQS + + GIT_TEST_FAIL_PREREQS is a mechanism to skip test pieces with + prerequisites to catch broken tests that depend on the side effects + of optional pieces, but did not work at all when negative + prerequisites were involved. + + Will merge to 'master'. + + +* mt/add-rm-in-sparse-checkout (2021-03-18) 7 commits + - rm: honor sparse checkout patterns + - add: warn when asked to update SKIP_WORKTREE entries + - refresh_index(): add REFRESH_DONT_MARK_SPARSE_MATCHES flag + - pathspec: allow to ignore SKIP_WORKTREE entries on index matching + - add: make --chmod and --renormalize honor sparse checkouts + - t3705: add tests for `git add` in sparse checkouts + - add: include magic part of pathspec on --refresh error + + "git add" and "git rm" learned not to touch those paths that are + outside of sparse checkout. - Parallel checkout. + Expecting a reroll. + cf. - Looking good. +* mt/checkout-remove-nofollow (2021-03-18) 2 commits + - checkout: don't follow symlinks when removing entries + - symlinks: update comment on threaded_check_leading_path() -* ag/merge-strategies-in-c (2021-03-15) 14 commits - - SQUASH??? CALLOC_ARRAY() + When "git checkout" removes a path that does not exist in the + commit it is checking out, it wasn't careful enough not to follow + symbolic links, which has been corrected. + + Will merge to 'next'. + + +* mt/parallel-checkout-part-2 (2021-03-18) 5 commits + - parallel-checkout: add design documentation + - parallel-checkout: support progress displaying + - parallel-checkout: add configuration options + - parallel-checkout: make it truly parallel + - unpack-trees: add basic support for parallel checkout + (this branch uses mt/parallel-checkout-part-1.) + + +* nk/diff-index-fsmonitor (2021-03-18) 3 commits + (merged to 'next' on 2021-03-19 at 3b83b2359a) + + fsmonitor: add perf test for git diff HEAD + + fsmonitor: add assertion that fsmonitor is valid to check_removed + + fsmonitor: skip lstat deletion check during git diff-index + + "git diff-index" codepath has been taught to trust fsmonitor status + to reduce number of lstat() calls. + + Will merge to 'master'. + + +* ps/pack-bitmap-optim (2021-03-18) 1 commit + - pack-bitmap: avoid traversal of objects referenced by uninteresting tag + + Optimize "rev-list --use-bitmap-index --objects" corner case that + uses negative tags as the stopping points. + + Needs review. + cf. + + +* bs/asciidoctor-installation-hints (2021-03-19) 1 commit + - INSTALL: note on using Asciidoctor to build doc + + Doc update. + + Will merge to 'next'. + + +* dl/complete-stash (2021-03-18) 3 commits + - git-completion.bash: use __gitcomp_builtin() in _git_stash() + - git-completion.bash: fix `git ... stash branch` bug + - git-completion.bash: extract from else in _git_stash() + + Update "git stash branch" command line completion (in contrib/). + + Expecting a reroll. + cf. + + +* ds/sparse-index-protections (2021-03-19) 27 commits + - name-hash: use expand_to_path() + - sparse-index: expand_to_path() + - revision: ensure full index + - resolve-undo: ensure full index + - read-cache: ensure full index + - pathspec: ensure full index + - merge-recursive: ensure full index + - merge-ort: ensure full index + - entry: ensure full index + - dir: ensure full index + - diff-lib: ensure full index + - update-index: ensure full index + - sparse-checkout: ensure full index + - rm: ensure full index + - merge-index: ensure full index + - ls-files: ensure full index + - grep: ensure full index + - fsck: ensure full index + - difftool: ensure full index + - commit: ensure full index + - checkout: ensure full index + - checkout-index: ensure full index + - add: ensure full index + - cache: move ensure_full_index() to cache.h + - sparse-index: API protection strategy + - read-cache: expand on query into sparse-directory entry + - *: remove 'const' qualifier for struct index_state + (this branch uses ab/read-tree and ds/sparse-index.) + + Sparse-index technology demonstration. + + +* en/ort-readiness (2021-03-20) 13 commits + - Add testing with merge-ort merge strategy + - t6423: mark remaining expected failure under merge-ort as such + - Revert "merge-ort: ignore the directory rename split conflict for now" + - merge-recursive: add a bunch of FIXME comments documenting known bugs + - merge-ort: write $GIT_DIR/AUTO_MERGE whenever we hit a conflict + - t: mark several submodule merging tests as fixed under merge-ort + - merge-ort: implement CE_SKIP_WORKTREE handling with conflicted entries + - t6428: new test for SKIP_WORKTREE handling and conflicts + - merge-ort: support subtree shifting + - merge-ort: let renormalization change modify/delete into clean delete + - merge-ort: have ll_merge() use a special attr_index for renormalization + - merge-ort: add a special minimal index just for renormalization + - merge-ort: use STABLE_QSORT instead of QSORT where required + (this branch uses en/ort-perf-batch-10, en/ort-perf-batch-8 and en/ort-perf-batch-9.) + + Plug the ort merge backend throughout the rest of the system, and + start testing it as a replacement for the recursive backend. + + Will merge to 'next'. + +-------------------------------------------------- +[Cooking] + +* ag/merge-strategies-in-c (2021-03-17) 15 commits - sequencer: use the "octopus" merge strategy without forking - sequencer: use the "resolve" strategy without forking - merge: use the "octopus" strategy without forking @@ -178,20 +337,38 @@ Release tarballs are available at: - merge-octopus: rewrite in C - merge-recursive: move better_branch_name() to merge.c - merge-resolve: rewrite in C - - merge-index: don't fork if the requested program is `git-merge-one-file' - - merge-index: libify merge_one_path() and merge_all() - merge-one-file: rewrite in C - update-index: move add_cacheinfo() to read-cache.c + - merge-index: add a new way to invoke `git-merge-one-file' + - merge-index: drop the index + - merge-index: libify merge_one_path() and merge_all() + - t6060: add tests for removed files - t6060: modify multiple files to expose a possible issue with merge-index - t6407: modernise tests The resolve and octopus merge strategy backends have been rewritten in C. - Got enough review comments to get updated. + Ready? + + +* mt/parallel-checkout-part-1 (2021-03-18) 9 commits + (merged to 'next' on 2021-03-19 at a1bc83ad8e) + + entry: add checkout_entry_ca() taking preloaded conv_attrs + + entry: move conv_attrs lookup up to checkout_entry() + + entry: extract update_ce_after_write() from write_entry() + + entry: make fstat_output() and read_blob_entry() public + + entry: extract a header file for entry.c functions + + convert: add classification for conv_attrs struct + + convert: add get_stream_filter_ca() variant + + convert: add [async_]convert_to_working_tree_ca() variants + + convert: make convert_attrs() and convert structs public + (this branch is used by mt/parallel-checkout-part-2.) + + Preparatory API changes for parallel checkout. + + Will merge to 'master'. --------------------------------------------------- -[Cooking] * ab/fsck-api-cleanup (2021-03-17) 19 commits - fetch-pack: use new fsck API to printing dangling submodules @@ -227,49 +404,22 @@ Release tarballs are available at: - merge-ort: add data structures for an alternate tree traversal - merge-ort: precompute subset of sources for which we need rename detection - diffcore-rename: enable filtering possible rename sources - (this branch uses en/ort-perf-batch-8.) - - More ort. + (this branch is used by en/ort-perf-batch-10 and en/ort-readiness; uses en/ort-perf-batch-8.) - Ready? + The ort merge backend has been optimized by skipping irrelevant + renames. * js/http-pki-credential-store (2021-03-11) 2 commits - - http: drop the check for an empty proxy password before approving - - http: store credential when PKI auth is used + (merged to 'next' on 2021-03-19 at 5138870dee) + + http: drop the check for an empty proxy password before approving + + http: store credential when PKI auth is used The http codepath learned to let the credential layer to cache the password used to unlock a certificate that has successfully been used. - Will merge to 'next'. - - -* rs/avoid-null-statement-after-macro-call (2021-03-17) 2 commits - - mem-pool: drop trailing semicolon from macro definition - - block-sha1: drop trailing semicolon from macro definition - - Fix macros that can silently inject unintended null-statements. - - Will merge to 'next'. - - -* rs/calloc-array (2021-03-15) 3 commits - - cocci: allow xcalloc(1, size) - - use CALLOC_ARRAY - - git-compat-util.h: drop trailing semicolon from macro definition - - CALLOC_ARRAY() macro replaces many uses of xcalloc(). - - Will merge to 'next'. - - -* jk/slimmed-down (2021-03-14) 1 commit - - vcs-svn: remove header files as well - - Unused code removal. - - Will merge to 'next'. + Will merge to 'master'. * dl/stash-show-untracked (2021-03-05) 2 commits @@ -280,7 +430,7 @@ Release tarballs are available at: "git stash show" learned to optionally show untracked part of the stash. - Will cook in 'next'. + Will merge to 'master'. * hn/reftable (2021-03-12) 15 commits @@ -326,7 +476,7 @@ Release tarballs are available at: Code clean-up. - Will cook in 'next'. + Will merge to 'master'. In the longer term, we might want to remove filter-branch and nudge folks to more modern tools. @@ -359,7 +509,7 @@ Release tarballs are available at: - ls-files: don't needlessly pass around stage variable - tree.c API: move read_tree() into builtin/ls-files.c - ls-files tests: add meaningful --with-tree tests - (this branch is used by ab/tree-walk-with-object-type.) + (this branch is used by ab/tree-walk-with-object-type, ds/sparse-index and ds/sparse-index-protections.) Code simplification by removing support for a caller that is long gone. @@ -383,15 +533,6 @@ Release tarballs are available at: Looked good except for some rewrites. -* ah/make-fuzz-all-doc-update (2021-03-08) 1 commit - (merged to 'next' on 2021-03-13 at e82816998f) - + Makefile: update 'make fuzz-all' docs to reflect modern clang - - Update insn in Makefile comments to run fuzz-all target. - - Will cook in 'next'. - - * ah/plugleaks (2021-03-14) 9 commits - transport: also free remote_refs in transport_disconnect() - parse-options: don't leak alias help messages @@ -416,7 +557,7 @@ Release tarballs are available at: "git -c core.bare=false clone --bare ..." would have segfaulted, which has been corrected. - Will cook in 'next'. + Will merge to 'master'. * dl/cat-file-doc-cleanup (2021-03-03) 2 commits @@ -426,7 +567,7 @@ Release tarballs are available at: Doc cleanup. - Will cook in 'next'. + Will merge to 'master'. * jr/doc-ignore-typofix (2021-03-03) 1 commit @@ -435,23 +576,14 @@ Release tarballs are available at: Doc cleanup. - Will cook in 'next'. + Will merge to 'master'. * rr/mailmap-entry-self (2021-03-08) 1 commit (merged to 'next' on 2021-03-13 at 9f98a99713) + Add entry for Ramkumar Ramachandra - Will cook in 'next'. - - -* rs/xcalloc-takes-nelem-first (2021-03-08) 1 commit - (merged to 'next' on 2021-03-14 at 312660a5ce) - + fix xcalloc() argument order - - Code cleanup. - - Will cook in 'next'. + Will merge to 'master'. * sv/t9801-test-path-is-file-cleanup (2021-03-03) 1 commit @@ -460,24 +592,16 @@ Release tarballs are available at: Test cleanup. - Will cook in 'next'. - - -* tb/git-mv-icase-fix (2021-03-03) 1 commit - (merged to 'next' on 2021-03-14 at 700e7556f1) - + git mv foo FOO ; git mv foo bar gave an assert - - Fix a corner case bug in "git mv" on case insensitive systems, - which was introduced in 2.29 timeframe. - - Will cook in 'next'. + Will merge to 'master'. * tb/push-simple-uses-branch-merge-config (2021-03-13) 1 commit - - Documentation/git-push.txt: correct configuration typo + (merged to 'next' on 2021-03-19 at 2a81ed26fd) + + Documentation/git-push.txt: correct configuration typo Doc update. - cf. + + Will merge to 'master'. * ab/remote-write-config-in-camel-case (2021-02-24) 2 commits @@ -489,7 +613,7 @@ Release tarballs are available at: is configured so that it spells configuration variable names in the canonical camelCase. - Will cook in 'next'. + Will merge to 'master'. * ds/commit-graph-generation-config (2021-02-25) 2 commits @@ -501,7 +625,7 @@ Release tarballs are available at: which version of the generation number gets used in the commit-graph file. - Will cook in 'next'. + Will merge to 'master'. * mt/cleanly-die-upon-missing-required-filter (2021-02-26) 1 commit @@ -512,7 +636,7 @@ Release tarballs are available at: clean/smudge filter is missing, but an assert before that unnecessarily fired, hiding the end-user facing die() message. - Will cook in 'next'. + Will merge to 'master'. * ab/describe-tests-fix (2021-03-01) 10 commits @@ -530,7 +654,7 @@ Release tarballs are available at: Various updates to tests around "git describe" Expecting a reroll. - cf. + cf. * en/ort-perf-batch-8 (2021-02-26) 10 commits @@ -545,11 +669,11 @@ Release tarballs are available at: + diffcore-rename: add a mapping of destination names to their indices + diffcore-rename: provide basic implementation of idx_possible_rename() + diffcore-rename: use directory rename guided basename comparisons - (this branch is used by en/ort-perf-batch-9.) + (this branch is used by en/ort-perf-batch-10, en/ort-perf-batch-9 and en/ort-readiness.) Rename detection rework continues. - Will cook in 'next'. + Will merge to 'master'. * jk/perf-in-worktrees (2021-02-26) 2 commits @@ -559,7 +683,7 @@ Release tarballs are available at: Perf test update to work better in secondary worktrees. - Will cook in 'next'. + Will merge to 'master'. * ps/update-ref-trans-hook-doc (2021-03-01) 2 commits @@ -569,24 +693,30 @@ Release tarballs are available at: Doc update. - Will cook in 'next'. + Will merge to 'master'. -* zh/format-patch-fractional-reroll-count (2021-03-01) 1 commit +* zh/format-patch-fractional-reroll-count (2021-03-20) 1 commit - format-patch: allow a non-integral version numbers + "git format-patch -v" learned to allow a reroll count that is + not an integer. + + Expecting a reroll. + * ab/make-cleanup (2021-02-23) 5 commits - - Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets - - Makefile: split OBJECTS into OBJECTS and GIT_OBJS - - Makefile: sort OBJECTS assignment for subsequent change - - Makefile: split up long OBJECTS line - - Makefile: guard against TEST_OBJS in the environment + (merged to 'next' on 2021-03-19 at a86fcc482d) + + Makefile: add {program,xdiff,test,git,fuzz}-objs & objects targets + + Makefile: split OBJECTS into OBJECTS and GIT_OBJS + + Makefile: sort OBJECTS assignment for subsequent change + + Makefile: split up long OBJECTS line + + Makefile: guard against TEST_OBJS in the environment Reorganize Makefile to allow building git.o and other essential objects without extra stuff needed only for testing. - Will merge to 'next'. + Will merge to 'master'. * ab/grep-pcre2-allocfix (2021-02-17) 10 commits @@ -604,7 +734,7 @@ Release tarballs are available at: Updates to memory allocation code around the use of pcre2 library. - Will cook in 'next'. + Will merge to 'master'. * tb/reverse-midx (2021-03-11) 17 commits @@ -661,12 +791,13 @@ Release tarballs are available at: * cm/rebase-i-fixup-amend-reword (2021-03-15) 6 commits - - doc/git-commit: add documentation for fixup=[amend|reword] options - - t3437: use --fixup with options to create amend! commit - - t7500: add tests for --fixup=[amend|reword] options - - commit: add a reword suboption to --fixup - - commit: add amend suboption to --fixup to create amend! commit - - sequencer: export and rename subject_length() + (merged to 'next' on 2021-03-19 at 0f58ecb738) + + doc/git-commit: add documentation for fixup=[amend|reword] options + + t3437: use --fixup with options to create amend! commit + + t7500: add tests for --fixup=[amend|reword] options + + commit: add a reword suboption to --fixup + + commit: add amend suboption to --fixup to create amend! commit + + sequencer: export and rename subject_length() (this branch uses cm/rebase-i and cm/rebase-i-updates.) "git commit --fixup=", which was to tweak the changes made @@ -675,6 +806,8 @@ Release tarballs are available at: tweak both the message and the contents, and only the message, respectively. + Will merge to 'master'. + * jk/open-dotgitx-with-nofollow (2021-02-16) 6 commits (merged to 'next' on 2021-02-25 at a784bf7be6) @@ -692,7 +825,7 @@ Release tarballs are available at: contents of the files pointed by them by mistake, which has been corrected. - Will cook in 'next'. + Will merge to 'master'. * rs/pretty-describe (2021-03-11) 5 commits @@ -707,7 +840,7 @@ Release tarballs are available at: "git log --format='...'" learned "%(describe)" placeholder. - Will cook in 'next'. + Will merge to 'master'. * cm/rebase-i-updates (2021-02-10) 11 commits @@ -727,7 +860,7 @@ Release tarballs are available at: Follow-up fixes to "cm/rebase-i" topic. - Will cook in 'next', together with "cm/rebase-i". + Will merge to 'master'. * jh/simple-ipc (2021-03-15) 13 commits @@ -748,7 +881,7 @@ Release tarballs are available at: A simple IPC interface gets introduced to build services like fsmonitor on top. - Will merge to 'next'. + Expecting an update for SQUASH??? * cm/rebase-i (2021-01-29) 9 commits @@ -766,10 +899,11 @@ Release tarballs are available at: "rebase -i" is getting cleaned up and also enhanced. - Will cook in 'next', together with "cm/rebase-i-updates". + Will merge to 'master'. -* tb/geometric-repack (2021-03-05) 13 commits +* tb/geometric-repack (2021-03-19) 14 commits + - builtin/pack-objects.c: ignore missing links with --stdin-packs (merged to 'next' on 2021-03-08 at def1c48d43) + builtin/repack.c: reword comment around pack-objects flags + builtin/repack.c: be more conservative with unsigned overflows @@ -791,7 +925,7 @@ Release tarballs are available at: strategy to reduce the cost of repacking a repository has been introduced. - Will cook in 'next'. + Will merge to 'next'. * es/config-hooks (2021-03-10) 37 commits @@ -888,7 +1022,6 @@ Release tarballs are available at: Now replaced by es/config-hooks topic. - * jk/symlinked-dotgitx-files (2020-10-23) 9 commits . docs: document symlink restrictions for .git* files . fsck: complain when .gitattributes or .gitignore is a symlink @@ -911,3 +1044,43 @@ Release tarballs are available at: projects can opt out of the new checks? +* ab/tree-walk-with-object-type (2021-03-17) 32 commits + . tree-walk.h API: add a tree_entry_extract_type() function + . blame: emit a better error on 'git blame directory' + . tree-walk.h API: add a get_tree_entry_path() function + . tree-walk.h API: add get_tree_entry_all() + . tree-walk.h API: add a tree_entry_extract_all() function + . tree-entry.h API: rename tree_entry_extract() to tree_entry_extract_mode() + . tree-walk.h API: document and format tree_entry_extract() + . tree-walk.h API: add get_tree_entry_type() + . match-trees: use "tmp" for mode in shift_tree_by() + . tree-walk.h API: rename get_tree_entry() to get_tree_entry_mode() + . tree-walk.h API: formatting changes for subsequent commit + . tree-walk.h users: use temporary variable(s) for "mode" + . fsck.c: switch on "object_type" in fsck_walk_tree() + . merge-ort: correct reference to test in 62fdec17a11 + . merge-tree tests: test for the mode comparison in same_entry() + . tree-walk.h users: migrate miscellaneous "mode" to "object_type" + . tree-walk.h users: refactor chained "mode" if/else into switch + . tree-walk.h users: migrate "p->mode &&" pattern + . tree.h API: make read_tree_fn_t take an "enum object_type" + . archive: get rid of 'stage' parameter + . tree.h users: format argument lists in archive.c + . tree.h: format argument lists of read_tree_recursive() users + . tree-walk.h users: switch object_type(...) to new .object_type + . cache.h: have base_name_compare() take "is tree?", not "mode" + . diff tests: test that "mode" is passed when sorting + . mktree tests: test that "mode" is passed when sorting + . fast-import tests: test for sorting dir/file foo v.s. foo.txt + . tree-walk.c: migrate to using new "object_type" field when possible + . tree-walk.h: add object_type member to name_entry + . cache.h: add a comment to object_type() + . notes & match-trees: use name_entry's "pathlen" member + . diff.c: remove redundant canon_mode() call + (this branch uses ab/read-tree.) + + Code clean-up. + + I am not exactly sure where this series wants to go, other than + unnecessarily churning the code. Seems to break "diff --no-index" + rather badly, too (e.g. t4050, t4002, among others).