]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2020/07 #01)
authorJunio C Hamano <gitster@pobox.com>
Tue, 7 Jul 2020 05:48:56 +0000 (22:48 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 Jul 2020 05:48:56 +0000 (22:48 -0700)
whats-cooking.txt

index 1c818a145ddb9531e5b6ec2f900fb1362cea0590..273279ebf091c85d330b575ee1991cb1b9802a3d 100644 (file)
@@ -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. <nycvar.QRO.7.76.6.2005230007260.56@tvgsbejvaqbjf.bet>
 
+* 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.<name>.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. <xmqqv9j08dxo.fsf@gitster.c.googlers.com>
+
+
+* cc/cat-file-usage-update (2020-07-01) 1 commit
+  (merged to 'next' on 2020-07-06 at 270769a009)
+ + cat-file: add missing [=<format>] 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=<msg>" 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. <xmqq5zb09v4e.fsf@gitster.c.googlers.com>
 
 
-* 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. <xmqqzh8c8eda.fsf@gitster.c.googlers.com>
 
 
-* 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. <xmqqimf087pq.fsf@gitster.c.googlers.com>
+ cf. <xmqqeepo87hz.fsf@gitster.c.googlers.com>
 
 
-* 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. <cover.1593720075.git.me@ttaylorr.com>
 
- 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. <nycvar.QRO.7.76.6.2005230007260.56@tvgsbejvaqbjf.bet>
+
+
+* 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. <CAHd-oW6A2aBHg80R9kyifvF7thwzam5EYYoN9d2TaBcHJrcKWw@mail.gmail.com>
+
+
+* 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=<msg>" 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.<name>.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. <CABPp-BGdEyEeajYZj_rdxp=MyEQdszuyjVTax=hhYj3fOtRQUQ@mail.gmail.com>
 
 
-* 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. <xmqqmu4ca31g.fsf@gitster.c.googlers.com>
 
 --------------------------------------------------
 [Discarded]