From 4648b800b6396c6d133571f8b84b25b16d6f11a4 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 25 Nov 2020 16:46:59 -0800 Subject: [PATCH] What's cooking (2020/11 #05) --- whats-cooking.txt | 1139 +++++++++++++++++++++++---------------------- 1 file changed, 581 insertions(+), 558 deletions(-) diff --git a/whats-cooking.txt b/whats-cooking.txt index 0239098834..ad4d197ddf 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 (Nov 2020, #04; Thu, 19) -X-master-at: faefdd61ec7c7f6f3c8c9907891465ac9a2a1475 -X-next-at: 04529851e543a22b6ba47fbb72737de4c325bb07 +Subject: What's cooking in git.git (Nov 2020, #05; Wed, 25) +X-master-at: e67fbf927dfdf13d0b21dc6ea15dc3c7ef448ea0 +X-next-at: a3fc446d84ab72dffeba6e9dfb89723fd0545d16 -What's cooking in git.git (Nov 2020, #04; Thu, 19) +What's cooking in git.git (Nov 2020, #05; Wed, 25) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -12,9 +12,8 @@ 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. -The sixth batch of topics are in 'master' and the tests are being -prepared not to be disrupted by a potential change of the default -name for the initial branch. +The number of topics merged for the next release since Git 2.29 has +just passed 100 after the 8th batch of them have graduated. Copies of the source code to Git live in many repositories, and the following is a list of the ones I push into. Some repositories have @@ -46,170 +45,146 @@ Release tarballs are available at: -------------------------------------------------- [Graduated to 'master'] -* ds/maintenance-part-3 (2020-10-16) 8 commits - (merged to 'next' on 2020-11-10 at fe9475c696) - + maintenance: add troubleshooting guide to docs - + maintenance: use 'incremental' strategy by default - + maintenance: create maintenance.strategy config - + maintenance: add start/stop subcommands - + maintenance: add [un]register subcommands - + for-each-repo: run subcommands on configured repos - + maintenance: add --schedule option and config - + maintenance: optionally skip --auto process - (this branch is used by ds/maintenance-part-4.) - - Parts of "git maintenance" to ease writing crontab entries (and - other scheduling system configuration) for it. - - -* dd/upload-pack-stateless-eof (2020-10-30) 1 commit - (merged to 'next' on 2020-11-09 at 01a1f1d4fd) - + upload-pack: allow stateless client EOF just prior to haves +* ab/config-mak-uname-simplify (2020-11-11) 2 commits + (merged to 'next' on 2020-11-12 at e1bd51ee71) + + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag + + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag - "git fetch --depth=" over the stateless RPC / smart HTTP - transport handled EOF from the client poorly at the server end. + Build configuration cleanup. -* dg/bswap-msvc (2020-11-11) 2 commits - (merged to 'next' on 2020-11-11 at 6b9e819b17) - + compat/bswap.h: don't assume MSVC is little-endian - (merged to 'next' on 2020-11-09 at 91a67b86f7) - + compat/bswap.h: simplify MSVC endianness detection +* en/strmap (2020-11-11) 15 commits + (merged to 'next' on 2020-11-12 at 41519a5f5c) + + shortlog: use strset from strmap.h + + Use new HASHMAP_INIT macro to simplify hashmap initialization + + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant + + strmap: enable allocations to come from a mem_pool + + strmap: add a strset sub-type + + strmap: split create_entry() out of strmap_put() + + strmap: add functions facilitating use as a string->int map + + strmap: enable faster clearing and reusing of strmaps + + strmap: add more utility functions + + strmap: new utility functions + + hashmap: provide deallocation function names + + hashmap: introduce a new hashmap_partial_clear() + + hashmap: allow re-use after hashmap_free() + + hashmap: adjust spacing to fix argument alignment + + hashmap: add usage documentation explaining hashmap_free[_entries]() + (this branch is used by en/merge-ort-impl.) - Define ARM64 compiled with MSVC to be little-endian. + A specialization of hashmap that uses a string as key has been + introduced. Hopefully it will see wider use over time. -* en/merge-ort-api-null-impl (2020-11-02) 4 commits - (merged to 'next' on 2020-11-10 at ed9eed1558) - + merge,rebase,revert: select ort or recursive by config or environment - + fast-rebase: demonstrate merge-ort's API via new test-tool command - + merge-ort-wrappers: new convience wrappers to mimic the old merge API - + merge-ort: barebones API of new merge strategy with empty implementation - (this branch is used by en/merge-ort-impl.) +* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits + (merged to 'next' on 2020-11-18 at 4241203041) + + completion: bash: improve alias loop detection + (merged to 'next' on 2020-11-10 at 75f1f2b8a8) + + completion: bash: check for alias loop + + completion: bash: support recursive aliases - Preparation for a new merge strategy. + The command line completion script (in contrib/) learned to expand + commands that are alias of alias. -* en/merge-tests (2020-10-26) 9 commits - (merged to 'next' on 2020-11-09 at 8ac9fe94a7) - + t6423: add more details about direct resolution of directories - + t6423: note improved ort handling with untracked files - + t6423, t6436: note improved ort handling with dirty files - + merge tests: expect slight differences in output for recursive vs. ort - + t6423: expect improved conflict markers labels in the ort backend - + t6404, t6423: expect improved rename/delete handling in ort backend - + t6416: correct expectation for rename/rename(1to2) + directory/file - + merge tests: expect improved directory/file conflict handling in ort - + t/: new helper for tests that pass with ort but fail with recursive +* jc/ci-github-set-env (2020-11-17) 1 commit + (merged to 'next' on 2020-11-19 at 00ff5e06ac) + + ci: avoid `set-env` construct in print-test-failures.sh - Preparation for a new merge strategy. + Another CI adjustment. -* jc/blame-ignore-fix (2020-11-10) 1 commit - (merged to 'next' on 2020-11-10 at 384ace449d) - + blame: silently ignore invalid ignore file objects +* jc/format-patch-name-max (2020-11-09) 1 commit + (merged to 'next' on 2020-11-11 at 17e19bb17a) + + format-patch: make output filename configurable - "git blame --ignore-revs-file=" learned to ignore a - non-existent object name in the input, instead of complaining. + The maximum length of output filenames "git format-patch" creates + has become configurable (used to be capped at 64). -* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit - (merged to 'next' on 2020-11-09 at 47c2c88b9d) - + log: diagnose -L used with pathspec as an error +* jk/4gb-idx (2020-11-16) 5 commits + (merged to 'next' on 2020-11-18 at 2f99b73bda) + + packfile: detect overflow in .idx file size checks + + block-sha1: take a size_t length parameter + + fsck: correctly compute checksums on idx files larger than 4GB + + use size_t to store pack .idx byte offsets + + compute pack .idx byte offsets using size_t - "git log -L:" is documented to take no pathspec, but - this was not enforced by the command line option parser, which has - been corrected. + The code was not prepared to deal with pack .idx file that is + larger than 4GB. -* jc/sparse-error-for-developer-build (2020-10-31) 1 commit - (merged to 'next' on 2020-11-10 at 8cfbe66736) - + Makefile: enable -Wsparse-error for DEVELOPER build +* jk/diff-release-filespec-fix (2020-11-11) 2 commits + (merged to 'next' on 2020-11-12 at 3b21625881) + + t7800: simplify difftool test + (merged to 'next' on 2020-11-09 at 6d89b9602d) + + diff: allow passing NULL to diff_free_filespec_data() + (this branch is used by js/default-branch-name-tests-final-stretch.) - "make DEVELOPER=1 sparse" used to run sparse and let it emit - warnings; now such warnings will cause an error. + Running "git diff" while allowing external diff in a state with + unmerged paths used to segfault, which has been corrected. -* jk/format-patch-output (2020-11-04) 3 commits - (merged to 'next' on 2020-11-09 at 1f1bb6ebff) - + format-patch: support --output option - + format-patch: tie file-opening logic to output_directory - + format-patch: refactor output selection +* jk/rev-parse-end-of-options (2020-11-10) 3 commits + (merged to 'next' on 2020-11-11 at 2d517d1608) + + rev-parse: handle --end-of-options + + rev-parse: put all options under the "-" check + + rev-parse: don't accept options after dashdash - "git format-patch --output=there" did not work as expected and - instead crashed. The option is now supported. + "git rev-parse" learned the "--end-of-options" to help scripts to + safely take a parameter that is supposed to be a revision, e.g. + "git rev-parse --verify -q --end-of-options $rev". -* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits - (merged to 'next' on 2020-11-09 at 568ba5aba5) - + t5515: use `main` as the name of the main branch for testing (conclusion) - + t5515: use `main` as the name of the main branch for testing (part 3) - + t5515: use `main` as the name of the main branch for testing (part 2) - + t5515: use `main` as the name of the main branch for testing (part 1) +* jx/t5411-flake-fix (2020-11-11) 3 commits + (merged to 'next' on 2020-11-18 at badb1fefe5) + + receive-pack: use default version 0 for proc-receive + + receive-pack: gently write messages to proc-receive + + t5411: new helper filter_out_user_friendly_and_stable_output - Prepare a test script to transition of the default branch name to - 'main'. + The exchange between receive-pack and proc-receive hook did not + carefully check for errors. -* nk/perf-fsmonitor (2020-10-26) 10 commits - (merged to 'next' on 2020-11-09 at 9fed160a17) - + t/perf/fsmonitor: add benchmark for dirty status - + t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations - + t/perf/fsmonitor: initialize test with git reset - + t/perf/fsmonitor: factor setup for fsmonitor into function - + t/perf/fsmonitor: silence initial git commit - + t/perf/fsmonitor: shorten DESC to basename - + t/perf/fsmonitor: factor description out for readability - + t/perf/fsmonitor: improve error message if typoing hook name - + t/perf/fsmonitor: move watchman setup to one-time-repo-setup - + t/perf/fsmonitor: separate one time repo initialization +* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit + (merged to 'next' on 2020-11-18 at 7cf396ee81) + + list-objects-filter-options: fix function name in BUG - Add t/perf support for fsmonitor. + Error message fix. + We can further update it to lose the hand-maintained function name + from the message, but that can be done separately. -* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits - (merged to 'next' on 2020-11-10 at 221bb3f773) - + blame: simplify 'setup_blame_bloom_data' interface - + blame: simplify 'setup_scoreboard' interface - + blame: enable funcname blaming with userdiff driver - + line-log: mention both modes in 'blame' and 'log' short help - + doc: add more pointers to gitattributes(5) for userdiff - + blame-options.txt: also mention 'funcname' in '-L' description - + doc: line-range: improve formatting - + doc: log, gitk: move '-L' description to 'line-range-options.txt' +* pd/mergetool-nvimdiff (2020-11-11) 2 commits + (merged to 'next' on 2020-11-12 at aff20da3a2) + + mergetool: avoid letting `list_tool_variants` break user-defined setups + + mergetools/bc: add `bc4` to the alias list for Beyond Compare - "git blame -L :funcname -- path" did not work well for a path for - which a userdiff driver is defined. + Fix regression introduced when nvimdiff support in mergetool was added. -* pw/rebase-i-orig-head (2020-11-04) 4 commits - (merged to 'next' on 2020-11-10 at 038a5295f5) - + rebase -i: simplify get_revision_ranges() - + rebase -i: use struct object_id when writing state - + rebase -i: use struct object_id rather than looking up commit - + rebase -i: stop overwriting ORIG_HEAD buffer +* pk/subsub-fetch-fix (2020-11-12) 1 commit + (merged to 'next' on 2020-11-18 at bdd3b21b7c) + + submodules: fix of regression on fetching of non-init subsub-repo - "git rebase -i" did not store ORIG_HEAD correctly. - cf. + "git fetch" did not work correctly with nested submodules where the + innermost submodule that is not of interest got updated in the + upstream, which has been corrected. -* rs/archive-high-compression (2020-11-09) 1 commit - (merged to 'next' on 2020-11-10 at 9bee80950e) - + archive: support compression levels beyond 9 +* rs/archive-plug-leak-refname (2020-11-16) 1 commit + (merged to 'next' on 2020-11-19 at 270ba7b8be) + + archive: release refname after use - "git archive" now allows compression level higher than "-9" - when generating tar.gz output. + Memleak fix. -* rs/empty-reflog-check-fix (2020-11-01) 1 commit - (merged to 'next' on 2020-11-09 at 3da6b6fef0) - + stash: simplify reflog emptiness check +* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit + (merged to 'next' on 2020-11-19 at 04529851e5) + + gc: fix cast in compare_tasks_by_selection() - The code to see if "git stash drop" can safely remove refs/stash - has been made more carerful. + Fix broken sorting of maintenance tasks. --------------------------------------------------- -[New Topics] * rs/hashwrite-be64 (2020-11-12) 3 commits (merged to 'next' on 2020-11-18 at 60385c6fa1) @@ -219,7 +194,12 @@ Release tarballs are available at: Code simplification. - Will merge to 'master'. + +* rs/plug-diff-cache-leak (2020-11-16) 1 commit + (merged to 'next' on 2020-11-23 at a9666bbac3) + + diff-lib: plug minor memory leaks in do_diff_cache() + + Memleak fix. * sg/bisect-approximately-halfway (2020-11-12) 1 commit @@ -231,296 +211,223 @@ Release tarballs are available at: optimized by stopping when we see a commit that is close enough to the half-way point. - Will merge to 'master'. - -* tb/pack-bitmap (2020-11-19) 24 commits - - pack-bitmap-write: better reuse bitmaps - - pack-bitmap-write: relax unique rewalk condition - - pack-bitmap-write: use existing bitmaps - - pack-bitmap: factor out 'add_commit_to_bitmap()' - - pack-bitmap: factor out 'bitmap_for_commit()' - - pack-bitmap-write: ignore BITMAP_FLAG_REUSE - - pack-bitmap-write: build fewer intermediate bitmaps - - pack-bitmap.c: check reads more aggressively when loading - - pack-bitmap-write: rename children to reverse_edges - - t5310: add branch-based checks - - commit: implement commit_list_contains() - - bitmap: add bitmap_diff_nonzero() - - pack-bitmap-write: fill bitmap with commit history - - pack-bitmap-write: pass ownership of intermediate bitmaps - - pack-bitmap-write: reimplement bitmap writing - - ewah: add bitmap_dup() function - - ewah: implement bitmap_or() - - ewah: make bitmap growth less aggressive - - ewah: factor out bitmap growth - - rev-list: die when --test-bitmap detects a mismatch - - t5310: drop size of truncated ewah bitmap - - pack-bitmap: bounds-check size of cache extension - - pack-bitmap: fix header size check - - ewah/ewah_bitmap.c: grow buffer past 1 - - Various improvement to the codepath that writes out pack bitmaps. - - -* ab/retire-parse-remote (2020-11-16) 3 commits - (merged to 'next' on 2020-11-18 at 80d4d8290c) - + parse-remote: remove this now-unused library - + submodule: remove sh function in favor of helper - + submodule: use "fetch" logic instead of custom remote discovery - - "git-parse-remote" shell script library outlived its usefulness. - - Will merge to 'master'. +* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit + (merged to 'next' on 2020-11-19 at 72fb4e7155) + + t5310-pack-bitmaps: skip JGit tests with SHA256 + Since jgit does not yet work with SHA-256 repositories, mark the + tests that uses it not to run unless we are testing with ShA-1 + repositories. -* jk/4gb-idx (2020-11-16) 5 commits - (merged to 'next' on 2020-11-18 at 2f99b73bda) - + packfile: detect overflow in .idx file size checks - + block-sha1: take a size_t length parameter - + fsck: correctly compute checksums on idx files larger than 4GB - + use size_t to store pack .idx byte offsets - + compute pack .idx byte offsets using size_t - The code was not prepared to deal with pack .idx file that is - larger than 4GB. +* sg/tests-prereq (2020-11-18) 2 commits + (merged to 'next' on 2020-11-23 at e8926781aa) + + tests: fix description of 'test_set_prereq' + + tests: make sure nested lazy prereqs work reliably - Will merge to 'master'. + A lazily defined test prerequisite can now be defined in terms of + another lazily defined test prerequisite. +-------------------------------------------------- +[New Topics] -* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit - (merged to 'next' on 2020-11-18 at 7cf396ee81) - + list-objects-filter-options: fix function name in BUG +* ab/gc-keep-base-option (2020-11-21) 2 commits + (merged to 'next' on 2020-11-25 at ac76ddcfe7) + + gc: rename keep_base_pack variable for --keep-largest-pack + + gc docs: change --keep-base-pack to --keep-largest-pack - Error message fix. + Fix an option name in "gc" documentation. Will merge to 'master'. - We can further update it to lose the hand-maintained function name - from the message, but that can be done separately. - - -* mt/rm-sparse-checkout (2020-11-16) 1 commit - - rm: honor sparse checkout patterns - (this branch uses mt/grep-sparse-checkout.) - - "git rm" follows suit to "git grep" to ignore paths outside the - sparsity pattern when the sparse checkout feature is in use. - - -* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits - - pull: check for local submodule modifications with the right range - - t5572: describe '--rebase' tests a little more - - t5572: add notes on a peculiar test - - pull --rebase: compute rebase arguments in separate function - "git pull --rebase --recurse-submodules" checked for local changes - in a wrong range and failed to run correctly when it should. - Will merge to 'next'. +* en/stash-apply-sparse-checkout (2020-11-21) 3 commits + - stash: fix stash application in sparse-checkouts + - stash: remove unnecessary process forking + - t7012: add a testcase demonstrating stash apply bugs in sparse checkouts -* pk/subsub-fetch-fix (2020-11-12) 1 commit - (merged to 'next' on 2020-11-18 at bdd3b21b7c) - + submodules: fix of regression on fetching of non-init subsub-repo +* jc/do-not-just-explain-but-update-your-patch (2020-11-24) 1 commit + (merged to 'next' on 2020-11-25 at 1f5235d4e1) + + MyFirstContribition: answering questions is not the end of the story - "git fetch" did not work correctly with nested submodules where the - innermost submodule that is not of interest got updated in the - upstream, which has been corrected. + Expectation for the original contributor after responding to a + review comment to use the explanation in a patch update has been + described. Will merge to 'master'. -* rs/archive-plug-leak-refname (2020-11-16) 1 commit - (merged to 'next' on 2020-11-19 at 270ba7b8be) - + archive: release refname after use +* jk/stop-pack-objects-when-push-is-killed (2020-11-21) 1 commit + (merged to 'next' on 2020-11-25 at f73fb999cd) + + send-pack: kill pack-objects helper on signal or exit - Memleak fix. + Receiving "git push" that is killed may leave zombie pack-objects + process behind, which has been corrected. Will merge to 'master'. -* rs/chdir-notify-unleak (2020-11-16) 1 commit - - chdir-notify: UNLEAK registrated callback entries +* ma/grep-init-default (2020-11-24) 4 commits + - MyFirstObjectWalk: drop `init_walken_defaults()` + - grep: copy struct in one fell swoop + - grep: use designated initializers for `grep_defaults` + - grep: don't set up a "default" repo for grep - Mark some stuff on list_head chain with UNLEAK() macro to squelch - leak checker. - - Will merge to 'next'. - - -* rs/plug-diff-cache-leak (2020-11-16) 1 commit - - diff-lib: plug minor memory leaks in do_diff_cache() - - Memleak fix. + Code clean-up. - Will merge to 'next'. + Expecting a (hopefully final) reroll. + cf. -* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit - (merged to 'next' on 2020-11-19 at 72fb4e7155) - + t5310-pack-bitmaps: skip JGit tests with SHA256 +* mt/worktree-error-message-fix (2020-11-21) 1 commit + (merged to 'next' on 2020-11-25 at bc887168ff) + + worktree: fix order of arguments in error message - Since jgit does not yet work with SHA-256 repositories, mark the - tests that uses it not to run unless we are testing with ShA-1 - repositories. + Fix formulation of an error message with two placeholders in "git + worktree add" subcommand. Will merge to 'master'. -* tb/repack-simplify (2020-11-17) 3 commits - - builtin/repack.c: don't move existing packs out of the way - - builtin/repack.c: keep track of what pack-objects wrote - - repack: make "exts" array available outside cmd_repack() +* na/notes-displayref-is-not-boolean (2020-11-23) 2 commits + (merged to 'next' on 2020-11-25 at b0dda46b56) + + t3301: test proper exit response to no-value notes.displayRef. + + notes.c: fix a segfault in notes_display_config() - Simplify the logic to deal with a repack operation that ended up - creating the same packfile. + Config parser fix for "git notes". - Will merge to 'next'. + Will merge to 'master'. -* dd/help-autocorrect-never (2020-11-18) 1 commit - - help.c: allow help.autocorrect to say "do not even compute suggestions" +* fc/atmark-in-refspec (2020-11-24) 1 commit + - refspec: make @ a synonym of HEAD - "git $cmd $args", when $cmd is not a recognised subcommand, by - default tries to see if $cmd is a typo of an existing subcommand - and optionally executes the corrected command if there is only one - possibility, depending on the setting of help.autocorrect; the - users can now disable the whole thing, including the cycles spent - to find a likely typo, by setting the configuration variable to - 'never'. + "@" sometimes worked (e.g. "git push origin @:there") as a part of + a refspec element, but "git push orign @" did not work, which has + been corrected. -* jc/ci-github-set-env (2020-11-17) 1 commit - (merged to 'next' on 2020-11-19 at 00ff5e06ac) - + ci: avoid `set-env` construct in print-test-failures.sh +* hn/sleep-millisec-decl (2020-11-24) 1 commit + (merged to 'next' on 2020-11-25 at d11de8b987) + + move sleep_millisec to git-compat-util.h - Another CI adjustment. + Move a definition of compatibility wrapper from cache.h to + git-compat-util.h Will merge to 'master'. -* jc/init-doc-default-branch (2020-11-18) 1 commit - - "init" doc: mention the configurability more clearly +* js/init-defaultbranch-advice (2020-11-24) 4 commits + - init: provide useful advice about init.defaultBranch + - get_default_branch_name(): prepare for showing some advice + - branch -m: allow renaming a yet-unborn branch + - init: document `init.defaultBranch` better - Doc update. + Our users are going to be trained to prepare for future change of + init.defaultBranch configuration variable. - Weatherbaloon. - -* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits - - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed - - t99*: adjust the references to the default branch name "main" - - tests(git-p4): transition to the default branch name `main` - - t9[5-7]*: adjust the references to the default branch name "main" - - t9[0-4]*: adjust the references to the default branch name "main" - - t8*: adjust the references to the default branch name "main" - - t7[5-9]*: adjust the references to the default branch name "main" - - t7[0-4]*: adjust the references to the default branch name "main" - - t6[4-9]*: adjust the references to the default branch name "main" - - t64*: preemptively adjust alignment to prepare for `master` -> `main` - - t6[0-3]*: adjust the references to the default branch name "main" - - t5[6-9]*: adjust the references to the default branch name "main" - - t55[4-9]*: adjust the references to the default branch name "main" - - t55[23]*: adjust the references to the default branch name "main" - - t551*: adjust the references to the default branch name "main" - - t550*: adjust the references to the default branch name "main" - - t5503: prepare aligned comment for replacing `master` with `main` - - t5[0-4]*: adjust the references to the default branch name "main" - - t5323: prepare centered comment for `master` -> `main` - - t4*: adjust the references to the default branch name "main" - - t3[5-9]*: adjust the references to the default branch name "main" - - t34*: adjust the references to the default branch name "main" - - t3416: preemptively adjust alignment in a comment - - t3[0-3]*: adjust the references to the default branch name "main" - - t2*: adjust the references to the default branch name "main" - - t[01]*: adjust the references to the default branch name "main" - - t0060: preemptively adjust alignment - - tests: mark tests relying on the current default for `init.defaultBranch` - - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch - (this branch uses jk/diff-release-filespec-fix.) - - Prepare tests not to be affected by the name of the default branch - "git init" creates. - - -* js/t2106-cleanup (2020-11-18) 3 commits - - t2106: ensure that the checkout fails for the expected reason - - t2106: make test independent of the current main branch name - - t2106: adjust style to the current conventions +* js/t3404-master-to-primary (2020-11-24) 1 commit + (merged to 'next' on 2020-11-25 at c2959cc831) + + t3404: do not depend on any specific default branch name A test script got cleaned up and then made not to depend on the value of init.defaultBranch. - Will merge to 'next'. + Will merge to 'master'. -* js/t3040-cleanup (2020-11-18) 1 commit - - t3040: remove stale note +* jt/trace-error-on-warning (2020-11-24) 1 commit + - usage: add trace2 entry upon warning() - Cleanup. + Like die() and error(), a call to warning() will also trigger a + trace2 event. Will merge to 'next'. -* js/t4015-wo-master (2020-11-19) 1 commit - - t4015: let the test pass with any default branch name - - A test script got cleaned up not to depend on the value of - init.defaultBranch. - - Will merge to 'next'. +* km/stash-error-message-fix (2020-11-24) 1 commit + (merged to 'next' on 2020-11-25 at 9ef82d6aa7) + + stash: add missing space to an error message + Error message fix. -* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit - (merged to 'next' on 2020-11-19 at 04529851e5) - + gc: fix cast in compare_tasks_by_selection() + Will merge to 'master'. - Fix broken sorting of maintenance tasks. - Will merge to 'master'. +* ps/config-env-pairs (2020-11-24) 2 commits + - config: allow specifying config entries via envvar pairs + - config: extract function to parse config pairs + Introduce a way to feed configuration variable-value pairs via + environment variables. -* sg/tests-prereq (2020-11-18) 2 commits - - tests: fix description of 'test_set_prereq' - - tests: make sure nested lazy prereqs work reliably + Getting there. + cf. - A lazily defined test prerequisite can now be defined in terms of - another lazily defined test prerequisite. - Will merge to 'next'. +* sa/credential-store-timeout (2020-11-25) 1 commit + (merged to 'next' on 2020-11-25 at 7a9a4b68fd) + + crendential-store: use timeout when locking file + Multiple "credential-store" backends can race to lock the same + file, causing everybody else but one to fail---reattempt locking + with some timeout to reduce the rate of the failure. -* ds/config-literal-value (2020-11-19) 6 commits - - config: implement --literal-value with --get* - - config: plumb --literal-value into config API - - config: add --literal-value option, un-implemented - - config: convert multi_replace to flags - - t1300: add test for --replace-all with value_regex - - t1300: test "set all" mode with value_regex - (this branch is used by ds/maintenance-part-3.) + Will merge to 'master'. -* ds/maintenance-part-3 (2020-11-19) 2 commits - - maintenance: use 'git config --literal-value' - - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3 - (this branch uses ds/config-literal-value.) +* tb/idx-midx-race-fix (2020-11-25) 2 commits + - midx.c: protect against disappearing packs + - packfile.c: protect against disappearing indexes - "git maintenance" command had trouble working in a directory whose - pathname contained an ERE metacharacter like '+'. + Processes that access packdata while the .idx file gets removed + (e.g. while repacking) did not fail or fall back gracefully as they + could. Will merge to 'next'. -* js/pull-rebase-use-advise (2020-11-19) 1 commit - - pull: colorize the hint about setting `pull.rebase` +* rs/stop-pack-objects-when-fetch-is-killed (2020-11-25) 1 commit + - upload-pack: kill pack-objects helper on signal or exit + "git upload-pack" that is killed may leave zombie pack-objects + process behind, which has been corrected. -* js/t1309-master-to-topic (2020-11-19) 1 commit - - t1309: use a neutral branch name in the `onbranch` test cases + Needs to be replaced with signed-off and/or improved version. -------------------------------------------------- [Stalled] +* mt/grep-sparse-checkout (2020-09-10) 9 commits + - config: add setting to ignore sparsity patterns in some cmds + - grep: honor sparse checkout patterns + - config: correctly read worktree configs in submodules + - config: make do_git_config_sequence receive a 'struct repository' + - t/helper/test-config: unify exit labels + - t/helper/test-config: diagnose missing arguments + - t/helper/test-config: be consistent with exit codes + - t1308-config-set: avoid false positives when using test-config + - doc: grep: unify info on configuration variables + (this branch is used by mt/rm-sparse-checkout.) + + "git grep" has been tweaked to be limited to the sparse checkout + paths. + + +* mt/rm-sparse-checkout (2020-11-16) 1 commit + - rm: honor sparse checkout patterns + (this branch uses mt/grep-sparse-checkout.) + + "git rm" follows suit to "git grep" to ignore paths outside the + sparsity pattern when the sparse checkout feature is in use. + + Need to wait for how these fit in larger picture. + cf. + + * jk/symlinked-dotgitx-files (2020-10-23) 9 commits (merged to 'next' on 2020-10-26 at c1dd37b024) + docs: document symlink restrictions for .git* files @@ -688,6 +595,8 @@ Release tarballs are available at: "git submodule add" being rewritten in C. + Needs review. + * mt/parallel-checkout-part-1 (2020-11-04) 19 commits - ci: run test round with parallel-checkout enabled @@ -710,28 +619,302 @@ Release tarballs are available at: - convert: add [async_]convert_to_working_tree_ca() variants - convert: make convert_attrs() and convert structs public - Parallel checkout. + Parallel checkout. + + Needs review. + + +* fc/bash-completion-post-2.29 (2020-11-10) 26 commits + - completion: bash: shuffle __gitcomp functions + - completion: bash: cleanup __gitcomp* invocations + - completion: bash: add __gitcomp_opts + - completion: bash: improve __gitcomp description + - completion: bash: rename _get_comp_words_by_ref() + - completion: bash: trivial cleanup + - completion: bash: cleanup _get_comp_words_by_ref() + - completion: bash: refactor _get_comp_words_by_ref() + - completion: bash: simplify _get_comp_words_by_ref() + - test: completion: switch __gitcomp_nl prefix test + - completion: bash: simplify config_variable_name + - completion: bash: improve __gitcomp suffix code + - completion: bash: change suffix check in __gitcomp + - completion: bash: simplify __gitcomp + - completion: bash: refactor __gitcomp + - completion: bash: simplify equal suffix check + - completion: bash: factor out check in __gitcomp + - completion: bash: get rid of any non-append code + - completion: bash: get rid of _append() functions + - completion: bash: remove non-append functionality + - test: completion: add run_func() helper + - test: completion: fix currently typed words + - completion: bash: do not modify COMP_WORDBREAKS + - completion: bash: fix for suboptions with value + - completion: bash: add correct suffix in variables + - completion: bash: fix prefix detection in branch.* + + Needs review. + + +* so/log-diff-merge (2020-11-09) 27 commits + - doc/git-show: include --diff-merges description + - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent + - doc/diff-generate-patch: mention new --diff-merges option + - doc/git-log: describe new --diff-merges options + - t4013: add test for --diff-merges=first-parent + - diff-merges: implement new values for --diff-merges + - diff-merges: make -m/-c/--cc explicitly mutually exclusive + - diff-merges: refactor opt settings into separate functions + - diff-merges: get rid of now empty diff_merges_init_revs() + - diff-merges: group diff-merge flags next to each other inside 'rev_info' + - diff-merges: split 'ignore_merges' field + - diff-merges: fix -m to properly override -c/--cc + - t4013: add tests for -m failing to override -c/--cc + - t4013: support test_expect_failure through ':failure' magic + - diff-merges: revise revs->diff flag handling + - diff-merges: introduce revs->first_parent_merges flag + - diff-merges: new function diff_merges_set_dense_combined_if_unset() + - diff-merges: new function diff_merges_suppress() + - diff-merges: re-arrange functions to match the order they are called in + - diff-merges: rename diff_merges_default_to_enable() to match semantics + - diff-merges: move checks for first_parent_only out of the module + - diff-merges: rename all functions to have common prefix + - revision: move diff merges functions to its own diff-merges.c + - revision: provide implementation for diff merges tweaks + - revision: factor out initialization of diff-merge related settings + - revision: factor out setup of diff-merge related settings + - revision: factor out parsing of diff-merge related options + + "git log" learned a new "--diff-merges=" option. + + Needs review. + +* en/merge-ort-impl (2020-11-11) 21 commits + - merge-ort: free data structures in merge_finalize() + - merge-ort: add implementation of record_unmerged_index_entries() + - tree: enable cmp_cache_name_compare() to be used elsewhere + - merge-ort: add implementation of checkout() + - merge-ort: basic outline for merge_switch_to_result() + - merge-ort: step 3 of tree writing -- handling subdirectories as we go + - merge-ort: step 2 of tree writing -- function to create tree object + - merge-ort: step 1 of tree writing -- record basenames, modes, and oids + - merge-ort: have process_entries operate in a defined order + - merge-ort: add a preliminary simple process_entries() implementation + - merge-ort: avoid recursing into identical trees + - merge-ort: record stage and auxiliary info for every path + - merge-ort: compute a few more useful fields for collect_merge_info + - merge-ort: avoid repeating fill_tree_descriptor() on the same tree + - merge-ort: implement a very basic collect_merge_info() + - merge-ort: add an err() function similar to one from merge-recursive + - merge-ort: use histogram diff + - merge-ort: port merge_start() from merge-recursive + - merge-ort: add some high-level algorithm structure + - merge-ort: setup basic internal data structures + - Merge branch 'en/strmap' into en/merge-ort-impl + + Needs review. + +-------------------------------------------------- +[Cooking] + +* tb/pack-bitmap (2020-11-21) 24 commits + - pack-bitmap-write: better reuse bitmaps + - pack-bitmap-write: relax unique rewalk condition + - pack-bitmap-write: use existing bitmaps + - pack-bitmap: factor out 'add_commit_to_bitmap()' + - pack-bitmap: factor out 'bitmap_for_commit()' + - pack-bitmap-write: ignore BITMAP_FLAG_REUSE + - pack-bitmap-write: build fewer intermediate bitmaps + - pack-bitmap.c: check reads more aggressively when loading + - pack-bitmap-write: rename children to reverse_edges + - t5310: add branch-based checks + - commit: implement commit_list_contains() + - bitmap: add bitmap_diff_nonzero() + - pack-bitmap-write: fill bitmap with commit history + - pack-bitmap-write: pass ownership of intermediate bitmaps + - pack-bitmap-write: reimplement bitmap writing + - ewah: add bitmap_dup() function + - ewah: implement bitmap_or() + - ewah: make bitmap growth less aggressive + - ewah: factor out bitmap growth + - rev-list: die when --test-bitmap detects a mismatch + - t5310: drop size of truncated ewah bitmap + - pack-bitmap: bounds-check size of cache extension + - pack-bitmap: fix header size check + - ewah/ewah_bitmap.c: grow buffer past 1 + + Various improvement to the codepath that writes out pack bitmaps. + + Needs a bit of reshuffling? + cf. + + +* ab/retire-parse-remote (2020-11-24) 4 commits + (merged to 'next' on 2020-11-25 at 644484d7df) + + submodule: fix fetch_in_submodule logic + (merged to 'next' on 2020-11-18 at 80d4d8290c) + + parse-remote: remove this now-unused library + + submodule: remove sh function in favor of helper + + submodule: use "fetch" logic instead of custom remote discovery + + "git-parse-remote" shell script library outlived its usefulness. + + Will merge to 'master'. + + +* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits + (merged to 'next' on 2020-11-25 at 9837b50d7f) + + pull: check for local submodule modifications with the right range + + t5572: describe '--rebase' tests a little more + + t5572: add notes on a peculiar test + + pull --rebase: compute rebase arguments in separate function + + "git pull --rebase --recurse-submodules" checked for local changes + in a wrong range and failed to run correctly when it should. + + Will merge to 'master'. + + +* tb/repack-simplify (2020-11-17) 3 commits + (merged to 'next' on 2020-11-25 at 79a98f2403) + + builtin/repack.c: don't move existing packs out of the way + + builtin/repack.c: keep track of what pack-objects wrote + + repack: make "exts" array available outside cmd_repack() + + Simplify the logic to deal with a repack operation that ended up + creating the same packfile. + + Will merge to 'master'. + + +* dd/help-autocorrect-never (2020-11-25) 1 commit + - help.c: help.autocorrect=never means "do not compute suggestions" + + "git $cmd $args", when $cmd is not a recognised subcommand, by + default tries to see if $cmd is a typo of an existing subcommand + and optionally executes the corrected command if there is only one + possibility, depending on the setting of help.autocorrect; the + users can now disable the whole thing, including the cycles spent + to find a likely typo, by setting the configuration variable to + 'never'. + + Getting there. + cf. + + +* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits + - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed + - t99*: adjust the references to the default branch name "main" + - tests(git-p4): transition to the default branch name `main` + - t9[5-7]*: adjust the references to the default branch name "main" + - t9[0-4]*: adjust the references to the default branch name "main" + - t8*: adjust the references to the default branch name "main" + - t7[5-9]*: adjust the references to the default branch name "main" + - t7[0-4]*: adjust the references to the default branch name "main" + - t6[4-9]*: adjust the references to the default branch name "main" + - t64*: preemptively adjust alignment to prepare for `master` -> `main` + - t6[0-3]*: adjust the references to the default branch name "main" + - t5[6-9]*: adjust the references to the default branch name "main" + - t55[4-9]*: adjust the references to the default branch name "main" + - t55[23]*: adjust the references to the default branch name "main" + - t551*: adjust the references to the default branch name "main" + - t550*: adjust the references to the default branch name "main" + - t5503: prepare aligned comment for replacing `master` with `main` + - t5[0-4]*: adjust the references to the default branch name "main" + - t5323: prepare centered comment for `master` -> `main` + - t4*: adjust the references to the default branch name "main" + - t3[5-9]*: adjust the references to the default branch name "main" + - t34*: adjust the references to the default branch name "main" + - t3416: preemptively adjust alignment in a comment + - t3[0-3]*: adjust the references to the default branch name "main" + - t2*: adjust the references to the default branch name "main" + - t[01]*: adjust the references to the default branch name "main" + - t0060: preemptively adjust alignment + - tests: mark tests relying on the current default for `init.defaultBranch` + - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch + + Prepare tests not to be affected by the name of the default branch + "git init" creates. + + +* js/t2106-cleanup (2020-11-18) 3 commits + (merged to 'next' on 2020-11-23 at b1bcd5d8b2) + + t2106: ensure that the checkout fails for the expected reason + + t2106: make test independent of the current main branch name + + t2106: adjust style to the current conventions + + A test script got cleaned up and then made not to depend on the + value of init.defaultBranch. + + Will merge to 'master'. + + +* js/t3040-cleanup (2020-11-18) 1 commit + (merged to 'next' on 2020-11-23 at 88951eae2f) + + t3040: remove stale note + + Cleanup. + + Will merge to 'master'. + + +* js/t4015-wo-master (2020-11-19) 1 commit + (merged to 'next' on 2020-11-23 at b85c36ffb4) + + t4015: let the test pass with any default branch name + + A test script got cleaned up not to depend on the value of + init.defaultBranch. + + Will merge to 'master'. + + +* ds/config-literal-value (2020-11-25) 8 commits + - config doc: value-pattern is not necessarily a regexp + - config: implement --fixed-value with --get* + - config: plumb --fixed-value into config API + - config: add --fixed-value option, un-implemented + - t1300: add test for --replace-all with value-pattern + - t1300: test "set all" mode with value-pattern + - config: replace 'value_regex' with 'value_pattern' + - config: convert multi_replace to flags + (this branch is used by ds/maintenance-part-3.) + + Various subcommands of "git config" that takes value_regex + learn the "--literal-value" option to take the value_regex option + as a literal string. + Expecting a (hopefully final) reroll. -* mt/grep-sparse-checkout (2020-09-10) 9 commits - - config: add setting to ignore sparsity patterns in some cmds - - grep: honor sparse checkout patterns - - config: correctly read worktree configs in submodules - - config: make do_git_config_sequence receive a 'struct repository' - - t/helper/test-config: unify exit labels - - t/helper/test-config: diagnose missing arguments - - t/helper/test-config: be consistent with exit codes - - t1308-config-set: avoid false positives when using test-config - - doc: grep: unify info on configuration variables - (this branch is used by mt/rm-sparse-checkout.) - "git grep" has been tweaked to be limited to the sparse checkout - paths. +* ds/maintenance-part-3 (2020-11-25) 2 commits + - maintenance: use 'git config --fixed-value' + - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3 + (this branch uses ds/config-literal-value.) + + "git maintenance" command had trouble working in a directory whose + pathname contained an ERE metacharacter like '+'. + + Blocked by ds/config-literal-value. + + +* js/pull-rebase-use-advise (2020-11-19) 1 commit + (merged to 'next' on 2020-11-25 at 05db775119) + + pull: colorize the hint about setting `pull.rebase` + + UI improvement. + + Will merge to 'master'. + + +* js/t1309-master-to-topic (2020-11-19) 1 commit + (merged to 'next' on 2020-11-25 at 044da285ef) + + t1309: use a neutral branch name in the `onbranch` test cases + + Test preparation. + + Will merge to 'master'. --------------------------------------------------- -[Cooking] -* ag/merge-strategies-in-c (2020-11-16) 12 commits +* ag/merge-strategies-in-c (2020-11-24) 13 commits - sequencer: use the "octopus" merge strategy without forking - sequencer: use the "resolve" strategy without forking - merge: use the "octopus" strategy without forking @@ -743,11 +926,14 @@ Release tarballs are available at: - merge-index: libify merge_one_path() and merge_all() - merge-one-file: rewrite in C - update-index: move add_cacheinfo() to read-cache.c - - t6027: modernise tests + - 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. + Needs review. + * ps/update-ref-multi-transaction (2020-11-16) 4 commits - update-ref: disallow "start" for ongoing transactions @@ -758,60 +944,7 @@ Release tarballs are available at: "git update-ref --stdin" learns to take multiple transactions in a single session. - -* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits - (merged to 'next' on 2020-11-18 at 4241203041) - + completion: bash: improve alias loop detection - (merged to 'next' on 2020-11-10 at 75f1f2b8a8) - + completion: bash: check for alias loop - + completion: bash: support recursive aliases - - The command line completion script (in contrib/) learned to expand - commands that are alias of alias. - - Will merge to 'master'. - - -* jk/rev-parse-end-of-options (2020-11-10) 3 commits - (merged to 'next' on 2020-11-11 at 2d517d1608) - + rev-parse: handle --end-of-options - + rev-parse: put all options under the "-" check - + rev-parse: don't accept options after dashdash - - "git rev-parse" learned the "--end-of-options" to help scripts to - safely take a parameter that is supposed to be a revision, e.g. - "git rev-parse --verify -q --end-of-options $rev". - - Will merge to 'master'. - - -* fc/bash-completion-post-2.29 (2020-11-10) 26 commits - - completion: bash: shuffle __gitcomp functions - - completion: bash: cleanup __gitcomp* invocations - - completion: bash: add __gitcomp_opts - - completion: bash: improve __gitcomp description - - completion: bash: rename _get_comp_words_by_ref() - - completion: bash: trivial cleanup - - completion: bash: cleanup _get_comp_words_by_ref() - - completion: bash: refactor _get_comp_words_by_ref() - - completion: bash: simplify _get_comp_words_by_ref() - - test: completion: switch __gitcomp_nl prefix test - - completion: bash: simplify config_variable_name - - completion: bash: improve __gitcomp suffix code - - completion: bash: change suffix check in __gitcomp - - completion: bash: simplify __gitcomp - - completion: bash: refactor __gitcomp - - completion: bash: simplify equal suffix check - - completion: bash: factor out check in __gitcomp - - completion: bash: get rid of any non-append code - - completion: bash: get rid of _append() functions - - completion: bash: remove non-append functionality - - test: completion: add run_func() helper - - test: completion: fix currently typed words - - completion: bash: do not modify COMP_WORDBREAKS - - completion: bash: fix for suboptions with value - - completion: bash: add correct suffix in variables - - completion: bash: fix prefix detection in branch.* + Will merge to 'next'. * js/add-i-color-fix (2020-11-16) 11 commits @@ -830,25 +963,8 @@ Release tarballs are available at: "git add -i" failed to honor custom colors configured to show patches, which has been corrected. - -* ab/config-mak-uname-simplify (2020-11-11) 2 commits - (merged to 'next' on 2020-11-12 at e1bd51ee71) - + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag - + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag - - Build configuration cleanup. - - Will merge to 'master'. - - -* pd/mergetool-nvimdiff (2020-11-11) 2 commits - (merged to 'next' on 2020-11-12 at aff20da3a2) - + mergetool: avoid letting `list_tool_variants` break user-defined setups - + mergetools/bc: add `bc4` to the alias list for Beyond Compare - - Fix regression introduced when nvimdiff support in mergetool was added. - - Will merge to 'master'. + Will merge to 'next'. + cf. <20201117015149.GC19433@coredump.intra.peff.net> * js/trace2-session-id (2020-11-11) 11 commits @@ -867,40 +983,10 @@ Release tarballs are available at: The transport layer was taught to optionally exchange the session ID assigned by the trace2 subsystem during fetch/push transactions. - -* so/log-diff-merge (2020-11-09) 27 commits - - doc/git-show: include --diff-merges description - - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent - - doc/diff-generate-patch: mention new --diff-merges option - - doc/git-log: describe new --diff-merges options - - t4013: add test for --diff-merges=first-parent - - diff-merges: implement new values for --diff-merges - - diff-merges: make -m/-c/--cc explicitly mutually exclusive - - diff-merges: refactor opt settings into separate functions - - diff-merges: get rid of now empty diff_merges_init_revs() - - diff-merges: group diff-merge flags next to each other inside 'rev_info' - - diff-merges: split 'ignore_merges' field - - diff-merges: fix -m to properly override -c/--cc - - t4013: add tests for -m failing to override -c/--cc - - t4013: support test_expect_failure through ':failure' magic - - diff-merges: revise revs->diff flag handling - - diff-merges: introduce revs->first_parent_merges flag - - diff-merges: new function diff_merges_set_dense_combined_if_unset() - - diff-merges: new function diff_merges_suppress() - - diff-merges: re-arrange functions to match the order they are called in - - diff-merges: rename diff_merges_default_to_enable() to match semantics - - diff-merges: move checks for first_parent_only out of the module - - diff-merges: rename all functions to have common prefix - - revision: move diff merges functions to its own diff-merges.c - - revision: provide implementation for diff merges tweaks - - revision: factor out initialization of diff-merge related settings - - revision: factor out setup of diff-merge related settings - - revision: factor out parsing of diff-merge related options - - "git log" learned a new "--diff-merges=" option. + Will merge to 'next'. -* ds/maintenance-part-4 (2020-11-04) 4 commits +* ds/maintenance-part-4 (2020-11-24) 4 commits - maintenance: use Windows scheduled tasks - maintenance: use launchctl on macOS - maintenance: include 'cron' details in docs @@ -911,77 +997,6 @@ Release tarballs are available at: methods are not 'cron'. -* en/merge-ort-impl (2020-11-11) 21 commits - - merge-ort: free data structures in merge_finalize() - - merge-ort: add implementation of record_unmerged_index_entries() - - tree: enable cmp_cache_name_compare() to be used elsewhere - - merge-ort: add implementation of checkout() - - merge-ort: basic outline for merge_switch_to_result() - - merge-ort: step 3 of tree writing -- handling subdirectories as we go - - merge-ort: step 2 of tree writing -- function to create tree object - - merge-ort: step 1 of tree writing -- record basenames, modes, and oids - - merge-ort: have process_entries operate in a defined order - - merge-ort: add a preliminary simple process_entries() implementation - - merge-ort: avoid recursing into identical trees - - merge-ort: record stage and auxiliary info for every path - - merge-ort: compute a few more useful fields for collect_merge_info - - merge-ort: avoid repeating fill_tree_descriptor() on the same tree - - merge-ort: implement a very basic collect_merge_info() - - merge-ort: add an err() function similar to one from merge-recursive - - merge-ort: use histogram diff - - merge-ort: port merge_start() from merge-recursive - - merge-ort: add some high-level algorithm structure - - merge-ort: setup basic internal data structures - - Merge branch 'en/strmap' into en/merge-ort-impl - (this branch uses en/strmap.) - - -* jc/format-patch-name-max (2020-11-09) 1 commit - (merged to 'next' on 2020-11-11 at 17e19bb17a) - + format-patch: make output filename configurable - - The maximum length of output filenames "git format-patch" creates - has become configurable (used to be capped at 64). - - Will merge to 'master'. - - -* jk/diff-release-filespec-fix (2020-11-11) 2 commits - (merged to 'next' on 2020-11-12 at 3b21625881) - + t7800: simplify difftool test - (merged to 'next' on 2020-11-09 at 6d89b9602d) - + diff: allow passing NULL to diff_free_filespec_data() - (this branch is used by js/default-branch-name-tests-final-stretch.) - - Running "git diff" while allowing external diff in a state with - unmerged paths used to segfault, which has been corrected. - - Will merge to 'master'. - - -* jx/t5411-flake-fix (2020-11-11) 3 commits - (merged to 'next' on 2020-11-18 at badb1fefe5) - + receive-pack: use default version 0 for proc-receive - + receive-pack: gently write messages to proc-receive - + t5411: new helper filter_out_user_friendly_and_stable_output - - The exchange between receive-pack and proc-receive hook did not - carefully check for errors. - - Will merge to 'master'. - - -* av/fsmonitor-cleanup (2020-10-21) 2 commits - - fsmonitor: make output of test-dump-fsmonitor more concise - - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid - - Code clean-up. - - Will discard. - Unneeded? - cf. <20201022183822.GA781760@nand.local> - - * sj/untracked-files-in-submodule-directory-is-not-dirty (2020-10-26) 1 commit - diff: do not show submodule with untracked files as "-dirty" @@ -994,31 +1009,6 @@ Release tarballs are available at: Needs doc update and also adjusting "git status". -* en/strmap (2020-11-11) 15 commits - (merged to 'next' on 2020-11-12 at 41519a5f5c) - + shortlog: use strset from strmap.h - + Use new HASHMAP_INIT macro to simplify hashmap initialization - + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant - + strmap: enable allocations to come from a mem_pool - + strmap: add a strset sub-type - + strmap: split create_entry() out of strmap_put() - + strmap: add functions facilitating use as a string->int map - + strmap: enable faster clearing and reusing of strmaps - + strmap: add more utility functions - + strmap: new utility functions - + hashmap: provide deallocation function names - + hashmap: introduce a new hashmap_partial_clear() - + hashmap: allow re-use after hashmap_free() - + hashmap: adjust spacing to fix argument alignment - + hashmap: add usage documentation explaining hashmap_free[_entries]() - (this branch is used by en/merge-ort-impl.) - - A speciailization of hashmap that uses a string as key has been - introduced. Hopefully it will see wider use over time. - - Will merge to 'master'. - - * ak/corrected-commit-date (2020-10-08) 10 commits - doc: add corrected commit date info - commit-reach: use corrected commit dates in paint_down_to_common() @@ -1058,3 +1048,36 @@ Release tarballs are available at: "git push" learns a way to tell an object that it expects the other side to have and is usable as a common ancestor, which can be used by the other side to shrink its initial ref advertisement. + + +* rs/chdir-notify-unleak (2020-11-16) 1 commit + . chdir-notify: UNLEAK registrated callback entries + + Mark some stuff on list_head chain with UNLEAK() macro to squelch + leak checker. + + Retracted. + cf. <3b2afb7a-57aa-025c-806f-ae3faa0ed077@web.de> + + +* av/fsmonitor-cleanup (2020-10-21) 2 commits + . fsmonitor: make output of test-dump-fsmonitor more concise + . fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid + + Code clean-up. + + Unneeded? + cf. <20201022183822.GA781760@nand.local> + + +* jc/init-doc-default-branch (2020-11-18) 1 commit + . "init" doc: mention the configurability more clearly + + Doc update. + + +* ds/treeless-clone-wo-submodule-recursing (2020-11-21) 1 commit + . clone: --filter=tree:0 implies fetch.recurseSubmodules=no + + Retracted. + cf. <8a31af0e-4440-d957-11fb-48c4d2abd5c7@gmail.com> -- 2.47.3