What's cooking (2020/07 #01)

Junio C Hamano committed Jul 6, 2020 at 22:48 UTC 06ad1f9e0537c94751ab4955dc316f4749ecad80
1 file changed +335 -330
whats-cooking.txt
+335 -330
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2020, #06; Mon, 29)
4 -X-master-at: a08a83db2bf27f015bec9a435f6d73e223c21c5e
5 -X-next-at: 050319c2ae82f2fac00eac9d80a1d91394d99aec
3 +Subject: What's cooking in git.git (Jul 2020, #01; Mon, 6)
4 +X-master-at: 4a0fcf9f760c9774be77f51e1e88a7499b53d2e2
5 +X-next-at: b3809f4674cea6e2f5db8a478a39b85851690c7d
6
7 -What's cooking in git.git (Jun 2020, #06; Mon, 29)
7 +What's cooking in git.git (Jul 2020, #01; Mon, 6)
8 --------------------------------------------------
9
10 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
12 with '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -More topics graduate to the 'master' and to the 'next' branches. I
16 -expect that this week would be slower than usual due to US holidays
17 -but hopefully we'd be able to merge most of the impactful topics by
18 -the -rc0. Some large-ish topics may have to be left for the next
19 -cycle, as usual.
15 +We are about to tag the -rc0 "preview" and enter pre-release freeze
16 +period. The change to let users name the initial branch that gets
17 +prepared in a newly created repository has now been merged to be
18 +included in the upcoming release.
19
20 You can find the changes described here in the integration branches of the
21 repositories listed at
@@ -24,139 +23,139 @@ repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
27 -[Graduated to "master"]
26 +[Graduated to 'master']
27
29 -* dl/diff-usage-comment-update (2020-06-23) 2 commits
30 - (merged to 'next' on 2020-06-23 at 48d685cd45)
31 - + builtin/diff: fix botched update of usage comment
32 - (merged to 'next' on 2020-06-19 at b53a12bb66)
33 - + builtin/diff: update usage comment
34 -
35 - An in-code comment in "git diff" has been updated.
36 -
37 -
38 -* rs/commit-reach-leakfix (2020-06-19) 1 commit
39 - (merged to 'next' on 2020-06-22 at fcc1e385f0)
40 - + commit-reach: plug minor memory leak after using is_descendant_of()
41 -
42 - Leakfix.
43 -
44 -
45 -* rs/pull-leakfix (2020-06-19) 1 commit
46 - (merged to 'next' on 2020-06-22 at d80a6b9ca3)
47 - + pull: plug minor memory leak after using is_descendant_of()
48 -
49 - Leakfix.
50 -
51 -
52 -* rs/retire-strbuf-write-fd (2020-06-19) 2 commits
53 - (merged to 'next' on 2020-06-22 at c175b54f2a)
54 - + strbuf: remove unreferenced strbuf_write_fd method.
55 - + bugreport.c: replace strbuf_write_fd with write_in_full
56 -
57 - A misdesigned strbuf_write_fd() function has been retired.
58 -
59 -
60 -* sk/diff-files-show-i-t-a-as-new (2020-06-22) 1 commit
61 - (merged to 'next' on 2020-06-22 at 825a823416)
62 - + diff-files: treat "i-t-a" files as "not-in-index"
63 - (this branch is used by js/diff-files-i-t-a-fix-for-difftool.)
64 -
65 - "git diff-files" has been taught to say paths that are marked as
66 - intent-to-add are new files, not modified from an empty blob.
67 -
68 -
69 -* xl/upgrade-repo-format (2020-06-05) 4 commits
70 - (merged to 'next' on 2020-06-19 at 02bf7a9d8c)
71 - + check_repository_format_gently(): refuse extensions for old repositories
72 - + sparse-checkout: upgrade repository to version 1 when enabling extension
73 - + fetch: allow adding a filter after initial clone
74 - + repository: add a helper function to perform repository format upgrade
28 +* ak/commit-graph-to-slab (2020-06-17) 4 commits
29 + (merged to 'next' on 2020-06-25 at 9a10ae18d3)
30 + + commit-graph: minimize commit_graph_data_slab access
31 + + commit: move members graph_pos, generation to a slab
32 + + commit-graph: introduce commit_graph_data_slab
33 + + object: drop parsed_object_pool->commit_count
34
76 - Allow runtime upgrade of the repository format version, which needs
77 - to be done carefully.
35 + A few fields in "struct commit" that do not have to always be
36 + present have been moved to commit slabs.
37
79 - There is a rather unpleasant backward compatibility worry with the
80 - last step of this series, but it is the right thing to do in the
81 - longer term.
38
83 ---------------------------------------------------
84 -[New Topics]
39 +* bc/http-push-flagsfix (2020-06-23) 1 commit
40 + (merged to 'next' on 2020-06-25 at 1dabb1f61b)
41 + + http-push: ensure unforced pushes fail when data would be lost
42
86 -* mt/hash-to-hex-thread-safety (2020-06-26) 2 commits
87 - - hex: make hash_to_hex_algop() and friends thread-safe
88 - - compat/win32/pthread: add pthread_once()
43 + The code to push changes over "dumb" HTTP had a bad interaction
44 + with the commit reachability code due to incorrect allocation of
45 + object flag bits, which has been corrected.
46
90 - hash_to_hex() used a set of rotating static buffers, which was not
91 - safe to use in a threaded environment. This has been made safer by
92 - using thread-local storage.
47
94 - Will merge to 'next'.
48 +* bc/sha-256-cvs-svn-updates (2020-06-22) 14 commits
49 + (merged to 'next' on 2020-06-25 at e0d1c87fcf)
50 + + git-cvsexportcommit: port to SHA-256
51 + + git-cvsimport: port to SHA-256
52 + + git-cvsserver: port to SHA-256
53 + + git-svn: set the OID length based on hash algorithm
54 + + perl: make SVN code hash independent
55 + + perl: make Git::IndexInfo work with SHA-256
56 + + perl: create and switch variables for hash constants
57 + + t/lib-git-svn: make hash size independent
58 + + t9101: make hash independent
59 + + t9104: make hash size independent
60 + + t9100: make test work with SHA-256
61 + + t9108: make test hash independent
62 + + t9168: make test hash independent
63 + + t9109: make test hash independent
64 + (this branch uses bc/sha-256-part-2.)
65
96 ---------------------------------------------------
97 -[Stalled]
66 + CVS/SVN interface have been prepared for SHA-256 transition
67
99 -* dr/push-remoteref-fix (2020-04-23) 1 commit
100 - - remote.c: fix handling of %(push:remoteref)
68
102 - The "%(push:remoteref)" placeholder in the "--format=" argument of
103 - "git format-patch" (and friends) only showed what got explicitly
104 - configured, not what ref at the receiving end would be updated when
105 - "git push" was used, as it ignored the default behaviour (e.g. update
106 - the same ref as the source).
69 +* bc/sha-256-part-2 (2020-06-19) 44 commits
70 + (merged to 'next' on 2020-06-22 at dc153f366d)
71 + + remote-testgit: adapt for object-format
72 + + bundle: detect hash algorithm when reading refs
73 + + t5300: pass --object-format to git index-pack
74 + + t5704: send object-format capability with SHA-256
75 + + t5703: use object-format serve option
76 + + t5702: offer an object-format capability in the test
77 + + t/helper: initialize the repository for test-sha1-array
78 + + remote-curl: avoid truncating refs with ls-remote
79 + + t1050: pass algorithm to index-pack when outside repo
80 + + builtin/index-pack: add option to specify hash algorithm
81 + + remote-curl: detect algorithm for dumb HTTP by size
82 + + builtin/ls-remote: initialize repository based on fetch
83 + + t5500: make hash independent
84 + + serve: advertise object-format capability for protocol v2
85 + + connect: parse v2 refs with correct hash algorithm
86 + + connect: pass full packet reader when parsing v2 refs
87 + + Documentation/technical: document object-format for protocol v2
88 + + t1302: expect repo format version 1 for SHA-256
89 + + builtin/show-index: provide options to determine hash algo
90 + + t5302: modernize test formatting
91 + + packfile: compute and use the index CRC offset
92 + + t3200: mark assertion with SHA1 prerequisite
93 + + setup: set the_repository's hash algo when checking format
94 + + fetch-pack: parse and advertise the object-format capability
95 + + t5562: pass object-format in synthesized test data
96 + + builtin/clone: initialize hash algorithm properly
97 + + remote-curl: implement object-format extensions
98 + + transport-helper: implement object-format extensions
99 + + docs: update remote helper docs for object-format extensions
100 + + builtin/receive-pack: detect when the server doesn't support our hash
101 + + connect: detect algorithm when fetching refs
102 + + fetch-pack: detect when the server doesn't support our hash
103 + + connect: make parse_feature_value extern
104 + + send-pack: detect when the server doesn't support our hash
105 + + connect: add function to detect supported v1 hash functions
106 + + transport: add a hash algorithm member
107 + + pkt-line: add a member for hash algorithm
108 + + connect: add function to fetch value of a v2 server capability
109 + + connect: add function to parse multiple v1 capability values
110 + + remote: advertise the object-format capability on the server side
111 + + wrapper: add function to compare strings with different NUL termination
112 + + connect: have ref processing code take struct packet_reader
113 + + Documentation: document v1 protocol object-format capability
114 + + t1050: match object ID paths in a hash-insensitive way
115 + (this branch is used by bc/sha-256-cvs-svn-updates.)
116
108 - Expecting a reroll.
109 - cf. <20200416152145.wp2zeibxmuyas6y6@feanor>
117 + SHA-256 migration work continues.
118
119
112 -* mr/bisect-in-c-2 (2020-04-23) 12 commits
113 - - bisect--helper: retire `--bisect-autostart` subcommand
114 - - bisect--helper: retire `--write-terms` subcommand
115 - - bisect--helper: retire `--check-expected-revs` subcommand
116 - - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
117 - - bisect--helper: retire `--next-all` subcommand
118 - - bisect--helper: retire `--bisect-clean-state` subcommand
119 - - bisect--helper: finish porting `bisect_start()` to C
120 - - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
121 - - bisect--helper: reimplement `bisect_autostart` shell function in C
122 - - bisect--helper: introduce new `write_in_file()` function
123 - - bisect--helper: use '-res' in 'cmd_bisect__helper' return
124 - - bisect--helper: fix `cmd_*()` function switch default return
120 +* cb/is-descendant-of (2020-06-23) 1 commit
121 + (merged to 'next' on 2020-06-25 at ca0eaddf5e)
122 + + commit-reach: avoid is_descendant_of() shim
123
126 - Rewrite of the remainder of "git bisect" script in C continues.
124 + Code clean-up.
125
128 - Expecting a response to reviews.
129 - cf. <nycvar.QRO.7.76.6.2005230007260.56@tvgsbejvaqbjf.bet>
126
127 +* dl/test-must-fail-fixes-5 (2020-06-24) 4 commits
128 + (merged to 'next' on 2020-06-29 at efe53a7588)
129 + + lib-submodule-update: pass 'test_must_fail' as an argument
130 + + lib-submodule-update: prepend "git" to $command
131 + + lib-submodule-update: consolidate --recurse-submodules
132 + + lib-submodule-update: add space after function name
133
132 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
133 - - zlib.c: use size_t for size
134 + The effort to avoid using test_must_fail on non-git command continues.
135
135 - The wrapper to call into zlib followed our long tradition to use
136 - "unsigned long" for sizes of regions in memory, which have been
137 - updated to use "size_t".
136
139 ---------------------------------------------------
140 -[Cooking]
137 +* en/sparse-status (2020-06-22) 3 commits
138 + (merged to 'next' on 2020-06-25 at 404403a075)
139 + + git-prompt: include sparsity state as well
140 + + git-prompt: document how in-progress operations affect the prompt
141 + + wt-status: show sparse checkout status as well
142
142 -* bc/http-push-flagsfix (2020-06-23) 1 commit
143 - (merged to 'next' on 2020-06-25 at 1dabb1f61b)
144 - + http-push: ensure unforced pushes fail when data would be lost
143 + "git status" learned to report the status of sparse checkout.
144
146 - The code to push changes over "dumb" HTTP had a bad interaction
147 - with the commit reachability code due to incorrect allocation of
148 - object flag bits, which has been corrected.
145
150 - Will merge to 'master'.
146 +* es/get-worktrees-unsort (2020-06-22) 2 commits
147 + (merged to 'next' on 2020-06-25 at 732d93a36d)
148 + + worktree: drop get_worktrees() unused 'flags' argument
149 + + worktree: drop get_worktrees() special-purpose sorting option
150
151 + API cleanup for get_worktrees()
152
153 -* cb/is-descendant-of (2020-06-23) 1 commit
154 - (merged to 'next' on 2020-06-25 at ca0eaddf5e)
155 - + commit-reach: avoid is_descendant_of() shim
153
157 - Code clean-up.
154 +* es/worktree-code-cleanup (2020-06-24) 1 commit
155 + (merged to 'next' on 2020-06-29 at 91ffd85a31)
156 + + worktree: avoid dead-code in conditional
157
159 - Will merge to 'master'.
158 + Code cleanup.
159
160
161 * jk/fast-export-anonym-alt (2020-06-25) 11 commits
@@ -176,19 +175,43 @@ repositories listed at
175 "git fast-export --anonymize" learned to take customized mapping to
176 allow its users to tweak its output more usable for debugging.
177
179 - Will merge to 'master'.
178 +
179 +* jl/complete-git-prune (2020-06-22) 1 commit
180 + (merged to 'next' on 2020-06-25 at 64f30b8b41)
181 + + bash-completion: add git-prune into bash completion
182 +
183 + Add "git prune" to the completion (in contrib/), which could be
184 + typed by end-users from the command line.
185 +
186 +
187 +* js/default-branch-name (2020-06-30) 10 commits
188 + (merged to 'next' on 2020-07-01 at c38d766581)
189 + + contrib: subtree: adjust test to change in fmt-merge-msg
190 + (merged to 'next' on 2020-06-25 at 8f962f9219)
191 + + testsvn: respect `init.defaultBranch`
192 + + remote: use the configured default branch name when appropriate
193 + + clone: use configured default branch name when appropriate
194 + + init: allow setting the default for the initial branch name via the config
195 + + init: allow specifying the initial branch name for the new repository
196 + + docs: add missing diamond brackets
197 + + submodule: fall back to remote's HEAD for missing remote.<name>.branch
198 + + send-pack/transport-helper: avoid mentioning a particular branch
199 + + fmt-merge-msg: stop treating `master` specially
200 +
201 + The name of the primary branch in existing repositories, and the
202 + default name used for the first branch in newly created
203 + repositories, is made configurable, so that we can eventually wean
204 + ourselves off of the hardcoded 'master'.
205
206
182 -* js/diff-files-i-t-a-fix-for-difftool (2020-06-25) 2 commits
183 - (merged to 'next' on 2020-06-29 at a9fcdabb3b)
207 +* js/diff-files-i-t-a-fix-for-difftool (2020-07-01) 2 commits
208 + (merged to 'next' on 2020-07-01 at cf5d18635c)
209 + difftool -d: ensure that intent-to-add files are handled correctly
210 + diff-files --raw: show correct post-image of intent-to-add files
211
212 "git difftool" has trouble dealing with paths added to the index
213 with the intent-to-add bit.
214
190 - Will merge to 'master'.
191 -
215
216 * js/pu-to-seen (2020-06-25) 3 commits
217 (merged to 'next' on 2020-06-25 at 06c9e5a885)
@@ -199,8 +222,6 @@ repositories listed at
222 The documentation and some tests have been adjusted for the recent
223 renaming of "pu" branch to "seen".
224
202 - Will merge to 'master'.
203 -
225
226 * mk/pb-pretty-email-without-domain-part-fix (2020-06-23) 1 commit
227 (merged to 'next' on 2020-06-25 at 81a3aca46b)
@@ -208,18 +229,12 @@ repositories listed at
229
230 Docfix.
231
211 - Will merge to 'master'.
212 -
232
214 -* mf/submodule-summary-with-correct-repository (2020-06-24) 2 commits
215 - - submodule: use submodule repository when preparing summary
216 - - revision: use repository from rev_info when parsing commits
217 -
218 - "git diff/show" on a change that involves a submodule used to read
219 - the information on commits in the submodule from a wrong repository
220 - and gave a wrong information when the commit-graph is involved.
233 +* ps/ref-transaction-hook (2020-06-19) 1 commit
234 + (merged to 'next' on 2020-06-22 at 3a23dcdbdc)
235 + + refs: implement reference transaction hook
236
222 - Needs tests.
237 + A new hook.
238
239
240 * rs/pack-bits-in-object-better (2020-06-24) 1 commit
@@ -229,128 +244,212 @@ repositories listed at
244 By renumbering object flag bits, "struct object" managed to lose
245 bloated inter-field padding.
246
232 - Will merge to 'master'.
247 +--------------------------------------------------
248 +[New Topics]
249
250 +* bw/fail-cloning-into-non-empty (2020-07-06) 1 commit
251 + - git clone: don't clone into non-empty directory
252
235 -* es/worktree-code-cleanup (2020-06-24) 1 commit
236 - (merged to 'next' on 2020-06-29 at 91ffd85a31)
237 - + worktree: avoid dead-code in conditional
253 + "git clone --separate-git-dir=$elsewhere" used to stomp on the
254 + contents of the existing directory $elsewhere, which has been
255 + taught to fail when $elsewhere is not an empty directory.
256
239 - Code cleanup.
257 + Expecting a reroll.
258 + with improved commit log message.
259 + cf. <xmqqv9j08dxo.fsf@gitster.c.googlers.com>
260 +
261 +
262 +* cc/cat-file-usage-update (2020-07-01) 1 commit
263 + (merged to 'next' on 2020-07-06 at 270769a009)
264 + + cat-file: add missing [=<format>] to usage/synopsis
265 +
266 + Doc/usage update.
267
268 Will merge to 'master'.
269
270
244 -* ra/send-email-in-reply-to-from-command-line-wins (2020-06-29) 1 commit
245 - - send-email: restore --in-reply-to superseding behavior
271 +* cc/pretty-contents-size (2020-07-06) 2 commits
272 + - ref-filter: add support for %(contents:size)
273 + - Documentation: clarify %(contents:XXXX) doc
274
247 - "git send-email --in-reply-to=<msg>" did not use the In-Reply-To:
248 - header with the value given from the command line, and let it be
249 - overridden by the value on In-Reply-To: header in the messages
250 - being sent out (if exists).
275 + "git for-each-ref --format=<>" learned %(contents:size).
276
252 - Expecting a reroll/redesign.
253 - Does not behave sensibly for a multi-patch series.
277 + Expecting a reroll.
278 + with clarified semantics and tests with various object types
279 + cf. <xmqq5zb09v4e.fsf@gitster.c.googlers.com>
280
281
256 -* en/sparse-status (2020-06-22) 3 commits
257 - (merged to 'next' on 2020-06-25 at 404403a075)
258 - + git-prompt: include sparsity state as well
259 - + git-prompt: document how in-progress operations affect the prompt
260 - + wt-status: show sparse checkout status as well
282 +* ls/mergetool-meld-auto-merge (2020-07-06) 1 commit
283 + - Support auto-merge for meld to follow the vim-diff behavior
284
262 - "git status" learned to report the status of sparse checkout.
285 + The 'meld' backend of the "git mergetool" learned to give the
286 + underlying 'meld' the '--auto-merge' option, which would help
287 + reduce the amount of text that requires manual merging.
288
264 - Will merge to 'master'.
289 + Expecting a reroll.
290 + with final fixes and readability improvements.
291 + cf. <xmqqzh8c8eda.fsf@gitster.c.googlers.com>
292
293
267 -* ps/ref-transaction-hook (2020-06-19) 1 commit
268 - (merged to 'next' on 2020-06-22 at 3a23dcdbdc)
269 - + refs: implement reference transaction hook
294 +* pb/log-rev-list-doc (2020-07-06) 4 commits
295 + - rev-list-description.txt: fix Asciidoc syntax
296 + - git-log.txt: include rev-list-description.txt
297 + - git-rev-list.txt: move description to separate file
298 + - git-log.txt: add links to 'rev-list' and 'diff' docs
299
271 - A new hook.
300 + "git help log" has been enhanced by sharing more material from the
301 + documentation for the underlying "git rev-list" command.
302
273 - Will merge to 'master'.
303 + Expecting a reroll.
304 + with reordering the last one to make it preparatory clean-up.
305 + cf. <xmqqimf087pq.fsf@gitster.c.googlers.com>
306 + cf. <xmqqeepo87hz.fsf@gitster.c.googlers.com>
307
308
276 -* bc/sha-256-cvs-svn-updates (2020-06-22) 14 commits
277 - (merged to 'next' on 2020-06-25 at e0d1c87fcf)
278 - + git-cvsexportcommit: port to SHA-256
279 - + git-cvsimport: port to SHA-256
280 - + git-cvsserver: port to SHA-256
281 - + git-svn: set the OID length based on hash algorithm
282 - + perl: make SVN code hash independent
283 - + perl: make Git::IndexInfo work with SHA-256
284 - + perl: create and switch variables for hash constants
285 - + t/lib-git-svn: make hash size independent
286 - + t9101: make hash independent
287 - + t9104: make hash size independent
288 - + t9100: make test work with SHA-256
289 - + t9108: make test hash independent
290 - + t9168: make test hash independent
291 - + t9109: make test hash independent
292 - (this branch uses bc/sha-256-part-2; is tangled with hn/reftable.)
309 +* rs/line-log-until (2020-07-06) 1 commit
310 + (merged to 'next' on 2020-07-06 at 84d6bc67fa)
311 + + revision: disable min_age optimization with line-log
312
294 - CVS/SVN interface have been prepared for SHA-256 transition
313 + "git log -Lx,y:path --before=date" lost track of where the range
314 + should be because it didn't take the changes made by the youngest
315 + commits that are omitted from the output into account.
316
317 Will merge to 'master'.
318
319
299 -* ds/commit-graph-bloom-updates (2020-06-26) 10 commits
300 - - commit-graph: check all leading directories in changed path Bloom filters
301 - - revision: empty pathspecs should not use Bloom filters
302 - - revision.c: fix whitespace
303 - - commit-graph: check chunk sizes after writing
304 - - commit-graph: simplify chunk writes into loop
305 - - commit-graph: unify the signatures of all write_graph_chunk_*() functions
306 - - commit-graph: persist existence of changed-paths
307 - - bloom: fix logic in get_bloom_filter()
308 - - commit-graph: change test to die on parse, not load
309 - - commit-graph: place bloom_settings in context
310 - (this branch uses sg/commit-graph-cleanups.)
320 +* ta/wait-on-aliased-commands-upon-signal (2020-07-06) 2 commits
321 + - Wait for child on signal death for aliases to externals
322 + - Wait for child on signal death for aliases to builtins
323
312 - Updates to the changed-paths bloom filter.
324 + When an aliased command, whose output is piped to a pager by git,
325 + gets killed by a signal, the pager got into a funny state, which
326 + has been corrected (again).
327 +
328 + Expecting a reroll.
329 + with improved log messages.
330 + cf. <20200706211403.GB85133@coredump.intra.peff.net>
331
314 - Will merge to 'next'.
332
333 +* tb/upload-pack-filters (2020-07-06) 4 commits
334 + - upload-pack.c: introduce 'uploadpack.filter.tree.maxDepth'
335 + - upload-pack.c: pass 'struct list_objects_filter_options *'
336 + - upload-pack.c: allow banning certain object filter(s)
337 + - list_objects_filter_options: introduce 'list_object_filter_config_name'
338
317 -* es/get-worktrees-unsort (2020-06-22) 2 commits
318 - (merged to 'next' on 2020-06-25 at 732d93a36d)
319 - + worktree: drop get_worktrees() unused 'flags' argument
320 - + worktree: drop get_worktrees() special-purpose sorting option
339 + The component to respond to "git fetch" request is made more
340 + configurable to selectively allow or reject object filtering
341 + specification used for partial cloning.
342 +
343 + Waiting for reviews.
344 + cf. <cover.1593720075.git.me@ttaylorr.com>
345
322 - API cleanup for get_worktrees()
346 +
347 +* vs/completion-with-set-u (2020-07-01) 1 commit
348 + (merged to 'next' on 2020-07-06 at 72b1eca511)
349 + + completion: nounset mode fixes
350 +
351 + The command line completion support (in contrib/) used to be
352 + prepared to work with "set -u" but recent changes got a bit more
353 + sloppy. This has been corrected.
354
355 Will merge to 'master'.
356
357 +--------------------------------------------------
358 +[Stalled]
359
327 -* jl/complete-git-prune (2020-06-22) 1 commit
328 - (merged to 'next' on 2020-06-25 at 64f30b8b41)
329 - + bash-completion: add git-prune into bash completion
360 +* dr/push-remoteref-fix (2020-04-23) 1 commit
361 + - remote.c: fix handling of %(push:remoteref)
362
331 - Add "git prune" to the completion (in contrib/), which could be
332 - typed by end-users from the command line.
363 + The "%(push:remoteref)" placeholder in the "--format=" argument of
364 + "git format-patch" (and friends) only showed what got explicitly
365 + configured, not what ref at the receiving end would be updated when
366 + "git push" was used, as it ignored the default behaviour (e.g. update
367 + the same ref as the source).
368 +
369 + Expecting a reroll.
370 + cf. <20200416152145.wp2zeibxmuyas6y6@feanor>
371 +
372 +
373 +* mr/bisect-in-c-2 (2020-04-23) 12 commits
374 + - bisect--helper: retire `--bisect-autostart` subcommand
375 + - bisect--helper: retire `--write-terms` subcommand
376 + - bisect--helper: retire `--check-expected-revs` subcommand
377 + - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
378 + - bisect--helper: retire `--next-all` subcommand
379 + - bisect--helper: retire `--bisect-clean-state` subcommand
380 + - bisect--helper: finish porting `bisect_start()` to C
381 + - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
382 + - bisect--helper: reimplement `bisect_autostart` shell function in C
383 + - bisect--helper: introduce new `write_in_file()` function
384 + - bisect--helper: use '-res' in 'cmd_bisect__helper' return
385 + - bisect--helper: fix `cmd_*()` function switch default return
386 +
387 + Rewrite of the remainder of "git bisect" script in C continues.
388 +
389 + Expecting a response to reviews.
390 + cf. <nycvar.QRO.7.76.6.2005230007260.56@tvgsbejvaqbjf.bet>
391 +
392 +
393 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
394 + - zlib.c: use size_t for size
395 +
396 + The wrapper to call into zlib followed our long tradition to use
397 + "unsigned long" for sizes of regions in memory, which have been
398 + updated to use "size_t".
399 +
400 +--------------------------------------------------
401 +[Cooking]
402 +
403 +* mt/hash-to-hex-thread-safety (2020-06-26) 2 commits
404 + - hex: make hash_to_hex_algop() and friends thread-safe
405 + - compat/win32/pthread: add pthread_once()
406 +
407 + hash_to_hex() used a set of rotating static buffers, which was not
408 + safe to use in a threaded environment. This has been made safer by
409 + using thread-local storage.
410 +
411 + Expecting a reroll.
412 + cf. <CAHd-oW6A2aBHg80R9kyifvF7thwzam5EYYoN9d2TaBcHJrcKWw@mail.gmail.com>
413 +
414 +
415 +* mf/submodule-summary-with-correct-repository (2020-06-24) 2 commits
416 + - submodule: use submodule repository when preparing summary
417 + - revision: use repository from rev_info when parsing commits
418 +
419 + "git diff/show" on a change that involves a submodule used to read
420 + the information on commits in the submodule from a wrong repository
421 + and gave a wrong information when the commit-graph is involved.
422 +
423 + Needs tests.
424 +
425 +
426 +* ra/send-email-in-reply-to-from-command-line-wins (2020-07-01) 1 commit
427 + (merged to 'next' on 2020-07-06 at 3892a1ab88)
428 + + send-email: restore --in-reply-to superseding behavior
429 +
430 + "git send-email --in-reply-to=<msg>" did not use the In-Reply-To:
431 + header with the value given from the command line, and let it be
432 + overridden by the value on In-Reply-To: header in the messages
433 + being sent out (if exists).
434
435 Will merge to 'master'.
436
437
337 -* js/default-branch-name (2020-06-24) 9 commits
338 - (merged to 'next' on 2020-06-25 at 8f962f9219)
339 - + testsvn: respect `init.defaultBranch`
340 - + remote: use the configured default branch name when appropriate
341 - + clone: use configured default branch name when appropriate
342 - + init: allow setting the default for the initial branch name via the config
343 - + init: allow specifying the initial branch name for the new repository
344 - + docs: add missing diamond brackets
345 - + submodule: fall back to remote's HEAD for missing remote.<name>.branch
346 - + send-pack/transport-helper: avoid mentioning a particular branch
347 - + fmt-merge-msg: stop treating `master` specially
348 - (this branch is used by hn/reftable.)
438 +* ds/commit-graph-bloom-updates (2020-07-01) 10 commits
439 + (merged to 'next' on 2020-07-06 at 177e6b362e)
440 + + commit-graph: check all leading directories in changed path Bloom filters
441 + + revision: empty pathspecs should not use Bloom filters
442 + + revision.c: fix whitespace
443 + + commit-graph: check chunk sizes after writing
444 + + commit-graph: simplify chunk writes into loop
445 + + commit-graph: unify the signatures of all write_graph_chunk_*() functions
446 + + commit-graph: persist existence of changed-paths
447 + + bloom: fix logic in get_bloom_filter()
448 + + commit-graph: change test to die on parse, not load
449 + + commit-graph: place bloom_settings in context
450 + (this branch uses sg/commit-graph-cleanups.)
451
350 - The name of the primary branch in existing repositories, and the
351 - default name used for the first branch in newly created
352 - repositories, is made configurable, so that we can eventually wean
353 - ourselves off of the hardcoded 'master'.
452 + Updates to the changed-paths bloom filter.
453
454 Will merge to 'master'.
455
@@ -370,42 +469,17 @@ repositories listed at
469 Waiting for a (hopefully final) review.
470
471
373 -* ak/commit-graph-to-slab (2020-06-17) 4 commits
374 - (merged to 'next' on 2020-06-25 at 9a10ae18d3)
375 - + commit-graph: minimize commit_graph_data_slab access
376 - + commit: move members graph_pos, generation to a slab
377 - + commit-graph: introduce commit_graph_data_slab
378 - + object: drop parsed_object_pool->commit_count
379 -
380 - A few fields in "struct commit" that do not have to always be
381 - present have been moved to commit slabs.
382 -
383 - Will merge to 'master'.
384 -
385 -
386 -* dl/test-must-fail-fixes-5 (2020-06-24) 4 commits
387 - (merged to 'next' on 2020-06-29 at efe53a7588)
388 - + lib-submodule-update: pass 'test_must_fail' as an argument
389 - + lib-submodule-update: prepend "git" to $command
390 - + lib-submodule-update: consolidate --recurse-submodules
391 - + lib-submodule-update: add space after function name
392 -
393 - The effort to avoid using test_must_fail on non-git command continues.
394 -
395 - Will merge to 'master'.
396 -
397 -
472 * sg/commit-graph-cleanups (2020-06-08) 10 commits
399 - - commit-graph: simplify write_commit_graph_file() #2
400 - - commit-graph: simplify write_commit_graph_file() #1
401 - - commit-graph: simplify parse_commit_graph() #2
402 - - commit-graph: simplify parse_commit_graph() #1
403 - - commit-graph: clean up #includes
404 - - diff.h: drop diff_tree_oid() & friends' return value
405 - - commit-slab: add a function to deep free entries on the slab
406 - - commit-graph-format.txt: all multi-byte numbers are in network byte order
407 - - commit-graph: fix parsing the Chunk Lookup table
408 - - tree-walk.c: don't match submodule entries for 'submod/anything'
473 + + commit-graph: simplify write_commit_graph_file() #2
474 + + commit-graph: simplify write_commit_graph_file() #1
475 + + commit-graph: simplify parse_commit_graph() #2
476 + + commit-graph: simplify parse_commit_graph() #1
477 + + commit-graph: clean up #includes
478 + + diff.h: drop diff_tree_oid() & friends' return value
479 + + commit-slab: add a function to deep free entries on the slab
480 + + commit-graph-format.txt: all multi-byte numbers are in network byte order
481 + + commit-graph: fix parsing the Chunk Lookup table
482 + + tree-walk.c: don't match submodule entries for 'submod/anything'
483 (this branch is used by ds/commit-graph-bloom-updates.)
484
485 The changed-path Bloom filter is improved using ideas from an
@@ -455,59 +529,6 @@ repositories listed at
529 cf. <CABPp-BGdEyEeajYZj_rdxp=MyEQdszuyjVTax=hhYj3fOtRQUQ@mail.gmail.com>
530
531
458 -* bc/sha-256-part-2 (2020-06-19) 44 commits
459 - (merged to 'next' on 2020-06-22 at dc153f366d)
460 - + remote-testgit: adapt for object-format
461 - + bundle: detect hash algorithm when reading refs
462 - + t5300: pass --object-format to git index-pack
463 - + t5704: send object-format capability with SHA-256
464 - + t5703: use object-format serve option
465 - + t5702: offer an object-format capability in the test
466 - + t/helper: initialize the repository for test-sha1-array
467 - + remote-curl: avoid truncating refs with ls-remote
468 - + t1050: pass algorithm to index-pack when outside repo
469 - + builtin/index-pack: add option to specify hash algorithm
470 - + remote-curl: detect algorithm for dumb HTTP by size
471 - + builtin/ls-remote: initialize repository based on fetch
472 - + t5500: make hash independent
473 - + serve: advertise object-format capability for protocol v2
474 - + connect: parse v2 refs with correct hash algorithm
475 - + connect: pass full packet reader when parsing v2 refs
476 - + Documentation/technical: document object-format for protocol v2
477 - + t1302: expect repo format version 1 for SHA-256
478 - + builtin/show-index: provide options to determine hash algo
479 - + t5302: modernize test formatting
480 - + packfile: compute and use the index CRC offset
481 - + t3200: mark assertion with SHA1 prerequisite
482 - + setup: set the_repository's hash algo when checking format
483 - + fetch-pack: parse and advertise the object-format capability
484 - + t5562: pass object-format in synthesized test data
485 - + builtin/clone: initialize hash algorithm properly
486 - + remote-curl: implement object-format extensions
487 - + transport-helper: implement object-format extensions
488 - + docs: update remote helper docs for object-format extensions
489 - + builtin/receive-pack: detect when the server doesn't support our hash
490 - + connect: detect algorithm when fetching refs
491 - + fetch-pack: detect when the server doesn't support our hash
492 - + connect: make parse_feature_value extern
493 - + send-pack: detect when the server doesn't support our hash
494 - + connect: add function to detect supported v1 hash functions
495 - + transport: add a hash algorithm member
496 - + pkt-line: add a member for hash algorithm
497 - + connect: add function to fetch value of a v2 server capability
498 - + connect: add function to parse multiple v1 capability values
499 - + remote: advertise the object-format capability on the server side
500 - + wrapper: add function to compare strings with different NUL termination
501 - + connect: have ref processing code take struct packet_reader
502 - + Documentation: document v1 protocol object-format capability
503 - + t1050: match object ID paths in a hash-insensitive way
504 - (this branch is used by bc/sha-256-cvs-svn-updates and hn/reftable.)
505 -
506 - SHA-256 migration work continues.
507 -
508 - Will merge to 'master'.
509 -
510 -
532 * jx/proc-receive-hook (2020-05-18) 11 commits
533 - doc: add documentation for the proc-receive hook
534 - transport: parse report options for tracking refs
@@ -527,36 +548,20 @@ repositories listed at
548 Needs review.
549
550
530 -* hn/reftable (2020-06-29) 23 commits
531 - - fixup! Reftable support for git-core
532 - - Add "test-tool dump-reftable" command.
533 - - Add reftable testing infrastructure
534 - - git-prompt: prepare for reftable refs backend
535 - - vcxproj: adjust for the reftable changes
536 - - Add GIT_DEBUG_REFS debugging mechanism
537 - - Hookup unittests for the reftable library.
538 - - Reftable support for git-core
539 - - Add standalone build infrastructure for reftable
540 - - Add reftable library
541 - - Add .gitattributes for the reftable/ directory
542 - - Iterate over the "refs/" namespace in for_each_[raw]ref
543 - - Move REF_LOG_ONLY to refs-internal.h
544 - - Treat REVERT_HEAD as a pseudo ref
545 - - Treat CHERRY_PICK_HEAD as a pseudo ref
551 +* hn/reftable (2020-07-06) 4 commits
552 - Treat BISECT_HEAD as a pseudo ref
547 - - Make refs_ref_exists public
548 - - Write pseudorefs through ref backends.
553 - checkout: add '\n' to reflog message
554 - t3432: use git-reflog to inspect the reflog for HEAD
555 - lib-t6000.sh: write tag using git-update-ref
552 - - Merge branch 'bc/sha-256-part-2' into HEAD
553 - - Merge branch 'js/default-branch-name' into HEAD
554 - (this branch uses bc/sha-256-part-2 and js/default-branch-name; is tangled with bc/sha-256-cvs-svn-updates.)
555 -
556 - A new refs backend "reftable" to replace the traditional
557 - combination of packed-refs files and one-file-per-ref loose refs
558 - has been implemented and integrated for improved performance and
559 - atomicity.
556 +
557 + Preliminary clean-up of the refs API in preparation for adding a
558 + new refs backend "reftable".
559 +
560 + Expecting a reroll.
561 + The second one should be dropped, and possibly replaced with a
562 + patch that moves message normalization from backends to the more
563 + generic layer.
564 + cf. <xmqqmu4ca31g.fsf@gitster.c.googlers.com>
565
566 --------------------------------------------------
567 [Discarded]