diff --git a/whats-cooking.txt b/whats-cooking.txt index 1c818a145ddb9531e5b6ec2f900fb1362cea0590..273279ebf091c85d330b575ee1991cb1b9802a3d 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 (Jun 2020, #06; Mon, 29) -X-master-at: a08a83db2bf27f015bec9a435f6d73e223c21c5e -X-next-at: 050319c2ae82f2fac00eac9d80a1d91394d99aec +Subject: What's cooking in git.git (Jul 2020, #01; Mon, 6) +X-master-at: 4a0fcf9f760c9774be77f51e1e88a7499b53d2e2 +X-next-at: b3809f4674cea6e2f5db8a478a39b85851690c7d -What's cooking in git.git (Jun 2020, #06; Mon, 29) +What's cooking in git.git (Jul 2020, #01; Mon, 6) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with '-' are @@ -12,11 +12,10 @@ 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. -More topics graduate to the 'master' and to the 'next' branches. I -expect that this week would be slower than usual due to US holidays -but hopefully we'd be able to merge most of the impactful topics by -the -rc0. Some large-ish topics may have to be left for the next -cycle, as usual. +We are about to tag the -rc0 "preview" and enter pre-release freeze +period. The change to let users name the initial branch that gets +prepared in a newly created repository has now been merged to be +included in the upcoming release. You can find the changes described here in the integration branches of the repositories listed at @@ -24,139 +23,139 @@ repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[Graduated to "master"] +[Graduated to 'master'] -* dl/diff-usage-comment-update (2020-06-23) 2 commits - (merged to 'next' on 2020-06-23 at 48d685cd45) - + builtin/diff: fix botched update of usage comment - (merged to 'next' on 2020-06-19 at b53a12bb66) - + builtin/diff: update usage comment - - An in-code comment in "git diff" has been updated. - - -* rs/commit-reach-leakfix (2020-06-19) 1 commit - (merged to 'next' on 2020-06-22 at fcc1e385f0) - + commit-reach: plug minor memory leak after using is_descendant_of() - - Leakfix. - - -* rs/pull-leakfix (2020-06-19) 1 commit - (merged to 'next' on 2020-06-22 at d80a6b9ca3) - + pull: plug minor memory leak after using is_descendant_of() - - Leakfix. - - -* rs/retire-strbuf-write-fd (2020-06-19) 2 commits - (merged to 'next' on 2020-06-22 at c175b54f2a) - + strbuf: remove unreferenced strbuf_write_fd method. - + bugreport.c: replace strbuf_write_fd with write_in_full - - A misdesigned strbuf_write_fd() function has been retired. - - -* sk/diff-files-show-i-t-a-as-new (2020-06-22) 1 commit - (merged to 'next' on 2020-06-22 at 825a823416) - + diff-files: treat "i-t-a" files as "not-in-index" - (this branch is used by js/diff-files-i-t-a-fix-for-difftool.) - - "git diff-files" has been taught to say paths that are marked as - intent-to-add are new files, not modified from an empty blob. - - -* xl/upgrade-repo-format (2020-06-05) 4 commits - (merged to 'next' on 2020-06-19 at 02bf7a9d8c) - + check_repository_format_gently(): refuse extensions for old repositories - + sparse-checkout: upgrade repository to version 1 when enabling extension - + fetch: allow adding a filter after initial clone - + repository: add a helper function to perform repository format upgrade +* ak/commit-graph-to-slab (2020-06-17) 4 commits + (merged to 'next' on 2020-06-25 at 9a10ae18d3) + + commit-graph: minimize commit_graph_data_slab access + + commit: move members graph_pos, generation to a slab + + commit-graph: introduce commit_graph_data_slab + + object: drop parsed_object_pool->commit_count - Allow runtime upgrade of the repository format version, which needs - to be done carefully. + A few fields in "struct commit" that do not have to always be + present have been moved to commit slabs. - There is a rather unpleasant backward compatibility worry with the - last step of this series, but it is the right thing to do in the - longer term. --------------------------------------------------- -[New Topics] +* bc/http-push-flagsfix (2020-06-23) 1 commit + (merged to 'next' on 2020-06-25 at 1dabb1f61b) + + http-push: ensure unforced pushes fail when data would be lost -* mt/hash-to-hex-thread-safety (2020-06-26) 2 commits - - hex: make hash_to_hex_algop() and friends thread-safe - - compat/win32/pthread: add pthread_once() + The code to push changes over "dumb" HTTP had a bad interaction + with the commit reachability code due to incorrect allocation of + object flag bits, which has been corrected. - hash_to_hex() used a set of rotating static buffers, which was not - safe to use in a threaded environment. This has been made safer by - using thread-local storage. - Will merge to 'next'. +* bc/sha-256-cvs-svn-updates (2020-06-22) 14 commits + (merged to 'next' on 2020-06-25 at e0d1c87fcf) + + git-cvsexportcommit: port to SHA-256 + + git-cvsimport: port to SHA-256 + + git-cvsserver: port to SHA-256 + + git-svn: set the OID length based on hash algorithm + + perl: make SVN code hash independent + + perl: make Git::IndexInfo work with SHA-256 + + perl: create and switch variables for hash constants + + t/lib-git-svn: make hash size independent + + t9101: make hash independent + + t9104: make hash size independent + + t9100: make test work with SHA-256 + + t9108: make test hash independent + + t9168: make test hash independent + + t9109: make test hash independent + (this branch uses bc/sha-256-part-2.) --------------------------------------------------- -[Stalled] + CVS/SVN interface have been prepared for SHA-256 transition -* dr/push-remoteref-fix (2020-04-23) 1 commit - - remote.c: fix handling of %(push:remoteref) - The "%(push:remoteref)" placeholder in the "--format=" argument of - "git format-patch" (and friends) only showed what got explicitly - configured, not what ref at the receiving end would be updated when - "git push" was used, as it ignored the default behaviour (e.g. update - the same ref as the source). +* bc/sha-256-part-2 (2020-06-19) 44 commits + (merged to 'next' on 2020-06-22 at dc153f366d) + + remote-testgit: adapt for object-format + + bundle: detect hash algorithm when reading refs + + t5300: pass --object-format to git index-pack + + t5704: send object-format capability with SHA-256 + + t5703: use object-format serve option + + t5702: offer an object-format capability in the test + + t/helper: initialize the repository for test-sha1-array + + remote-curl: avoid truncating refs with ls-remote + + t1050: pass algorithm to index-pack when outside repo + + builtin/index-pack: add option to specify hash algorithm + + remote-curl: detect algorithm for dumb HTTP by size + + builtin/ls-remote: initialize repository based on fetch + + t5500: make hash independent + + serve: advertise object-format capability for protocol v2 + + connect: parse v2 refs with correct hash algorithm + + connect: pass full packet reader when parsing v2 refs + + Documentation/technical: document object-format for protocol v2 + + t1302: expect repo format version 1 for SHA-256 + + builtin/show-index: provide options to determine hash algo + + t5302: modernize test formatting + + packfile: compute and use the index CRC offset + + t3200: mark assertion with SHA1 prerequisite + + setup: set the_repository's hash algo when checking format + + fetch-pack: parse and advertise the object-format capability + + t5562: pass object-format in synthesized test data + + builtin/clone: initialize hash algorithm properly + + remote-curl: implement object-format extensions + + transport-helper: implement object-format extensions + + docs: update remote helper docs for object-format extensions + + builtin/receive-pack: detect when the server doesn't support our hash + + connect: detect algorithm when fetching refs + + fetch-pack: detect when the server doesn't support our hash + + connect: make parse_feature_value extern + + send-pack: detect when the server doesn't support our hash + + connect: add function to detect supported v1 hash functions + + transport: add a hash algorithm member + + pkt-line: add a member for hash algorithm + + connect: add function to fetch value of a v2 server capability + + connect: add function to parse multiple v1 capability values + + remote: advertise the object-format capability on the server side + + wrapper: add function to compare strings with different NUL termination + + connect: have ref processing code take struct packet_reader + + Documentation: document v1 protocol object-format capability + + t1050: match object ID paths in a hash-insensitive way + (this branch is used by bc/sha-256-cvs-svn-updates.) - Expecting a reroll. - cf. <20200416152145.wp2zeibxmuyas6y6@feanor> + SHA-256 migration work continues. -* mr/bisect-in-c-2 (2020-04-23) 12 commits - - bisect--helper: retire `--bisect-autostart` subcommand - - bisect--helper: retire `--write-terms` subcommand - - bisect--helper: retire `--check-expected-revs` subcommand - - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C - - bisect--helper: retire `--next-all` subcommand - - bisect--helper: retire `--bisect-clean-state` subcommand - - bisect--helper: finish porting `bisect_start()` to C - - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C - - bisect--helper: reimplement `bisect_autostart` shell function in C - - bisect--helper: introduce new `write_in_file()` function - - bisect--helper: use '-res' in 'cmd_bisect__helper' return - - bisect--helper: fix `cmd_*()` function switch default return +* cb/is-descendant-of (2020-06-23) 1 commit + (merged to 'next' on 2020-06-25 at ca0eaddf5e) + + commit-reach: avoid is_descendant_of() shim - Rewrite of the remainder of "git bisect" script in C continues. + Code clean-up. - Expecting a response to reviews. - cf. +* dl/test-must-fail-fixes-5 (2020-06-24) 4 commits + (merged to 'next' on 2020-06-29 at efe53a7588) + + lib-submodule-update: pass 'test_must_fail' as an argument + + lib-submodule-update: prepend "git" to $command + + lib-submodule-update: consolidate --recurse-submodules + + lib-submodule-update: add space after function name -* mk/use-size-t-in-zlib (2018-10-15) 1 commit - - zlib.c: use size_t for size + The effort to avoid using test_must_fail on non-git command continues. - The wrapper to call into zlib followed our long tradition to use - "unsigned long" for sizes of regions in memory, which have been - updated to use "size_t". --------------------------------------------------- -[Cooking] +* en/sparse-status (2020-06-22) 3 commits + (merged to 'next' on 2020-06-25 at 404403a075) + + git-prompt: include sparsity state as well + + git-prompt: document how in-progress operations affect the prompt + + wt-status: show sparse checkout status as well -* bc/http-push-flagsfix (2020-06-23) 1 commit - (merged to 'next' on 2020-06-25 at 1dabb1f61b) - + http-push: ensure unforced pushes fail when data would be lost + "git status" learned to report the status of sparse checkout. - The code to push changes over "dumb" HTTP had a bad interaction - with the commit reachability code due to incorrect allocation of - object flag bits, which has been corrected. - Will merge to 'master'. +* es/get-worktrees-unsort (2020-06-22) 2 commits + (merged to 'next' on 2020-06-25 at 732d93a36d) + + worktree: drop get_worktrees() unused 'flags' argument + + worktree: drop get_worktrees() special-purpose sorting option + API cleanup for get_worktrees() -* cb/is-descendant-of (2020-06-23) 1 commit - (merged to 'next' on 2020-06-25 at ca0eaddf5e) - + commit-reach: avoid is_descendant_of() shim - Code clean-up. +* es/worktree-code-cleanup (2020-06-24) 1 commit + (merged to 'next' on 2020-06-29 at 91ffd85a31) + + worktree: avoid dead-code in conditional - Will merge to 'master'. + Code cleanup. * jk/fast-export-anonym-alt (2020-06-25) 11 commits @@ -176,19 +175,43 @@ repositories listed at "git fast-export --anonymize" learned to take customized mapping to allow its users to tweak its output more usable for debugging. - Will merge to 'master'. + +* jl/complete-git-prune (2020-06-22) 1 commit + (merged to 'next' on 2020-06-25 at 64f30b8b41) + + bash-completion: add git-prune into bash completion + + Add "git prune" to the completion (in contrib/), which could be + typed by end-users from the command line. + + +* js/default-branch-name (2020-06-30) 10 commits + (merged to 'next' on 2020-07-01 at c38d766581) + + contrib: subtree: adjust test to change in fmt-merge-msg + (merged to 'next' on 2020-06-25 at 8f962f9219) + + testsvn: respect `init.defaultBranch` + + remote: use the configured default branch name when appropriate + + clone: use configured default branch name when appropriate + + init: allow setting the default for the initial branch name via the config + + init: allow specifying the initial branch name for the new repository + + docs: add missing diamond brackets + + submodule: fall back to remote's HEAD for missing remote..branch + + send-pack/transport-helper: avoid mentioning a particular branch + + fmt-merge-msg: stop treating `master` specially + + The name of the primary branch in existing repositories, and the + default name used for the first branch in newly created + repositories, is made configurable, so that we can eventually wean + ourselves off of the hardcoded 'master'. -* js/diff-files-i-t-a-fix-for-difftool (2020-06-25) 2 commits - (merged to 'next' on 2020-06-29 at a9fcdabb3b) +* js/diff-files-i-t-a-fix-for-difftool (2020-07-01) 2 commits + (merged to 'next' on 2020-07-01 at cf5d18635c) + difftool -d: ensure that intent-to-add files are handled correctly + diff-files --raw: show correct post-image of intent-to-add files "git difftool" has trouble dealing with paths added to the index with the intent-to-add bit. - Will merge to 'master'. - * js/pu-to-seen (2020-06-25) 3 commits (merged to 'next' on 2020-06-25 at 06c9e5a885) @@ -199,8 +222,6 @@ repositories listed at The documentation and some tests have been adjusted for the recent renaming of "pu" branch to "seen". - Will merge to 'master'. - * mk/pb-pretty-email-without-domain-part-fix (2020-06-23) 1 commit (merged to 'next' on 2020-06-25 at 81a3aca46b) @@ -208,18 +229,12 @@ repositories listed at Docfix. - Will merge to 'master'. - -* mf/submodule-summary-with-correct-repository (2020-06-24) 2 commits - - submodule: use submodule repository when preparing summary - - revision: use repository from rev_info when parsing commits - - "git diff/show" on a change that involves a submodule used to read - the information on commits in the submodule from a wrong repository - and gave a wrong information when the commit-graph is involved. +* ps/ref-transaction-hook (2020-06-19) 1 commit + (merged to 'next' on 2020-06-22 at 3a23dcdbdc) + + refs: implement reference transaction hook - Needs tests. + A new hook. * rs/pack-bits-in-object-better (2020-06-24) 1 commit @@ -229,128 +244,212 @@ repositories listed at By renumbering object flag bits, "struct object" managed to lose bloated inter-field padding. - Will merge to 'master'. +-------------------------------------------------- +[New Topics] +* bw/fail-cloning-into-non-empty (2020-07-06) 1 commit + - git clone: don't clone into non-empty directory -* es/worktree-code-cleanup (2020-06-24) 1 commit - (merged to 'next' on 2020-06-29 at 91ffd85a31) - + worktree: avoid dead-code in conditional + "git clone --separate-git-dir=$elsewhere" used to stomp on the + contents of the existing directory $elsewhere, which has been + taught to fail when $elsewhere is not an empty directory. - Code cleanup. + Expecting a reroll. + with improved commit log message. + cf. + + +* cc/cat-file-usage-update (2020-07-01) 1 commit + (merged to 'next' on 2020-07-06 at 270769a009) + + cat-file: add missing [=] to usage/synopsis + + Doc/usage update. Will merge to 'master'. -* ra/send-email-in-reply-to-from-command-line-wins (2020-06-29) 1 commit - - send-email: restore --in-reply-to superseding behavior +* cc/pretty-contents-size (2020-07-06) 2 commits + - ref-filter: add support for %(contents:size) + - Documentation: clarify %(contents:XXXX) doc - "git send-email --in-reply-to=" did not use the In-Reply-To: - header with the value given from the command line, and let it be - overridden by the value on In-Reply-To: header in the messages - being sent out (if exists). + "git for-each-ref --format=<>" learned %(contents:size). - Expecting a reroll/redesign. - Does not behave sensibly for a multi-patch series. + Expecting a reroll. + with clarified semantics and tests with various object types + cf. -* en/sparse-status (2020-06-22) 3 commits - (merged to 'next' on 2020-06-25 at 404403a075) - + git-prompt: include sparsity state as well - + git-prompt: document how in-progress operations affect the prompt - + wt-status: show sparse checkout status as well +* ls/mergetool-meld-auto-merge (2020-07-06) 1 commit + - Support auto-merge for meld to follow the vim-diff behavior - "git status" learned to report the status of sparse checkout. + The 'meld' backend of the "git mergetool" learned to give the + underlying 'meld' the '--auto-merge' option, which would help + reduce the amount of text that requires manual merging. - Will merge to 'master'. + Expecting a reroll. + with final fixes and readability improvements. + cf. -* ps/ref-transaction-hook (2020-06-19) 1 commit - (merged to 'next' on 2020-06-22 at 3a23dcdbdc) - + refs: implement reference transaction hook +* pb/log-rev-list-doc (2020-07-06) 4 commits + - rev-list-description.txt: fix Asciidoc syntax + - git-log.txt: include rev-list-description.txt + - git-rev-list.txt: move description to separate file + - git-log.txt: add links to 'rev-list' and 'diff' docs - A new hook. + "git help log" has been enhanced by sharing more material from the + documentation for the underlying "git rev-list" command. - Will merge to 'master'. + Expecting a reroll. + with reordering the last one to make it preparatory clean-up. + cf. + cf. -* bc/sha-256-cvs-svn-updates (2020-06-22) 14 commits - (merged to 'next' on 2020-06-25 at e0d1c87fcf) - + git-cvsexportcommit: port to SHA-256 - + git-cvsimport: port to SHA-256 - + git-cvsserver: port to SHA-256 - + git-svn: set the OID length based on hash algorithm - + perl: make SVN code hash independent - + perl: make Git::IndexInfo work with SHA-256 - + perl: create and switch variables for hash constants - + t/lib-git-svn: make hash size independent - + t9101: make hash independent - + t9104: make hash size independent - + t9100: make test work with SHA-256 - + t9108: make test hash independent - + t9168: make test hash independent - + t9109: make test hash independent - (this branch uses bc/sha-256-part-2; is tangled with hn/reftable.) +* rs/line-log-until (2020-07-06) 1 commit + (merged to 'next' on 2020-07-06 at 84d6bc67fa) + + revision: disable min_age optimization with line-log - CVS/SVN interface have been prepared for SHA-256 transition + "git log -Lx,y:path --before=date" lost track of where the range + should be because it didn't take the changes made by the youngest + commits that are omitted from the output into account. Will merge to 'master'. -* ds/commit-graph-bloom-updates (2020-06-26) 10 commits - - commit-graph: check all leading directories in changed path Bloom filters - - revision: empty pathspecs should not use Bloom filters - - revision.c: fix whitespace - - commit-graph: check chunk sizes after writing - - commit-graph: simplify chunk writes into loop - - commit-graph: unify the signatures of all write_graph_chunk_*() functions - - commit-graph: persist existence of changed-paths - - bloom: fix logic in get_bloom_filter() - - commit-graph: change test to die on parse, not load - - commit-graph: place bloom_settings in context - (this branch uses sg/commit-graph-cleanups.) +* ta/wait-on-aliased-commands-upon-signal (2020-07-06) 2 commits + - Wait for child on signal death for aliases to externals + - Wait for child on signal death for aliases to builtins - Updates to the changed-paths bloom filter. + When an aliased command, whose output is piped to a pager by git, + gets killed by a signal, the pager got into a funny state, which + has been corrected (again). + + Expecting a reroll. + with improved log messages. + cf. <20200706211403.GB85133@coredump.intra.peff.net> - Will merge to 'next'. +* tb/upload-pack-filters (2020-07-06) 4 commits + - upload-pack.c: introduce 'uploadpack.filter.tree.maxDepth' + - upload-pack.c: pass 'struct list_objects_filter_options *' + - upload-pack.c: allow banning certain object filter(s) + - list_objects_filter_options: introduce 'list_object_filter_config_name' -* es/get-worktrees-unsort (2020-06-22) 2 commits - (merged to 'next' on 2020-06-25 at 732d93a36d) - + worktree: drop get_worktrees() unused 'flags' argument - + worktree: drop get_worktrees() special-purpose sorting option + The component to respond to "git fetch" request is made more + configurable to selectively allow or reject object filtering + specification used for partial cloning. + + Waiting for reviews. + cf. - API cleanup for get_worktrees() + +* vs/completion-with-set-u (2020-07-01) 1 commit + (merged to 'next' on 2020-07-06 at 72b1eca511) + + completion: nounset mode fixes + + The command line completion support (in contrib/) used to be + prepared to work with "set -u" but recent changes got a bit more + sloppy. This has been corrected. Will merge to 'master'. +-------------------------------------------------- +[Stalled] -* jl/complete-git-prune (2020-06-22) 1 commit - (merged to 'next' on 2020-06-25 at 64f30b8b41) - + bash-completion: add git-prune into bash completion +* dr/push-remoteref-fix (2020-04-23) 1 commit + - remote.c: fix handling of %(push:remoteref) - Add "git prune" to the completion (in contrib/), which could be - typed by end-users from the command line. + The "%(push:remoteref)" placeholder in the "--format=" argument of + "git format-patch" (and friends) only showed what got explicitly + configured, not what ref at the receiving end would be updated when + "git push" was used, as it ignored the default behaviour (e.g. update + the same ref as the source). + + Expecting a reroll. + cf. <20200416152145.wp2zeibxmuyas6y6@feanor> + + +* mr/bisect-in-c-2 (2020-04-23) 12 commits + - bisect--helper: retire `--bisect-autostart` subcommand + - bisect--helper: retire `--write-terms` subcommand + - bisect--helper: retire `--check-expected-revs` subcommand + - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C + - bisect--helper: retire `--next-all` subcommand + - bisect--helper: retire `--bisect-clean-state` subcommand + - bisect--helper: finish porting `bisect_start()` to C + - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C + - bisect--helper: reimplement `bisect_autostart` shell function in C + - bisect--helper: introduce new `write_in_file()` function + - bisect--helper: use '-res' in 'cmd_bisect__helper' return + - bisect--helper: fix `cmd_*()` function switch default return + + Rewrite of the remainder of "git bisect" script in C continues. + + Expecting a response to reviews. + cf. + + +* mk/use-size-t-in-zlib (2018-10-15) 1 commit + - zlib.c: use size_t for size + + The wrapper to call into zlib followed our long tradition to use + "unsigned long" for sizes of regions in memory, which have been + updated to use "size_t". + +-------------------------------------------------- +[Cooking] + +* mt/hash-to-hex-thread-safety (2020-06-26) 2 commits + - hex: make hash_to_hex_algop() and friends thread-safe + - compat/win32/pthread: add pthread_once() + + hash_to_hex() used a set of rotating static buffers, which was not + safe to use in a threaded environment. This has been made safer by + using thread-local storage. + + Expecting a reroll. + cf. + + +* mf/submodule-summary-with-correct-repository (2020-06-24) 2 commits + - submodule: use submodule repository when preparing summary + - revision: use repository from rev_info when parsing commits + + "git diff/show" on a change that involves a submodule used to read + the information on commits in the submodule from a wrong repository + and gave a wrong information when the commit-graph is involved. + + Needs tests. + + +* ra/send-email-in-reply-to-from-command-line-wins (2020-07-01) 1 commit + (merged to 'next' on 2020-07-06 at 3892a1ab88) + + send-email: restore --in-reply-to superseding behavior + + "git send-email --in-reply-to=" did not use the In-Reply-To: + header with the value given from the command line, and let it be + overridden by the value on In-Reply-To: header in the messages + being sent out (if exists). Will merge to 'master'. -* js/default-branch-name (2020-06-24) 9 commits - (merged to 'next' on 2020-06-25 at 8f962f9219) - + testsvn: respect `init.defaultBranch` - + remote: use the configured default branch name when appropriate - + clone: use configured default branch name when appropriate - + init: allow setting the default for the initial branch name via the config - + init: allow specifying the initial branch name for the new repository - + docs: add missing diamond brackets - + submodule: fall back to remote's HEAD for missing remote..branch - + send-pack/transport-helper: avoid mentioning a particular branch - + fmt-merge-msg: stop treating `master` specially - (this branch is used by hn/reftable.) +* ds/commit-graph-bloom-updates (2020-07-01) 10 commits + (merged to 'next' on 2020-07-06 at 177e6b362e) + + commit-graph: check all leading directories in changed path Bloom filters + + revision: empty pathspecs should not use Bloom filters + + revision.c: fix whitespace + + commit-graph: check chunk sizes after writing + + commit-graph: simplify chunk writes into loop + + commit-graph: unify the signatures of all write_graph_chunk_*() functions + + commit-graph: persist existence of changed-paths + + bloom: fix logic in get_bloom_filter() + + commit-graph: change test to die on parse, not load + + commit-graph: place bloom_settings in context + (this branch uses sg/commit-graph-cleanups.) - The name of the primary branch in existing repositories, and the - default name used for the first branch in newly created - repositories, is made configurable, so that we can eventually wean - ourselves off of the hardcoded 'master'. + Updates to the changed-paths bloom filter. Will merge to 'master'. @@ -370,42 +469,17 @@ repositories listed at Waiting for a (hopefully final) review. -* ak/commit-graph-to-slab (2020-06-17) 4 commits - (merged to 'next' on 2020-06-25 at 9a10ae18d3) - + commit-graph: minimize commit_graph_data_slab access - + commit: move members graph_pos, generation to a slab - + commit-graph: introduce commit_graph_data_slab - + object: drop parsed_object_pool->commit_count - - A few fields in "struct commit" that do not have to always be - present have been moved to commit slabs. - - Will merge to 'master'. - - -* dl/test-must-fail-fixes-5 (2020-06-24) 4 commits - (merged to 'next' on 2020-06-29 at efe53a7588) - + lib-submodule-update: pass 'test_must_fail' as an argument - + lib-submodule-update: prepend "git" to $command - + lib-submodule-update: consolidate --recurse-submodules - + lib-submodule-update: add space after function name - - The effort to avoid using test_must_fail on non-git command continues. - - Will merge to 'master'. - - * sg/commit-graph-cleanups (2020-06-08) 10 commits - - commit-graph: simplify write_commit_graph_file() #2 - - commit-graph: simplify write_commit_graph_file() #1 - - commit-graph: simplify parse_commit_graph() #2 - - commit-graph: simplify parse_commit_graph() #1 - - commit-graph: clean up #includes - - diff.h: drop diff_tree_oid() & friends' return value - - commit-slab: add a function to deep free entries on the slab - - commit-graph-format.txt: all multi-byte numbers are in network byte order - - commit-graph: fix parsing the Chunk Lookup table - - tree-walk.c: don't match submodule entries for 'submod/anything' + + commit-graph: simplify write_commit_graph_file() #2 + + commit-graph: simplify write_commit_graph_file() #1 + + commit-graph: simplify parse_commit_graph() #2 + + commit-graph: simplify parse_commit_graph() #1 + + commit-graph: clean up #includes + + diff.h: drop diff_tree_oid() & friends' return value + + commit-slab: add a function to deep free entries on the slab + + commit-graph-format.txt: all multi-byte numbers are in network byte order + + commit-graph: fix parsing the Chunk Lookup table + + tree-walk.c: don't match submodule entries for 'submod/anything' (this branch is used by ds/commit-graph-bloom-updates.) The changed-path Bloom filter is improved using ideas from an @@ -455,59 +529,6 @@ repositories listed at cf. -* bc/sha-256-part-2 (2020-06-19) 44 commits - (merged to 'next' on 2020-06-22 at dc153f366d) - + remote-testgit: adapt for object-format - + bundle: detect hash algorithm when reading refs - + t5300: pass --object-format to git index-pack - + t5704: send object-format capability with SHA-256 - + t5703: use object-format serve option - + t5702: offer an object-format capability in the test - + t/helper: initialize the repository for test-sha1-array - + remote-curl: avoid truncating refs with ls-remote - + t1050: pass algorithm to index-pack when outside repo - + builtin/index-pack: add option to specify hash algorithm - + remote-curl: detect algorithm for dumb HTTP by size - + builtin/ls-remote: initialize repository based on fetch - + t5500: make hash independent - + serve: advertise object-format capability for protocol v2 - + connect: parse v2 refs with correct hash algorithm - + connect: pass full packet reader when parsing v2 refs - + Documentation/technical: document object-format for protocol v2 - + t1302: expect repo format version 1 for SHA-256 - + builtin/show-index: provide options to determine hash algo - + t5302: modernize test formatting - + packfile: compute and use the index CRC offset - + t3200: mark assertion with SHA1 prerequisite - + setup: set the_repository's hash algo when checking format - + fetch-pack: parse and advertise the object-format capability - + t5562: pass object-format in synthesized test data - + builtin/clone: initialize hash algorithm properly - + remote-curl: implement object-format extensions - + transport-helper: implement object-format extensions - + docs: update remote helper docs for object-format extensions - + builtin/receive-pack: detect when the server doesn't support our hash - + connect: detect algorithm when fetching refs - + fetch-pack: detect when the server doesn't support our hash - + connect: make parse_feature_value extern - + send-pack: detect when the server doesn't support our hash - + connect: add function to detect supported v1 hash functions - + transport: add a hash algorithm member - + pkt-line: add a member for hash algorithm - + connect: add function to fetch value of a v2 server capability - + connect: add function to parse multiple v1 capability values - + remote: advertise the object-format capability on the server side - + wrapper: add function to compare strings with different NUL termination - + connect: have ref processing code take struct packet_reader - + Documentation: document v1 protocol object-format capability - + t1050: match object ID paths in a hash-insensitive way - (this branch is used by bc/sha-256-cvs-svn-updates and hn/reftable.) - - SHA-256 migration work continues. - - Will merge to 'master'. - - * jx/proc-receive-hook (2020-05-18) 11 commits - doc: add documentation for the proc-receive hook - transport: parse report options for tracking refs @@ -527,36 +548,20 @@ repositories listed at Needs review. -* hn/reftable (2020-06-29) 23 commits - - fixup! Reftable support for git-core - - Add "test-tool dump-reftable" command. - - Add reftable testing infrastructure - - git-prompt: prepare for reftable refs backend - - vcxproj: adjust for the reftable changes - - Add GIT_DEBUG_REFS debugging mechanism - - Hookup unittests for the reftable library. - - Reftable support for git-core - - Add standalone build infrastructure for reftable - - Add reftable library - - Add .gitattributes for the reftable/ directory - - Iterate over the "refs/" namespace in for_each_[raw]ref - - Move REF_LOG_ONLY to refs-internal.h - - Treat REVERT_HEAD as a pseudo ref - - Treat CHERRY_PICK_HEAD as a pseudo ref +* hn/reftable (2020-07-06) 4 commits - Treat BISECT_HEAD as a pseudo ref - - Make refs_ref_exists public - - Write pseudorefs through ref backends. - checkout: add '\n' to reflog message - t3432: use git-reflog to inspect the reflog for HEAD - lib-t6000.sh: write tag using git-update-ref - - Merge branch 'bc/sha-256-part-2' into HEAD - - Merge branch 'js/default-branch-name' into HEAD - (this branch uses bc/sha-256-part-2 and js/default-branch-name; is tangled with bc/sha-256-cvs-svn-updates.) - - A new refs backend "reftable" to replace the traditional - combination of packed-refs files and one-file-per-ref loose refs - has been implemented and integrated for improved performance and - atomicity. + + Preliminary clean-up of the refs API in preparation for adding a + new refs backend "reftable". + + Expecting a reroll. + The second one should be dropped, and possibly replaced with a + patch that moves message normalization from backends to the more + generic layer. + cf. -------------------------------------------------- [Discarded]