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"