What's cooking (2021/01 #04)

Junio C Hamano committed Jan 16, 2021 at 13:59 UTC d9fba27fdb5bf860c1659cd40b91edeb247a9c08
1 file changed +395 -645
whats-cooking.txt
+395 -645
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2021, #03; Fri, 15)
4 -X-master-at: 4151fdb1c76c1a190ac9241b67223efd19f3e478
5 -X-next-at: 6a967380364a91b4c913c719b6c1f3962b1af2d8
3 +Subject: What's cooking in git.git (Jan 2021, #04; Sat, 16)
4 +X-master-at: 66e871b6647ffea61a77a0f82c7ef3415f1ee79c
5 +X-next-at: 02bc693789bd06eae399a1ec06d0ca2f72f49ff3
6
7 -What's cooking in git.git (Jan 2021, #03; Fri, 15)
7 +What's cooking in git.git (Jan 2021, #04; Sat, 16)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,7 +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 -The second batch of topics are now in 'master'.
15 +The third batch of topics are now in 'master'. Most of these cooked
16 +for shorter than usual in 'next' (I usually try to keep any topic in
17 +'next' for at least a week), but many of them are mostly benign doc
18 +and test fixes.
19
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
@@ -45,76 +48,34 @@ Release tarballs are available at:
48 --------------------------------------------------
49 [New Topics]
50
48 -* en/ort-directory-rename (2021-01-07) 18 commits
49 - - merge-ort: fix a directory rename detection bug
50 - - merge-ort: process_renames() now needs more defensiveness
51 - - merge-ort: implement apply_directory_rename_modifications()
52 - - merge-ort: add a new toplevel_dir field
53 - - merge-ort: implement handle_path_level_conflicts()
54 - - merge-ort: implement check_for_directory_rename()
55 - - merge-ort: implement apply_dir_rename() and check_dir_renamed()
56 - - merge-ort: implement compute_collisions()
57 - - merge-ort: modify collect_renames() for directory rename handling
58 - - merge-ort: implement handle_directory_level_conflicts()
59 - - merge-ort: implement compute_rename_counts()
60 - - merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
61 - - merge-ort: add outline of get_provisional_directory_renames()
62 - - merge-ort: add outline for computing directory renames
63 - - merge-ort: collect which directories are removed in dirs_removed
64 - - merge-ort: initialize and free new directory rename data structures
65 - - merge-ort: add new data structures for directory rename detection
66 - - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
67 - (this branch is used by en/merge-ort-perf; uses en/merge-ort-3.)
68 -
69 - ORT merge strategy learns to infer "renamed directory" while
70 - merging.
71 -
51 +* ab/fsck-doc-fix (2021-01-16) 1 commit
52 + - fsck doc: remove ancient out-of-date diagnostics
53
73 -* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
74 - (merged to 'next' on 2021-01-12 at 88a1d937ae)
75 - + fsck: reject .gitmodules git:// urls with newlines
76 - + git_connect_git(): forbid newlines in host and path
54 + Documentation for "git fsck" lost stale bits that has become
55 + incorrect.
56
78 - Newline characters in the host and path part of git:// URL are
79 - now forbidden.
80 -
81 - Will merge to 'master'.
82 -
83 -
84 -* ps/fetch-atomic (2021-01-12) 5 commits
85 - (merged to 'next' on 2021-01-13 at a8896d0873)
86 - + fetch: implement support for atomic reference updates
87 - + fetch: allow passing a transaction to `s_update_ref()`
88 - + fetch: refactor `s_update_ref` to use common exit path
89 - + fetch: use strbuf to format FETCH_HEAD updates
90 - + fetch: extract writing to FETCH_HEAD
91 -
92 - "git fetch" learns to treat ref updates atomically in all-or-none
93 - fashion, just like "git push" does, with the new "--atomic" option.
94 -
95 - Will merge to 'master'.
96 -
97 -
98 -* jc/sign-off (2021-01-07) 1 commit
99 - (merged to 'next' on 2021-01-12 at 0d9a2a9a41)
100 - + SubmittingPatches: tighten wording on "sign-off" procedure
57 + Will merge to 'next'.
58
102 - Doc update.
59
104 - Will merge to 'master'.
60 +* ab/tests-various-fixup (2021-01-16) 11 commits
61 + - tests: add a "set -o pipefail" for a patched bash
62 + - tests: split up bash detection library
63 + - archive tests: use a cheaper "zipinfo -h" invocation to get header
64 + - upload-pack tests: avoid a non-zero "grep" exit status
65 + - rm tests: actually test for SIGPIPE in SIGPIPE test
66 + - git-svn tests: rewrite brittle tests to use "--[no-]merges".
67 + - git svn mergeinfo tests: refactor "test -z" to use test_must_be_empty
68 + - git svn mergeinfo tests: modernize redirection & quoting style
69 + - cache-tree tests: refactor overly complex function
70 + - cache-tree tests: use a sub-shell with less indirection
71 + - cache-tree tests: remove unused $2 parameter
72
73 + Various test updates.
74
107 -* ab/detox-gettext-tests (2021-01-11) 6 commits
108 - - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
109 - - tests: (almost) remove C_LOCALE_OUTPUT prerequisites
110 - - tests: (almost) remove use of "test_i18ngrep !"
111 - - tests: remove misc use of test_i18n{cmp,grep}
112 - - tests: remove support for GIT_TEST_GETTEXT_POISON
113 - - ci: remove GETTEXT_POISON jobs
114 -
115 - Get rid of "GETTEXT_POISON" support altogether, which may or may
116 - not be controversial.
75 + Looking good.
76
77 +--------------------------------------------------
78 +[Graduated to 'master']
79
80 * ab/gettext-charset-comment-fix (2021-01-11) 2 commits
81 (merged to 'next' on 2021-01-12 at bc7f60e246)
@@ -123,8 +84,6 @@ Release tarballs are available at:
84
85 Comments update.
86
126 - Will merge to 'master'.
127 -
87
88 * ad/t4129-setfacl-target-fix (2021-01-09) 1 commit
89 (merged to 'next' on 2021-01-12 at e09694772a)
@@ -132,8 +91,6 @@ Release tarballs are available at:
91
92 Test fix.
93
135 - Will merge to 'master'.
136 -
94
95 * bc/doc-status-short (2021-01-11) 1 commit
96 (merged to 'next' on 2021-01-13 at 6093625f0c)
@@ -141,116 +98,72 @@ Release tarballs are available at:
98
99 Doc update.
100
144 - Will merge to 'master'.
145 -
101
147 -* bc/signed-objects-with-both-hashes (2021-01-11) 6 commits
148 - - SQUASH??? ulong vs size_t
149 - - gpg-interface: remove other signature headers before verifying
150 - - ref-filter: hoist signature parsing
151 - - commit: allow parsing arbitrary buffers with headers
152 - - gpg-interface: improve interface for parsing tags
153 - - commit: ignore additional signatures when parsing signed commits
154 -
155 - Signed commits and tags now allow verification of objects, whose
156 - two object names (one in SHA-1, the other in SHA-256) are both
157 - signed.
158 -
159 -
160 -* ds/update-index (2021-01-09) 14 commits
161 - - update-index: remove static globals from callbacks
162 - - update-index: reduce static globals, part 2
163 - - update-index: reduce static globals, part 1
164 - - update-index: remove ce_match_stat(), all macros
165 - - update-index: replace several compatibility macros
166 - - update-index: use add_index_entry()
167 - - update-index: use remove_file_from_index()
168 - - update-index: use index_name_pos() over cache_name_pos()
169 - - update-index: use istate->cache_changed
170 - - update-index: use istate->cache_nr over active_nr
171 - - update-index: use istate->cache over active_cache
172 - - update-index: drop the_index, the_repository
173 - - rm: remove compatilibity macros
174 - - mv: remove index compatibility macros
175 - (this branch uses ag/merge-strategies-in-c.)
102 +* dl/p4-encode-after-kw-expansion (2020-12-23) 1 commit
103 + (merged to 'next' on 2021-01-13 at 8fce17d998)
104 + + git-p4: fix syncing file types with pattern
105
177 - The implementation of a few commands lost reliance of "the_index"
178 - compatibility macros by explicitly passing the index_state through
179 - the callchain.
106 + Text encoding fix for "git p4".
107
181 - Unfortunately the base topic still needs to solidify.
108
109 +* ds/for-each-repo-noopfix (2021-01-07) 1 commit
110 + (merged to 'next' on 2021-01-12 at 92f83b5db1)
111 + + for-each-repo: do nothing on empty config
112
184 -* jk/t5516-deflake (2021-01-09) 1 commit
185 - (merged to 'next' on 2021-01-12 at ed5317a798)
186 - + t5516: loosen "not our ref" error check
113 + "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
114 + any repository when the configuration variable <var> is not defined
115 + even once.
116
188 - Test fix.
117
190 - Will merge to 'master'.
118 +* ds/maintenance-part-4 (2021-01-05) 4 commits
119 + (merged to 'next' on 2021-01-08 at 1f98c859ea)
120 + + maintenance: use Windows scheduled tasks
121 + + maintenance: use launchctl on macOS
122 + + maintenance: include 'cron' details in docs
123 + + maintenance: extract platform-specific scheduling
124
125 + Follow-up on the "maintenance part-3" which introduced scheduled
126 + maintenance tasks to support platforms whose native scheduling
127 + methods are not 'cron'.
128
193 -* jx/bundle (2021-01-11) 3 commits
194 - (merged to 'next' on 2021-01-14 at 749a907dd2)
195 - + bundle: arguments can be read from stdin
196 - + bundle: lost objects when removing duplicate pendings
197 - + test: add helper functions for git-bundle
129
199 - "git bundle" learns "--stdin" option to read its refs from the
200 - standard input. Also, it now does not lose refs whey thy point at
201 - the same object.
130 +* jc/macos-install-dependencies-fix (2021-01-14) 1 commit
131 + (merged to 'next' on 2021-01-14 at 5a11de010b)
132 + + ci/install-depends: attempt to fix "brew cask" stuff
133
203 - Will merge to 'master'.
134 + Fix for procedure to building CI test environment for mac.
135
136
206 -* ug/doc-lose-dircache (2021-01-09) 1 commit
207 - (merged to 'next' on 2021-01-12 at 28310380a5)
208 - + doc: remove "directory cache" from man pages
137 +* jc/sign-off (2021-01-07) 1 commit
138 + (merged to 'next' on 2021-01-12 at 0d9a2a9a41)
139 + + SubmittingPatches: tighten wording on "sign-off" procedure
140
141 Doc update.
142
212 - Will merge to 'master'.
143
144 +* jk/t5516-deflake (2021-01-09) 1 commit
145 + (merged to 'next' on 2021-01-12 at ed5317a798)
146 + + t5516: loosen "not our ref" error check
147
215 -* ab/mailmap (2021-01-12) 22 commits
216 - (merged to 'next' on 2021-01-13 at a3ce27912f)
217 - + shortlog: remove unused(?) "repo-abbrev" feature
218 - + mailmap doc + tests: document and test for case-insensitivity
219 - + mailmap tests: add tests for empty "<>" syntax
220 - + mailmap tests: add tests for whitespace syntax
221 - + mailmap tests: add a test for comment syntax
222 - + mailmap doc + tests: add better examples & test them
223 - + tests: refactor a few tests to use "test_commit --append"
224 - + test-lib functions: add an --append option to test_commit
225 - + test-lib functions: add --author support to test_commit
226 - + test-lib functions: document arguments to test_commit
227 - + test-lib functions: expand "test_commit" comment template
228 - + mailmap: test for silent exiting on missing file/blob
229 - + mailmap tests: get rid of overly complex blame fuzzing
230 - + mailmap tests: add a test for "not a blob" error
231 - + mailmap tests: remove redundant entry in test
232 - + mailmap tests: improve --stdin tests
233 - + mailmap tests: modernize syntax & test idioms
234 - + mailmap tests: use our preferred whitespace syntax
235 - + mailmap doc: start by mentioning the comment syntax
236 - + check-mailmap doc: note config options
237 - + mailmap doc: quote config variables `like.this`
238 - + mailmap doc: create a new "gitmailmap(5)" man page
239 - (this branch is used by ab/mailmap-fixup.)
148 + Test fix.
149
241 - Clean-up docs, codepaths and tests around mailmap.
150
243 - Will merge to 'master'.
151 +* mt/t4129-with-setgid-dir (2021-01-06) 1 commit
152 + (merged to 'next' on 2021-01-12 at 7a54dd92d8)
153 + + t4129: don't fail if setgid is set in the test directory
154
155 + Some tests expect that "ls -l" output has either '-' or 'x' for
156 + group executable bit, but setgid bit can be inherited from parent
157 + directory and make these fields 'S' or 's' instead, causing test
158 + failures.
159
246 -* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
247 - (merged to 'next' on 2021-01-13 at abcfbf8603)
248 - + patch-ids: handle duplicate hashmap entries
160
250 - When more than one commit with the same patch ID appears on one
251 - side, "git log --cherry-pick A...B" did not exclude them all when a
252 - commit with the same patch ID appears on the other side. Now it
253 - does.
161 +* pb/mergetool-tool-help-fix (2021-01-06) 1 commit
162 + (merged to 'next' on 2021-01-12 at ba0f76b413)
163 + + mergetool--lib: fix '--tool-help' to correctly show available tools
164 +
165 + Fix 2.29 regression where "git mergetool --tool-help" fails to list
166 + all the available tools.
167
168
169 * tb/local-clone-race-doc (2021-01-11) 1 commit
@@ -259,525 +172,416 @@ Release tarballs are available at:
172
173 Doc update.
174
262 - Will merge to 'master'.
263 -
264 -
265 -* tb/pack-revindex-api (2021-01-14) 21 commits
266 - - for_each_object_in_pack(): clarify pack vs index ordering
267 - - pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
268 - - pack-revindex: hide the definition of 'revindex_entry'
269 - - pack-revindex: remove unused 'find_revindex_position()'
270 - - pack-revindex: remove unused 'find_pack_revindex()'
271 - - builtin/gc.c: guess the size of the revindex
272 - - for_each_object_in_pack(): convert to new revindex API
273 - - unpack_entry(): convert to new revindex API
274 - - packed_object_info(): convert to new revindex API
275 - - retry_bad_packed_offset(): convert to new revindex API
276 - - get_delta_base_oid(): convert to new revindex API
277 - - rebuild_existing_bitmaps(): convert to new revindex API
278 - - try_partial_reuse(): convert to new revindex API
279 - - get_size_by_pos(): convert to new revindex API
280 - - show_objects_for_type(): convert to new revindex API
281 - - bitmap_position_packfile(): convert to new revindex API
282 - - check_object(): convert to new revindex API
283 - - write_reused_pack_verbatim(): convert to new revindex API
284 - - write_reused_pack_one(): convert to new revindex API
285 - - write_reuse_object(): convert to new revindex API
286 - - pack-revindex: introduce a new API
287 - (this branch is used by tb/pack-revindex-on-disk.)
288 -
289 - Abstract accesses to in-core revindex that allows enumerating
290 - objects stored in a packfile in the order they appear in the pack,
291 - in preparation for introducing an on-disk precomputed revindex.
292 -
293 - Will merge to 'next'.
294 -
295 -
296 -* cc/write-promisor-file (2021-01-14) 3 commits
297 - (merged to 'next' on 2021-01-14 at 9d773d4734)
298 - + pack-write: die on error in write_promisor_file()
299 - + fetch-pack: refactor writing promisor file
300 - + fetch-pack: rename helper to create_promisor_file()
301 -
302 - A bit of code refactoring.
303 -
304 - Will merge to 'master'.
305 -
306 -
307 -* js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
308 - - rebase -i: do leave commit message intact in fixup! chains
309 -
310 - When "git rebase -i" processes "fixup" insn, there is no reason to
311 - clean up the commit log message, but we did the usual stripspace
312 - processing. This has been corrected.
313 -
314 - A bit more tests to document what is still broken have been offered.
315 - cf. <20210112204939.1095-1-martin.agren@gmail.com>
316 -
317 -
318 -* ab/mailmap-fixup (2021-01-14) 4 commits
319 - - t4203: make blame output massaging more robust
320 - - mailmap doc: use correct environment variable 'GIT_WORK_TREE'
321 - - t4203: stop losing return codes of git commands
322 - - test-lib-functions.sh: fix usage for test_commit()
323 - (this branch uses ab/mailmap.)
324 -
325 - Follow-up fixes and improvements to ab/mailmap topic.
326 -
327 - Will merge to 'next'.
328 -
329 -
330 -* jc/macos-install-dependencies-fix (2021-01-14) 1 commit
331 - (merged to 'next' on 2021-01-14 at 5a11de010b)
332 - + ci/install-depends: attempt to fix "brew cask" stuff
333 -
334 - Fix for procedure to building CI test environment for mac.
335 -
336 - Will merge to 'master'.
175
176 +* ug/doc-lose-dircache (2021-01-09) 1 commit
177 + (merged to 'next' on 2021-01-12 at 28310380a5)
178 + + doc: remove "directory cache" from man pages
179
339 -* tb/pack-revindex-on-disk (2021-01-14) 8 commits
340 - - pack-revindex: ensure that on-disk reverse indexes are given precedence
341 - - t: support GIT_TEST_WRITE_REV_INDEX
342 - - t: prepare for GIT_TEST_WRITE_REV_INDEX
343 - - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
344 - - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
345 - - builtin/index-pack.c: write reverse indexes
346 - - pack-write.c: prepare to write 'pack-*.rev' files
347 - - packfile: prepare for the existence of '*.rev' files
348 - (this branch uses tb/pack-revindex-api.)
180 + Doc update.
181
350 - Introduce an on-disk file to record revindex for packdata, which
351 - traditionally was always created on the fly and only in-core.
182
183 +* vv/send-email-with-less-secure-apps-access (2021-01-07) 1 commit
184 + (merged to 'next' on 2021-01-12 at 53243ca7e7)
185 + + git-send-email.txt: mention less secure app access with Gmail
186
354 -* en/merge-ort-perf (2021-01-15) 4 commits
355 - - merge-ort: begin performance work; instrument with trace2_region_* calls
356 - - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
357 - - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
358 - - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
359 - (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
187 + Doc update.
188
189 --------------------------------------------------
362 -[Graduated to 'master']
363 -
364 -* ab/trailers-extra-format (2020-12-09) 5 commits
365 - (merged to 'next' on 2020-12-14 at 9fc731944e)
366 - + pretty format %(trailers): add a "key_value_separator"
367 - + pretty format %(trailers): add a "keyonly"
368 - + pretty-format %(trailers): fix broken standalone "valueonly"
369 - + pretty format %(trailers) doc: avoid repetition
370 - + pretty format %(trailers) test: split a long line
371 -
372 - The "--format=%(trailers)" mechanism gets enhanced to make it
373 - easier to design output for machine consumption.
374 -
375 -
376 -* ar/t6016-modernise (2021-01-04) 1 commit
377 - (merged to 'next' on 2021-01-08 at 45f1b43e88)
378 - + t6016: move to lib-log-graph.sh framework
379 -
380 - Test update.
381 -
382 -
383 -* bc/rev-parse-path-format (2020-12-12) 2 commits
384 - (merged to 'next' on 2021-01-08 at 7d51587b7f)
385 - + rev-parse: add option for absolute or relative path formatting
386 - + abspath: add a function to resolve paths with missing components
387 -
388 - "git rev-parse" can be explicitly told to give output as absolute
389 - or relative path with the `--path-format=(absolute|relative)` option.
390 -
391 -
392 -* ds/trace2-topo-walk (2021-01-04) 1 commit
393 - (merged to 'next' on 2021-01-08 at 794c8f37ee)
394 - + revision: trace topo-walk statistics
395 -
396 - The topological walk codepath is covered by new trace2 stats.
397 -
398 -
399 -* en/merge-ort-2 (2020-12-13) 7 commits
400 - (merged to 'next' on 2020-12-21 at ef5b184349)
401 - + merge-ort: add modify/delete handling and delayed output processing
402 - + merge-ort: add die-not-implemented stub handle_content_merge() function
403 - + merge-ort: add function grouping comments
404 - + merge-ort: add a paths_to_free field to merge_options_internal
405 - + merge-ort: add a path_conflict field to merge_options_internal
406 - + merge-ort: add a clear_internal_opts helper
407 - + merge-ort: add a few includes
408 - (this branch is used by en/merge-ort-3, en/merge-ort-recursive and en/ort-conflict-handling; uses en/merge-ort-impl.)
409 -
410 - More "ORT" merge strategy.
411 -
412 -
413 -* en/merge-ort-impl (2020-12-13) 21 commits
414 - (merged to 'next' on 2020-12-21 at c551d7bda9)
415 - + merge-ort: free data structures in merge_finalize()
416 - + merge-ort: add implementation of record_conflicted_index_entries()
417 - + tree: enable cmp_cache_name_compare() to be used elsewhere
418 - + merge-ort: add implementation of checkout()
419 - + merge-ort: basic outline for merge_switch_to_result()
420 - + merge-ort: step 3 of tree writing -- handling subdirectories as we go
421 - + merge-ort: step 2 of tree writing -- function to create tree object
422 - + merge-ort: step 1 of tree writing -- record basenames, modes, and oids
423 - + merge-ort: have process_entries operate in a defined order
424 - + merge-ort: add a preliminary simple process_entries() implementation
425 - + merge-ort: avoid recursing into identical trees
426 - + merge-ort: record stage and auxiliary info for every path
427 - + merge-ort: compute a few more useful fields for collect_merge_info
428 - + merge-ort: avoid repeating fill_tree_descriptor() on the same tree
429 - + merge-ort: implement a very basic collect_merge_info()
430 - + merge-ort: add an err() function similar to one from merge-recursive
431 - + merge-ort: use histogram diff
432 - + merge-ort: port merge_start() from merge-recursive
433 - + merge-ort: add some high-level algorithm structure
434 - + merge-ort: setup basic internal data structures
435 - + Merge branch 'en/strmap' into en/merge-ort-impl
436 - (this branch is used by en/merge-ort-2, en/merge-ort-3, en/merge-ort-recursive and en/ort-conflict-handling.)
437 -
438 - The merge backend "done right" starts to emerge.
439 -
440 -
441 -* en/merge-ort-recursive (2020-12-16) 4 commits
442 - (merged to 'next' on 2020-12-22 at 0dbf60011f)
443 - + merge-ort: implement merge_incore_recursive()
444 - + merge-ort: make clear_internal_opts() aware of partial clearing
445 - + merge-ort: copy a few small helper functions from merge-recursive.c
446 - + commit: move reverse_commit_list() from merge-recursive
447 - (this branch uses en/merge-ort-2 and en/merge-ort-impl; is tangled with en/merge-ort-3 and en/ort-conflict-handling.)
448 -
449 - The ORT merge strategy learned to synthesize virtual ancestor tree
450 - by recursively merging multiple merge bases together, just like the
451 - recursive backend has done for years.
452 -
453 -
454 -* en/stash-apply-sparse-checkout (2020-12-01) 3 commits
455 - (merged to 'next' on 2021-01-08 at cae5b73d99)
456 - + stash: fix stash application in sparse-checkouts
457 - + stash: remove unnecessary process forking
458 - + t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
190 +[Stalled]
191
460 - "git stash" did not work well in a sparsely checked out working
461 - tree.
192 +* ss/submodule-add-in-c (2020-12-15) 3 commits
193 + . t7400: add test to check 'submodule add' for tracked paths
194 + . submodule: port submodule subcommand 'add' from shell to C
195 + . dir: change the scope of function 'directory_exists_in_index()'
196
197 + "git submodule add" being rewritten in C.
198
464 -* es/perf-export-fix (2020-12-22) 1 commit
465 - (merged to 'next' on 2020-12-22 at d06b0379d9)
466 - + t/perf: avoid unnecessary test_export() recursion
199 + Expecting a reroll.
200 + The patches are split incorrectly; part of 1/3 belongs to 2/3
201 + cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
202 + It seems to introduce a segfault on 'seen'.
203 + cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>
204
468 - Tweak unneeded recursion from a test framework helper function.
205
206 +* mt/grep-sparse-checkout (2020-12-06) 10 commits
207 + - t7817: do not depend on any specific default branch name
208 + - config: add setting to ignore sparsity patterns in some cmds
209 + - grep: honor sparse checkout patterns
210 + - config: correctly read worktree configs in submodules
211 + - config: make do_git_config_sequence receive a 'struct repository'
212 + - t/helper/test-config: unify exit labels
213 + - t/helper/test-config: diagnose missing arguments
214 + - t/helper/test-config: be consistent with exit codes
215 + - t1308-config-set: avoid false positives when using test-config
216 + - doc: grep: unify info on configuration variables
217 + (this branch is used by mt/rm-sparse-checkout.)
218
471 -* es/worktree-repair-both-moved (2020-12-21) 1 commit
472 - (merged to 'next' on 2020-12-22 at 9eaae4f5c0)
473 - + worktree: teach `repair` to fix multi-directional breakage
219 + "git grep" has been tweaked to be limited to the sparse checkout
220 + paths.
221
475 - "git worktree repair" learned to deal with the case where both the
476 - repository and the worktree moved.
222 + Break out and fast-track bugfix from the remainder of the topic.
223 + cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
224
225
479 -* ew/decline-core-abbrev (2020-12-23) 1 commit
480 - (merged to 'next' on 2021-01-08 at 630dd186a4)
481 - + core.abbrev=no disables abbreviations
226 +* mt/rm-sparse-checkout (2020-12-08) 1 commit
227 + - rm: honor sparse checkout patterns
228 + (this branch uses mt/grep-sparse-checkout.)
229
483 - The configuration variable 'core.abbrev' can be set to 'no' to
484 - force no abbreviation regardless of the hash algorithm.
230 + "git rm" follows suit to "git grep" to ignore paths outside the
231 + sparsity pattern when the sparse checkout feature is in use.
232
233 + Need to wait for how these fit in larger picture.
234 + cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
235 + cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
236
487 -* fc/completion-aliases-support (2021-01-04) 4 commits
488 - (merged to 'next' on 2021-01-08 at b2714ff1a4)
489 - + completion: add proper public __git_complete
490 - + test: completion: add tests for __git_complete
491 - + completion: bash: improve function detection
492 - + completion: bash: add __git_have_func helper
237
494 - Bash completion (in contrib/) update to make it easier for
495 - end-users to add completion for their custom "git" subcommands.
238 +* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
239 + - docs: document symlink restrictions for .git* files
240 + - fsck: complain when .gitattributes or .gitignore is a symlink
241 + - verify_path(): disallow symlinks in .gitattributes and .gitignore
242 + - t0060: test obscured .gitattributes and .gitignore matching
243 + - t7450: test .gitmodules symlink matching against obscured names
244 + - t7450: test verify_path() handling of gitmodules
245 + - t7415: rename to expand scope
246 + - fsck_tree(): wrap some long lines
247 + - fsck_tree(): fix shadowed variable
248
249 + "git fsck" and the corresponding check done during the transport
250 + learned to ensure that in-tree files like `.gitignore` and
251 + `.gitattributes` are not symbolic links.
252
498 -* fc/pull-merge-rebase (2020-12-15) 5 commits
499 - (merged to 'next' on 2020-12-21 at acce13e5c4)
500 - + pull: display default warning only when non-ff
501 - + pull: correct condition to trigger non-ff advice
502 - + pull: get rid of unnecessary global variable
503 - + pull: give the advice for choosing rebase/merge much later
504 - + pull: refactor fast-forward check
253 + It seems that there are real projects with .gitignore recorded as
254 + symlinks, which may need to loosen the fsck setting. Do we need to
255 + introduce a class that is separate from symlinked .gitmodules that
256 + has potential consequences that is more/less grave, so that these
257 + projects can opt out of the new checks?
258
506 - When a user does not tell "git pull" to use rebase or merge, the
507 - command gives a loud message telling a user to choose between
508 - rebase or merge but creates a merge anyway, forcing users who would
509 - want to rebase to redo the operation. Fix an early part of this
510 - problem by tightening the condition to give the message---there is
511 - no reason to stop or force the user to choose between rebase or
512 - merge if the history fast-forwards.
259
260 +* sm/curl-retry (2020-10-13) 3 commits
261 + - http: automatically retry some requests
262 + - replace CURLOPT_FILE With CURLOPT_WRITEDATA
263 + - remote-curl: add testing for intelligent retry for HTTP
264
515 -* fc/t6030-bisect-reset-removes-auxiliary-files (2020-12-21) 1 commit
516 - (merged to 'next' on 2020-12-22 at 2ab78ef1e1)
517 - + test: bisect-porcelain: fix location of files
265 + The http transport has been taught to retry a failed request that
266 + may reasonably be retried.
267
519 - A 3-year old test that was not testing anything useful has been
520 - corrected.
268 + Expecting a reroll.
269 + cf. <20201015000410.GB328643@google.com>
270 + cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
271
272
523 -* ma/doc-pack-format-varint-for-sizes (2021-01-04) 1 commit
524 - (merged to 'next' on 2021-01-08 at 8a448c50dd)
525 - + pack-format.txt: document sizes at start of delta data
273 +* sv/t7001-modernize (2020-09-25) 11 commits
274 + - t7001: move cleanup code from outside the tests into them
275 + - t7001: use `test` rather than `[`
276 + - t7001: use here-docs instead of echo
277 + - t7001: put each command on a separate line
278 + - t7001: use ': >' rather than 'touch'
279 + - t7001: change (cd <path> && git foo) to (git -C <path> foo)
280 + - t7001: remove whitespace after redirect operators
281 + - t7001: change the style for cd according to subshell
282 + - t7001: remove unnecessary blank lines
283 + - t7001: use TAB instead of spaces
284 + - t7001: convert tests from the old style to the current style
285
527 - Doc update.
286 + Test script modernization.
287
288 + Expecting a reroll.
289 + cf. <20200925170256.11490-1-shubhunic@gmail.com>
290
530 -* ma/sha1-is-a-hash (2021-01-04) 4 commits
531 - (merged to 'next' on 2021-01-08 at a25537f7c3)
532 - + hash-lookup: rename from sha1-lookup
533 - + sha1-lookup: rename `sha1_pos()` as `hash_pos()`
534 - + object-file.c: rename from sha1-file.c
535 - + object-name.c: rename from sha1-name.c
291
537 - Retire more names with "sha1" in it.
292 +* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
293 + - config: option transfer.ipversion to set transport protocol version for network fetches
294
295 + Adds transfer.ipversion configuration variable.
296
540 -* ma/t1300-cleanup (2021-01-04) 3 commits
541 - (merged to 'next' on 2021-01-08 at 51aaae39a1)
542 - + t1300: don't needlessly work with `core.foo` configs
543 - + t1300: remove duplicate test for `--file no-such-file`
544 - + t1300: remove duplicate test for `--file ../foo`
297 + Needs more work.
298
546 - Code clean-up.
299
300 +* jc/war-on-dashed-git (2020-12-21) 2 commits
301 + - fixup??? git: catch an attempt to run "git-foo"
302 + - git: catch an attempt to run "git-foo"
303
549 -* nk/perf-fsmonitor-cleanup (2021-01-06) 1 commit
550 - (merged to 'next' on 2021-01-08 at 1837d6c30b)
551 - + p7519: allow running without watchman prereq
304 + The first step to remove on-disk binaries for built-in subcommands
305 + by soliciting objections.
306
553 - Test fix.
307 + On hold for now.
308
309
556 -* pb/doc-modules-git-work-tree-typofix (2021-01-04) 1 commit
557 - (merged to 'next' on 2021-01-08 at a67ab3e96a)
558 - + gitmodules.txt: fix 'GIT_WORK_TREE' variable name
310 +* mk/use-size-t-in-zlib (2018-10-15) 1 commit
311 + - zlib.c: use size_t for size
312
560 - Doc fix.
313 + The wrapper to call into zlib followed our long tradition to use
314 + "unsigned long" for sizes of regions in memory, which have been
315 + updated to use "size_t".
316
317
563 -* pk/subsub-fetch-fix-take-2 (2020-12-09) 1 commit
564 - (merged to 'next' on 2020-12-14 at ccc01a5f66)
565 - + submodules: fix of regression on fetching of non-init subsub-repo
318 +* ag/merge-strategies-in-c (2020-11-24) 13 commits
319 + - sequencer: use the "octopus" merge strategy without forking
320 + - sequencer: use the "resolve" strategy without forking
321 + - merge: use the "octopus" strategy without forking
322 + - merge: use the "resolve" strategy without forking
323 + - merge-octopus: rewrite in C
324 + - merge-recursive: move better_branch_name() to merge.c
325 + - merge-resolve: rewrite in C
326 + - merge-index: don't fork if the requested program is `git-merge-one-file'
327 + - merge-index: libify merge_one_path() and merge_all()
328 + - merge-one-file: rewrite in C
329 + - update-index: move add_cacheinfo() to read-cache.c
330 + - t6060: modify multiple files to expose a possible issue with merge-index
331 + - t6407: modernise tests
332 + (this branch is used by ds/update-index.)
333
567 - "git fetch --recurse-submodules" fix (second attempt).
334 + The resolve and octopus merge strategy backends have been rewritten
335 + in C.
336
337 + Got enough review comments to get updated.
338
570 -* rs/rebase-commit-validation (2021-01-04) 1 commit
571 - (merged to 'next' on 2021-01-08 at 2c63eb1cc8)
572 - + rebase: verify commit parameter
339 +--------------------------------------------------
340 +[Cooking]
341
574 - Diagnose command line error of "git rebase" early.
342 +* en/ort-directory-rename (2021-01-07) 18 commits
343 + - merge-ort: fix a directory rename detection bug
344 + - merge-ort: process_renames() now needs more defensiveness
345 + - merge-ort: implement apply_directory_rename_modifications()
346 + - merge-ort: add a new toplevel_dir field
347 + - merge-ort: implement handle_path_level_conflicts()
348 + - merge-ort: implement check_for_directory_rename()
349 + - merge-ort: implement apply_dir_rename() and check_dir_renamed()
350 + - merge-ort: implement compute_collisions()
351 + - merge-ort: modify collect_renames() for directory rename handling
352 + - merge-ort: implement handle_directory_level_conflicts()
353 + - merge-ort: implement compute_rename_counts()
354 + - merge-ort: copy get_renamed_dir_portion() from merge-recursive.c
355 + - merge-ort: add outline of get_provisional_directory_renames()
356 + - merge-ort: add outline for computing directory renames
357 + - merge-ort: collect which directories are removed in dirs_removed
358 + - merge-ort: initialize and free new directory rename data structures
359 + - merge-ort: add new data structures for directory rename detection
360 + - Merge branch 'en/merge-ort-3' into en/ort-directory-rename
361 + (this branch is used by en/merge-ort-perf; uses en/merge-ort-3.)
362
363 + ORT merge strategy learns to infer "renamed directory" while
364 + merging.
365
577 -* ta/doc-typofix (2021-01-04) 1 commit
578 - (merged to 'next' on 2021-01-08 at 1e579ef94f)
579 - + doc: fix some typos
366
581 - Doc fix.
367 +* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
368 + (merged to 'next' on 2021-01-12 at 88a1d937ae)
369 + + fsck: reject .gitmodules git:// urls with newlines
370 + + git_connect_git(): forbid newlines in host and path
371
372 + Newline characters in the host and path part of git:// URL are
373 + now forbidden.
374
584 -* tb/pack-bitmap (2020-12-08) 24 commits
585 - (merged to 'next' on 2020-12-15 at 773268c2fb)
586 - + pack-bitmap-write: better reuse bitmaps
587 - + pack-bitmap-write: relax unique revwalk condition
588 - + pack-bitmap-write: use existing bitmaps
589 - + pack-bitmap: factor out 'add_commit_to_bitmap()'
590 - + pack-bitmap: factor out 'bitmap_for_commit()'
591 - + pack-bitmap-write: ignore BITMAP_FLAG_REUSE
592 - + pack-bitmap-write: build fewer intermediate bitmaps
593 - + pack-bitmap.c: check reads more aggressively when loading
594 - + pack-bitmap-write: rename children to reverse_edges
595 - + t5310: add branch-based checks
596 - + commit: implement commit_list_contains()
597 - + bitmap: implement bitmap_is_subset()
598 - + pack-bitmap-write: fill bitmap with commit history
599 - + pack-bitmap-write: pass ownership of intermediate bitmaps
600 - + pack-bitmap-write: reimplement bitmap writing
601 - + ewah: add bitmap_dup() function
602 - + ewah: implement bitmap_or()
603 - + ewah: make bitmap growth less aggressive
604 - + ewah: factor out bitmap growth
605 - + rev-list: die when --test-bitmap detects a mismatch
606 - + t5310: drop size of truncated ewah bitmap
607 - + pack-bitmap: bounds-check size of cache extension
608 - + pack-bitmap: fix header size check
609 - + ewah/ewah_bitmap.c: avoid open-coding ALLOC_GROW()
375 + Will merge to 'master'.
376
611 - Various improvements to the codepath that writes out pack bitmaps.
377
378 +* ps/fetch-atomic (2021-01-12) 5 commits
379 + (merged to 'next' on 2021-01-13 at a8896d0873)
380 + + fetch: implement support for atomic reference updates
381 + + fetch: allow passing a transaction to `s_update_ref()`
382 + + fetch: refactor `s_update_ref` to use common exit path
383 + + fetch: use strbuf to format FETCH_HEAD updates
384 + + fetch: extract writing to FETCH_HEAD
385
614 -* zh/arg-help-format (2021-01-06) 2 commits
615 - (merged to 'next' on 2021-01-08 at 208c98620c)
616 - + builtin/*: update usage format
617 - + parse-options: format argh like error messages
386 + "git fetch" learns to treat ref updates atomically in all-or-none
387 + fashion, just like "git push" does, with the new "--atomic" option.
388
619 - Clean up option descriptions in "git cmd --help".
389 + Will merge to 'master'.
390
621 ---------------------------------------------------
622 -[Stalled]
391
624 -* ss/submodule-add-in-c (2020-12-15) 3 commits
625 - . t7400: add test to check 'submodule add' for tracked paths
626 - . submodule: port submodule subcommand 'add' from shell to C
627 - . dir: change the scope of function 'directory_exists_in_index()'
392 +* ab/detox-gettext-tests (2021-01-11) 6 commits
393 + - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
394 + - tests: (almost) remove C_LOCALE_OUTPUT prerequisites
395 + - tests: (almost) remove use of "test_i18ngrep !"
396 + - tests: remove misc use of test_i18n{cmp,grep}
397 + - tests: remove support for GIT_TEST_GETTEXT_POISON
398 + - ci: remove GETTEXT_POISON jobs
399
629 - "git submodule add" being rewritten in C.
400 + Get rid of "GETTEXT_POISON" support altogether, which may or may
401 + not be controversial.
402
631 - Expecting a reroll.
632 - The patches are split incorrectly; part of 1/3 belongs to 2/3
633 - cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
634 - It seems to introduce a segfault on 'seen'.
635 - cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>
403
404 +* bc/signed-objects-with-both-hashes (2021-01-11) 6 commits
405 + - SQUASH??? ulong vs size_t
406 + - gpg-interface: remove other signature headers before verifying
407 + - ref-filter: hoist signature parsing
408 + - commit: allow parsing arbitrary buffers with headers
409 + - gpg-interface: improve interface for parsing tags
410 + - commit: ignore additional signatures when parsing signed commits
411
638 -* mt/grep-sparse-checkout (2020-12-06) 10 commits
639 - - t7817: do not depend on any specific default branch name
640 - - config: add setting to ignore sparsity patterns in some cmds
641 - - grep: honor sparse checkout patterns
642 - - config: correctly read worktree configs in submodules
643 - - config: make do_git_config_sequence receive a 'struct repository'
644 - - t/helper/test-config: unify exit labels
645 - - t/helper/test-config: diagnose missing arguments
646 - - t/helper/test-config: be consistent with exit codes
647 - - t1308-config-set: avoid false positives when using test-config
648 - - doc: grep: unify info on configuration variables
649 - (this branch is used by mt/rm-sparse-checkout.)
412 + Signed commits and tags now allow verification of objects, whose
413 + two object names (one in SHA-1, the other in SHA-256) are both
414 + signed.
415
651 - "git grep" has been tweaked to be limited to the sparse checkout
652 - paths.
416
654 - Break out and fast-track bugfix from the remainder of the topic.
655 - cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
417 +* ds/update-index (2021-01-09) 14 commits
418 + - update-index: remove static globals from callbacks
419 + - update-index: reduce static globals, part 2
420 + - update-index: reduce static globals, part 1
421 + - update-index: remove ce_match_stat(), all macros
422 + - update-index: replace several compatibility macros
423 + - update-index: use add_index_entry()
424 + - update-index: use remove_file_from_index()
425 + - update-index: use index_name_pos() over cache_name_pos()
426 + - update-index: use istate->cache_changed
427 + - update-index: use istate->cache_nr over active_nr
428 + - update-index: use istate->cache over active_cache
429 + - update-index: drop the_index, the_repository
430 + - rm: remove compatilibity macros
431 + - mv: remove index compatibility macros
432 + (this branch uses ag/merge-strategies-in-c.)
433
434 + The implementation of a few commands lost reliance of "the_index"
435 + compatibility macros by explicitly passing the index_state through
436 + the callchain.
437
658 -* mt/rm-sparse-checkout (2020-12-08) 1 commit
659 - - rm: honor sparse checkout patterns
660 - (this branch uses mt/grep-sparse-checkout.)
438 + Unfortunately the base topic still needs to solidify.
439
662 - "git rm" follows suit to "git grep" to ignore paths outside the
663 - sparsity pattern when the sparse checkout feature is in use.
440
665 - Need to wait for how these fit in larger picture.
666 - cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
667 - cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
441 +* jx/bundle (2021-01-11) 3 commits
442 + (merged to 'next' on 2021-01-14 at 749a907dd2)
443 + + bundle: arguments can be read from stdin
444 + + bundle: lost objects when removing duplicate pendings
445 + + test: add helper functions for git-bundle
446
447 + "git bundle" learns "--stdin" option to read its refs from the
448 + standard input. Also, it now does not lose refs whey they point
449 + at the same object.
450
670 -* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
671 - - docs: document symlink restrictions for .git* files
672 - - fsck: complain when .gitattributes or .gitignore is a symlink
673 - - verify_path(): disallow symlinks in .gitattributes and .gitignore
674 - - t0060: test obscured .gitattributes and .gitignore matching
675 - - t7450: test .gitmodules symlink matching against obscured names
676 - - t7450: test verify_path() handling of gitmodules
677 - - t7415: rename to expand scope
678 - - fsck_tree(): wrap some long lines
679 - - fsck_tree(): fix shadowed variable
451 + Will merge to 'master'.
452
681 - "git fsck" and the corresponding check done during the transport
682 - learned to ensure that in-tree files like `.gitignore` and
683 - `.gitattributes` are not symbolic links.
453
685 - It seems that there are real projects with .gitignore recorded as
686 - symlinks, which may need to loosen the fsck setting. Do we need to
687 - introduce a class that is separate from symlinked .gitmodules that
688 - has potential consequences that is more/less grave, so that these
689 - projects can opt out of the new checks?
454 +* ab/mailmap (2021-01-12) 22 commits
455 + (merged to 'next' on 2021-01-13 at a3ce27912f)
456 + + shortlog: remove unused(?) "repo-abbrev" feature
457 + + mailmap doc + tests: document and test for case-insensitivity
458 + + mailmap tests: add tests for empty "<>" syntax
459 + + mailmap tests: add tests for whitespace syntax
460 + + mailmap tests: add a test for comment syntax
461 + + mailmap doc + tests: add better examples & test them
462 + + tests: refactor a few tests to use "test_commit --append"
463 + + test-lib functions: add an --append option to test_commit
464 + + test-lib functions: add --author support to test_commit
465 + + test-lib functions: document arguments to test_commit
466 + + test-lib functions: expand "test_commit" comment template
467 + + mailmap: test for silent exiting on missing file/blob
468 + + mailmap tests: get rid of overly complex blame fuzzing
469 + + mailmap tests: add a test for "not a blob" error
470 + + mailmap tests: remove redundant entry in test
471 + + mailmap tests: improve --stdin tests
472 + + mailmap tests: modernize syntax & test idioms
473 + + mailmap tests: use our preferred whitespace syntax
474 + + mailmap doc: start by mentioning the comment syntax
475 + + check-mailmap doc: note config options
476 + + mailmap doc: quote config variables `like.this`
477 + + mailmap doc: create a new "gitmailmap(5)" man page
478 + (this branch is used by ab/mailmap-fixup.)
479
480 + Clean-up docs, codepaths and tests around mailmap.
481
692 -* sm/curl-retry (2020-10-13) 3 commits
693 - - http: automatically retry some requests
694 - - replace CURLOPT_FILE With CURLOPT_WRITEDATA
695 - - remote-curl: add testing for intelligent retry for HTTP
482 + Will merge to 'master'.
483
697 - The http transport has been taught to retry a failed request that
698 - may reasonably be retried.
484
700 - Expecting a reroll.
701 - cf. <20201015000410.GB328643@google.com>
702 - cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
485 +* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
486 + (merged to 'next' on 2021-01-13 at abcfbf8603)
487 + + patch-ids: handle duplicate hashmap entries
488
489 + When more than one commit with the same patch ID appears on one
490 + side, "git log --cherry-pick A...B" did not exclude them all when a
491 + commit with the same patch ID appears on the other side. Now it
492 + does.
493
705 -* sv/t7001-modernize (2020-09-25) 11 commits
706 - - t7001: move cleanup code from outside the tests into them
707 - - t7001: use `test` rather than `[`
708 - - t7001: use here-docs instead of echo
709 - - t7001: put each command on a separate line
710 - - t7001: use ': >' rather than 'touch'
711 - - t7001: change (cd <path> && git foo) to (git -C <path> foo)
712 - - t7001: remove whitespace after redirect operators
713 - - t7001: change the style for cd according to subshell
714 - - t7001: remove unnecessary blank lines
715 - - t7001: use TAB instead of spaces
716 - - t7001: convert tests from the old style to the current style
494 + Will merge to 'master'.
495
718 - Test script modernization.
496
720 - Expecting a reroll.
721 - cf. <20200925170256.11490-1-shubhunic@gmail.com>
497 +* tb/pack-revindex-api (2021-01-14) 21 commits
498 + (merged to 'next' on 2021-01-15 at 1f2997979c)
499 + + for_each_object_in_pack(): clarify pack vs index ordering
500 + + pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
501 + + pack-revindex: hide the definition of 'revindex_entry'
502 + + pack-revindex: remove unused 'find_revindex_position()'
503 + + pack-revindex: remove unused 'find_pack_revindex()'
504 + + builtin/gc.c: guess the size of the revindex
505 + + for_each_object_in_pack(): convert to new revindex API
506 + + unpack_entry(): convert to new revindex API
507 + + packed_object_info(): convert to new revindex API
508 + + retry_bad_packed_offset(): convert to new revindex API
509 + + get_delta_base_oid(): convert to new revindex API
510 + + rebuild_existing_bitmaps(): convert to new revindex API
511 + + try_partial_reuse(): convert to new revindex API
512 + + get_size_by_pos(): convert to new revindex API
513 + + show_objects_for_type(): convert to new revindex API
514 + + bitmap_position_packfile(): convert to new revindex API
515 + + check_object(): convert to new revindex API
516 + + write_reused_pack_verbatim(): convert to new revindex API
517 + + write_reused_pack_one(): convert to new revindex API
518 + + write_reuse_object(): convert to new revindex API
519 + + pack-revindex: introduce a new API
520 + (this branch is used by tb/pack-revindex-on-disk.)
521
522 + Abstract accesses to in-core revindex that allows enumerating
523 + objects stored in a packfile in the order they appear in the pack,
524 + in preparation for introducing an on-disk precomputed revindex.
525
724 -* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
725 - - config: option transfer.ipversion to set transport protocol version for network fetches
526 + Will merge to 'master'.
527
727 - Adds transfer.ipversion configuration variable.
528
729 - Needs more work.
529 +* cc/write-promisor-file (2021-01-14) 3 commits
530 + (merged to 'next' on 2021-01-14 at 9d773d4734)
531 + + pack-write: die on error in write_promisor_file()
532 + + fetch-pack: refactor writing promisor file
533 + + fetch-pack: rename helper to create_promisor_file()
534
535 + A bit of code refactoring.
536
732 -* jc/war-on-dashed-git (2020-12-21) 2 commits
733 - - fixup??? git: catch an attempt to run "git-foo"
734 - - git: catch an attempt to run "git-foo"
537 + Will merge to 'master'.
538
736 - The first step to remove on-disk binaries for built-in subcommands
737 - by soliciting objections.
539
739 - On hold for now.
540 +* js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
541 + - rebase -i: do leave commit message intact in fixup! chains
542
543 + When "git rebase -i" processes "fixup" insn, there is no reason to
544 + clean up the commit log message, but we did the usual stripspace
545 + processing. This has been corrected.
546
742 -* mk/use-size-t-in-zlib (2018-10-15) 1 commit
743 - - zlib.c: use size_t for size
547 + A bit more tests to document what is still broken have been offered.
548 + cf. <20210112204939.1095-1-martin.agren@gmail.com>
549
745 - The wrapper to call into zlib followed our long tradition to use
746 - "unsigned long" for sizes of regions in memory, which have been
747 - updated to use "size_t".
550
551 +* ab/mailmap-fixup (2021-01-14) 4 commits
552 + (merged to 'next' on 2021-01-15 at ef14e2263d)
553 + + t4203: make blame output massaging more robust
554 + + mailmap doc: use correct environment variable 'GIT_WORK_TREE'
555 + + t4203: stop losing return codes of git commands
556 + + test-lib-functions.sh: fix usage for test_commit()
557 + (this branch uses ab/mailmap.)
558
750 -* ag/merge-strategies-in-c (2020-11-24) 13 commits
751 - - sequencer: use the "octopus" merge strategy without forking
752 - - sequencer: use the "resolve" strategy without forking
753 - - merge: use the "octopus" strategy without forking
754 - - merge: use the "resolve" strategy without forking
755 - - merge-octopus: rewrite in C
756 - - merge-recursive: move better_branch_name() to merge.c
757 - - merge-resolve: rewrite in C
758 - - merge-index: don't fork if the requested program is `git-merge-one-file'
759 - - merge-index: libify merge_one_path() and merge_all()
760 - - merge-one-file: rewrite in C
761 - - update-index: move add_cacheinfo() to read-cache.c
762 - - t6060: modify multiple files to expose a possible issue with merge-index
763 - - t6407: modernise tests
764 - (this branch is used by ds/update-index.)
559 + Follow-up fixes and improvements to ab/mailmap topic.
560
766 - The resolve and octopus merge strategy backends have been rewritten
767 - in C.
561 + Will merge to 'master'.
562
769 - Got enough review comments to get updated.
563
771 ---------------------------------------------------
772 -[Cooking]
564 +* tb/pack-revindex-on-disk (2021-01-14) 8 commits
565 + - pack-revindex: ensure that on-disk reverse indexes are given precedence
566 + - t: support GIT_TEST_WRITE_REV_INDEX
567 + - t: prepare for GIT_TEST_WRITE_REV_INDEX
568 + - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
569 + - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
570 + - builtin/index-pack.c: write reverse indexes
571 + - pack-write.c: prepare to write 'pack-*.rev' files
572 + - packfile: prepare for the existence of '*.rev' files
573 + (this branch uses tb/pack-revindex-api.)
574
774 -* vv/send-email-with-less-secure-apps-access (2021-01-07) 1 commit
775 - (merged to 'next' on 2021-01-12 at 53243ca7e7)
776 - + git-send-email.txt: mention less secure app access with Gmail
575 + Introduce an on-disk file to record revindex for packdata, which
576 + traditionally was always created on the fly and only in-core.
577
778 - Doc update.
578
780 - Will merge to 'master'.
579 +* en/merge-ort-perf (2021-01-15) 4 commits
580 + - merge-ort: begin performance work; instrument with trace2_region_* calls
581 + - Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
582 + - Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
583 + - Merge branch 'en/diffcore-rename' into en/merge-ort-perf
584 + (this branch uses en/diffcore-rename, en/merge-ort-3, en/ort-conflict-handling and en/ort-directory-rename.)
585
586
587 * ab/branch-sort (2021-01-07) 7 commits
@@ -797,14 +601,15 @@ Release tarballs are available at:
601
602
603 * ab/coc-update-to-2.0 (2021-01-13) 3 commits
800 - - CoC: update to version 2.0 + local changes
801 - - CoC: explicitly take any whitespace breakage
802 - - CoC: Update word-wrapping to match upstream
604 + (merged to 'next' on 2021-01-15 at 4859c12625)
605 + + CoC: update to version 2.0 + local changes
606 + + CoC: explicitly take any whitespace breakage
607 + + CoC: Update word-wrapping to match upstream
608
609 Update the Code-of-conduct to version 2.0 from the upstream (we've
610 been using version 1.4).
611
807 - Will merge to 'next'.
612 + Will merge to 'master'.
613
614
615 * dl/reflog-with-single-entry (2021-01-11) 2 commits
@@ -819,10 +624,10 @@ Release tarballs are available at:
624 Will merge to 'master'.
625
626
822 -* ds/cache-tree-basics (2021-01-07) 10 commits
627 +* ds/cache-tree-basics (2021-01-15) 10 commits
628 - cache-tree: speed up consecutive path comparisons
629 - cache-tree: use ce_namelen() instead of strlen()
825 - - index-format: discuss recursion of cached-tree better
630 + - index-format: discuss recursion of cache-tree better
631 - index-format: update preamble to cache tree extension
632 - index-format: use 'cache tree' over 'cached tree'
633 - cache-tree: trace regions for prime_cache_tree
@@ -834,16 +639,7 @@ Release tarballs are available at:
639 Document, clean-up and optimize the code around the cache-tree
640 extension in the index.
641
837 -
838 -* ds/for-each-repo-noopfix (2021-01-07) 1 commit
839 - (merged to 'next' on 2021-01-12 at 92f83b5db1)
840 - + for-each-repo: do nothing on empty config
841 -
842 - "git for-each-repo --config=<var> <cmd>" should not run <cmd> for
843 - any repository when the configuration variable <var> is not defined
844 - even once.
845 -
846 - Will merge to 'master'.
642 + Will merge to 'next'.
643
644
645 * en/ort-conflict-handling (2021-01-04) 10 commits
@@ -861,6 +657,8 @@ Release tarballs are available at:
657
658 ORT merge strategy learns more support for merge conflicts.
659
660 + Will merge to 'next'.
661 +
662
663 * ma/more-opaque-lock-file (2021-01-06) 5 commits
664 (merged to 'next' on 2021-01-12 at f246e38b50)
@@ -875,28 +673,6 @@ Release tarballs are available at:
673 Will merge to 'master'.
674
675
878 -* mt/t4129-with-setgid-dir (2021-01-06) 1 commit
879 - (merged to 'next' on 2021-01-12 at 7a54dd92d8)
880 - + t4129: don't fail if setgid is set in the test directory
881 -
882 - Some tests expect that "ls -l" output has either '-' or 'x' for
883 - group executable bit, but setgid bit can be inherited from parent
884 - directory and make these fields 'S' or 's' instead, causing test
885 - failures.
886 -
887 - Will merge to 'master'.
888 -
889 -
890 -* pb/mergetool-tool-help-fix (2021-01-06) 1 commit
891 - (merged to 'next' on 2021-01-12 at ba0f76b413)
892 - + mergetool--lib: fix '--tool-help' to correctly show available tools
893 -
894 - Fix 2.29 regression where "git mergetool --tool-help" fails to list
895 - all the available tools.
896 -
897 - Will merge to 'master'.
898 -
899 -
676 * sg/t7800-difftool-robustify (2021-01-09) 1 commit
677 - t7800-difftool: don't accidentally match tmp dirs
678
@@ -906,7 +682,7 @@ Release tarballs are available at:
682 cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
683
684
909 -* ak/corrected-commit-date (2021-01-04) 11 commits
685 +* ak/corrected-commit-date (2021-01-16) 11 commits
686 - doc: add corrected commit date info
687 - commit-reach: use corrected commit dates in paint_down_to_common()
688 - commit-graph: use generation v2 only if entire chain does
@@ -922,18 +698,6 @@ Release tarballs are available at:
698 The commit-graph learned to use corrected commit dates instead of
699 the generation number to help topological revision traversal.
700
925 - Getting there, but not needs more help to find and resolve segv.
926 - cf. <1adabda6-b80b-d543-f6c0-570dadbe589b@gmail.com>
927 -
928 -
929 -* dl/p4-encode-after-kw-expansion (2020-12-23) 1 commit
930 - (merged to 'next' on 2021-01-13 at 8fce17d998)
931 - + git-p4: fix syncing file types with pattern
932 -
933 - Text encoding fix for "git p4".
934 -
935 - Will merge to 'master'.
936 -
701
702 * fc/mergetool-automerge (2021-01-09) 8 commits
703 . fixup! mergetool: break setup_tool out into separate initialization function
@@ -1090,7 +854,7 @@ Release tarballs are available at:
854
855 "git log" learned a new "--diff-merges=<how>" option.
856
1093 - Ready for 'next'?
857 + Will merge to 'next'.
858
859
860 * es/config-hooks (2020-12-21) 34 commits
@@ -1244,20 +1008,6 @@ Release tarballs are available at:
1008 Will merge to 'master'.
1009
1010
1247 -* ds/maintenance-part-4 (2021-01-05) 4 commits
1248 - (merged to 'next' on 2021-01-08 at 1f98c859ea)
1249 - + maintenance: use Windows scheduled tasks
1250 - + maintenance: use launchctl on macOS
1251 - + maintenance: include 'cron' details in docs
1252 - + maintenance: extract platform-specific scheduling
1253 -
1254 - Follow-up on the "maintenance part-3" which introduced scheduled
1255 - maintenance tasks to support platforms whose native scheduling
1256 - methods are not 'cron'.
1257 -
1258 - Will merge to 'master'.
1259 -
1260 -
1011 * sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
1012 (merged to 'next' on 2021-01-12 at 2aca21c42e)
1013 + diff: do not show submodule with untracked files as "-dirty"