What's cooking (2020/11 #05)
Junio C Hamano committed
Nov 25, 2020 at 16:46 UTC
4648b800b6396c6d133571f8b84b25b16d6f11a4
1 file changed
+581
-558
whats-cooking.txt
+581
-558
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Nov 2020, #04; Thu, 19)
4
-X-master-at: faefdd61ec7c7f6f3c8c9907891465ac9a2a1475
5
-X-next-at: 04529851e543a22b6ba47fbb72737de4c325bb07
3
+Subject: What's cooking in git.git (Nov 2020, #05; Wed, 25)
4
+X-master-at: e67fbf927dfdf13d0b21dc6ea15dc3c7ef448ea0
5
+X-next-at: a3fc446d84ab72dffeba6e9dfb89723fd0545d16
6
7
-What's cooking in git.git (Nov 2020, #04; Thu, 19)
7
+What's cooking in git.git (Nov 2020, #05; Wed, 25)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,9 +12,8 @@ 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 sixth batch of topics are in 'master' and the tests are being
16
-prepared not to be disrupted by a potential change of the default
17
-name for the initial branch.
15
+The number of topics merged for the next release since Git 2.29 has
16
+just passed 100 after the 8th batch of them have graduated.
17
18
Copies of the source code to Git live in many repositories, and the
19
following is a list of the ones I push into. Some repositories have
@@ -46,170 +45,146 @@ Release tarballs are available at:
45
--------------------------------------------------
46
[Graduated to 'master']
47
49
-* ds/maintenance-part-3 (2020-10-16) 8 commits
50
- (merged to 'next' on 2020-11-10 at fe9475c696)
51
- + maintenance: add troubleshooting guide to docs
52
- + maintenance: use 'incremental' strategy by default
53
- + maintenance: create maintenance.strategy config
54
- + maintenance: add start/stop subcommands
55
- + maintenance: add [un]register subcommands
56
- + for-each-repo: run subcommands on configured repos
57
- + maintenance: add --schedule option and config
58
- + maintenance: optionally skip --auto process
59
- (this branch is used by ds/maintenance-part-4.)
60
-
61
- Parts of "git maintenance" to ease writing crontab entries (and
62
- other scheduling system configuration) for it.
63
-
64
-
65
-* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
66
- (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
67
- + upload-pack: allow stateless client EOF just prior to haves
48
+* ab/config-mak-uname-simplify (2020-11-11) 2 commits
49
+ (merged to 'next' on 2020-11-12 at e1bd51ee71)
50
+ + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
51
+ + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
52
69
- "git fetch --depth=<n>" over the stateless RPC / smart HTTP
70
- transport handled EOF from the client poorly at the server end.
53
+ Build configuration cleanup.
54
55
73
-* dg/bswap-msvc (2020-11-11) 2 commits
74
- (merged to 'next' on 2020-11-11 at 6b9e819b17)
75
- + compat/bswap.h: don't assume MSVC is little-endian
76
- (merged to 'next' on 2020-11-09 at 91a67b86f7)
77
- + compat/bswap.h: simplify MSVC endianness detection
56
+* en/strmap (2020-11-11) 15 commits
57
+ (merged to 'next' on 2020-11-12 at 41519a5f5c)
58
+ + shortlog: use strset from strmap.h
59
+ + Use new HASHMAP_INIT macro to simplify hashmap initialization
60
+ + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
61
+ + strmap: enable allocations to come from a mem_pool
62
+ + strmap: add a strset sub-type
63
+ + strmap: split create_entry() out of strmap_put()
64
+ + strmap: add functions facilitating use as a string->int map
65
+ + strmap: enable faster clearing and reusing of strmaps
66
+ + strmap: add more utility functions
67
+ + strmap: new utility functions
68
+ + hashmap: provide deallocation function names
69
+ + hashmap: introduce a new hashmap_partial_clear()
70
+ + hashmap: allow re-use after hashmap_free()
71
+ + hashmap: adjust spacing to fix argument alignment
72
+ + hashmap: add usage documentation explaining hashmap_free[_entries]()
73
+ (this branch is used by en/merge-ort-impl.)
74
79
- Define ARM64 compiled with MSVC to be little-endian.
75
+ A specialization of hashmap that uses a string as key has been
76
+ introduced. Hopefully it will see wider use over time.
77
78
82
-* en/merge-ort-api-null-impl (2020-11-02) 4 commits
83
- (merged to 'next' on 2020-11-10 at ed9eed1558)
84
- + merge,rebase,revert: select ort or recursive by config or environment
85
- + fast-rebase: demonstrate merge-ort's API via new test-tool command
86
- + merge-ort-wrappers: new convience wrappers to mimic the old merge API
87
- + merge-ort: barebones API of new merge strategy with empty implementation
88
- (this branch is used by en/merge-ort-impl.)
79
+* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits
80
+ (merged to 'next' on 2020-11-18 at 4241203041)
81
+ + completion: bash: improve alias loop detection
82
+ (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
83
+ + completion: bash: check for alias loop
84
+ + completion: bash: support recursive aliases
85
90
- Preparation for a new merge strategy.
86
+ The command line completion script (in contrib/) learned to expand
87
+ commands that are alias of alias.
88
89
93
-* en/merge-tests (2020-10-26) 9 commits
94
- (merged to 'next' on 2020-11-09 at 8ac9fe94a7)
95
- + t6423: add more details about direct resolution of directories
96
- + t6423: note improved ort handling with untracked files
97
- + t6423, t6436: note improved ort handling with dirty files
98
- + merge tests: expect slight differences in output for recursive vs. ort
99
- + t6423: expect improved conflict markers labels in the ort backend
100
- + t6404, t6423: expect improved rename/delete handling in ort backend
101
- + t6416: correct expectation for rename/rename(1to2) + directory/file
102
- + merge tests: expect improved directory/file conflict handling in ort
103
- + t/: new helper for tests that pass with ort but fail with recursive
90
+* jc/ci-github-set-env (2020-11-17) 1 commit
91
+ (merged to 'next' on 2020-11-19 at 00ff5e06ac)
92
+ + ci: avoid `set-env` construct in print-test-failures.sh
93
105
- Preparation for a new merge strategy.
94
+ Another CI adjustment.
95
96
108
-* jc/blame-ignore-fix (2020-11-10) 1 commit
109
- (merged to 'next' on 2020-11-10 at 384ace449d)
110
- + blame: silently ignore invalid ignore file objects
97
+* jc/format-patch-name-max (2020-11-09) 1 commit
98
+ (merged to 'next' on 2020-11-11 at 17e19bb17a)
99
+ + format-patch: make output filename configurable
100
112
- "git blame --ignore-revs-file=<file>" learned to ignore a
113
- non-existent object name in the input, instead of complaining.
101
+ The maximum length of output filenames "git format-patch" creates
102
+ has become configurable (used to be capped at 64).
103
104
116
-* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
117
- (merged to 'next' on 2020-11-09 at 47c2c88b9d)
118
- + log: diagnose -L used with pathspec as an error
105
+* jk/4gb-idx (2020-11-16) 5 commits
106
+ (merged to 'next' on 2020-11-18 at 2f99b73bda)
107
+ + packfile: detect overflow in .idx file size checks
108
+ + block-sha1: take a size_t length parameter
109
+ + fsck: correctly compute checksums on idx files larger than 4GB
110
+ + use size_t to store pack .idx byte offsets
111
+ + compute pack .idx byte offsets using size_t
112
120
- "git log -L<range>:<path>" is documented to take no pathspec, but
121
- this was not enforced by the command line option parser, which has
122
- been corrected.
113
+ The code was not prepared to deal with pack .idx file that is
114
+ larger than 4GB.
115
116
125
-* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
126
- (merged to 'next' on 2020-11-10 at 8cfbe66736)
127
- + Makefile: enable -Wsparse-error for DEVELOPER build
117
+* jk/diff-release-filespec-fix (2020-11-11) 2 commits
118
+ (merged to 'next' on 2020-11-12 at 3b21625881)
119
+ + t7800: simplify difftool test
120
+ (merged to 'next' on 2020-11-09 at 6d89b9602d)
121
+ + diff: allow passing NULL to diff_free_filespec_data()
122
+ (this branch is used by js/default-branch-name-tests-final-stretch.)
123
129
- "make DEVELOPER=1 sparse" used to run sparse and let it emit
130
- warnings; now such warnings will cause an error.
124
+ Running "git diff" while allowing external diff in a state with
125
+ unmerged paths used to segfault, which has been corrected.
126
127
133
-* jk/format-patch-output (2020-11-04) 3 commits
134
- (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
135
- + format-patch: support --output option
136
- + format-patch: tie file-opening logic to output_directory
137
- + format-patch: refactor output selection
128
+* jk/rev-parse-end-of-options (2020-11-10) 3 commits
129
+ (merged to 'next' on 2020-11-11 at 2d517d1608)
130
+ + rev-parse: handle --end-of-options
131
+ + rev-parse: put all options under the "-" check
132
+ + rev-parse: don't accept options after dashdash
133
139
- "git format-patch --output=there" did not work as expected and
140
- instead crashed. The option is now supported.
134
+ "git rev-parse" learned the "--end-of-options" to help scripts to
135
+ safely take a parameter that is supposed to be a revision, e.g.
136
+ "git rev-parse --verify -q --end-of-options $rev".
137
138
143
-* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
144
- (merged to 'next' on 2020-11-09 at 568ba5aba5)
145
- + t5515: use `main` as the name of the main branch for testing (conclusion)
146
- + t5515: use `main` as the name of the main branch for testing (part 3)
147
- + t5515: use `main` as the name of the main branch for testing (part 2)
148
- + t5515: use `main` as the name of the main branch for testing (part 1)
139
+* jx/t5411-flake-fix (2020-11-11) 3 commits
140
+ (merged to 'next' on 2020-11-18 at badb1fefe5)
141
+ + receive-pack: use default version 0 for proc-receive
142
+ + receive-pack: gently write messages to proc-receive
143
+ + t5411: new helper filter_out_user_friendly_and_stable_output
144
150
- Prepare a test script to transition of the default branch name to
151
- 'main'.
145
+ The exchange between receive-pack and proc-receive hook did not
146
+ carefully check for errors.
147
148
154
-* nk/perf-fsmonitor (2020-10-26) 10 commits
155
- (merged to 'next' on 2020-11-09 at 9fed160a17)
156
- + t/perf/fsmonitor: add benchmark for dirty status
157
- + t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations
158
- + t/perf/fsmonitor: initialize test with git reset
159
- + t/perf/fsmonitor: factor setup for fsmonitor into function
160
- + t/perf/fsmonitor: silence initial git commit
161
- + t/perf/fsmonitor: shorten DESC to basename
162
- + t/perf/fsmonitor: factor description out for readability
163
- + t/perf/fsmonitor: improve error message if typoing hook name
164
- + t/perf/fsmonitor: move watchman setup to one-time-repo-setup
165
- + t/perf/fsmonitor: separate one time repo initialization
149
+* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit
150
+ (merged to 'next' on 2020-11-18 at 7cf396ee81)
151
+ + list-objects-filter-options: fix function name in BUG
152
167
- Add t/perf support for fsmonitor.
153
+ Error message fix.
154
+ We can further update it to lose the hand-maintained function name
155
+ from the message, but that can be done separately.
156
157
170
-* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
171
- (merged to 'next' on 2020-11-10 at 221bb3f773)
172
- + blame: simplify 'setup_blame_bloom_data' interface
173
- + blame: simplify 'setup_scoreboard' interface
174
- + blame: enable funcname blaming with userdiff driver
175
- + line-log: mention both modes in 'blame' and 'log' short help
176
- + doc: add more pointers to gitattributes(5) for userdiff
177
- + blame-options.txt: also mention 'funcname' in '-L' description
178
- + doc: line-range: improve formatting
179
- + doc: log, gitk: move '-L' description to 'line-range-options.txt'
158
+* pd/mergetool-nvimdiff (2020-11-11) 2 commits
159
+ (merged to 'next' on 2020-11-12 at aff20da3a2)
160
+ + mergetool: avoid letting `list_tool_variants` break user-defined setups
161
+ + mergetools/bc: add `bc4` to the alias list for Beyond Compare
162
181
- "git blame -L :funcname -- path" did not work well for a path for
182
- which a userdiff driver is defined.
163
+ Fix regression introduced when nvimdiff support in mergetool was added.
164
165
185
-* pw/rebase-i-orig-head (2020-11-04) 4 commits
186
- (merged to 'next' on 2020-11-10 at 038a5295f5)
187
- + rebase -i: simplify get_revision_ranges()
188
- + rebase -i: use struct object_id when writing state
189
- + rebase -i: use struct object_id rather than looking up commit
190
- + rebase -i: stop overwriting ORIG_HEAD buffer
166
+* pk/subsub-fetch-fix (2020-11-12) 1 commit
167
+ (merged to 'next' on 2020-11-18 at bdd3b21b7c)
168
+ + submodules: fix of regression on fetching of non-init subsub-repo
169
192
- "git rebase -i" did not store ORIG_HEAD correctly.
193
- cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
170
+ "git fetch" did not work correctly with nested submodules where the
171
+ innermost submodule that is not of interest got updated in the
172
+ upstream, which has been corrected.
173
174
196
-* rs/archive-high-compression (2020-11-09) 1 commit
197
- (merged to 'next' on 2020-11-10 at 9bee80950e)
198
- + archive: support compression levels beyond 9
175
+* rs/archive-plug-leak-refname (2020-11-16) 1 commit
176
+ (merged to 'next' on 2020-11-19 at 270ba7b8be)
177
+ + archive: release refname after use
178
200
- "git archive" now allows compression level higher than "-9"
201
- when generating tar.gz output.
179
+ Memleak fix.
180
181
204
-* rs/empty-reflog-check-fix (2020-11-01) 1 commit
205
- (merged to 'next' on 2020-11-09 at 3da6b6fef0)
206
- + stash: simplify reflog emptiness check
182
+* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit
183
+ (merged to 'next' on 2020-11-19 at 04529851e5)
184
+ + gc: fix cast in compare_tasks_by_selection()
185
208
- The code to see if "git stash drop" can safely remove refs/stash
209
- has been made more carerful.
186
+ Fix broken sorting of maintenance tasks.
187
211
---------------------------------------------------
212
-[New Topics]
188
189
* rs/hashwrite-be64 (2020-11-12) 3 commits
190
(merged to 'next' on 2020-11-18 at 60385c6fa1)
@@ -219,7 +194,12 @@ Release tarballs are available at:
194
195
Code simplification.
196
222
- Will merge to 'master'.
197
+
198
+* rs/plug-diff-cache-leak (2020-11-16) 1 commit
199
+ (merged to 'next' on 2020-11-23 at a9666bbac3)
200
+ + diff-lib: plug minor memory leaks in do_diff_cache()
201
+
202
+ Memleak fix.
203
204
205
* sg/bisect-approximately-halfway (2020-11-12) 1 commit
@@ -231,296 +211,223 @@ Release tarballs are available at:
211
optimized by stopping when we see a commit that is close enough to
212
the half-way point.
213
234
- Will merge to 'master'.
235
-
214
237
-* tb/pack-bitmap (2020-11-19) 24 commits
238
- - pack-bitmap-write: better reuse bitmaps
239
- - pack-bitmap-write: relax unique rewalk condition
240
- - pack-bitmap-write: use existing bitmaps
241
- - pack-bitmap: factor out 'add_commit_to_bitmap()'
242
- - pack-bitmap: factor out 'bitmap_for_commit()'
243
- - pack-bitmap-write: ignore BITMAP_FLAG_REUSE
244
- - pack-bitmap-write: build fewer intermediate bitmaps
245
- - pack-bitmap.c: check reads more aggressively when loading
246
- - pack-bitmap-write: rename children to reverse_edges
247
- - t5310: add branch-based checks
248
- - commit: implement commit_list_contains()
249
- - bitmap: add bitmap_diff_nonzero()
250
- - pack-bitmap-write: fill bitmap with commit history
251
- - pack-bitmap-write: pass ownership of intermediate bitmaps
252
- - pack-bitmap-write: reimplement bitmap writing
253
- - ewah: add bitmap_dup() function
254
- - ewah: implement bitmap_or()
255
- - ewah: make bitmap growth less aggressive
256
- - ewah: factor out bitmap growth
257
- - rev-list: die when --test-bitmap detects a mismatch
258
- - t5310: drop size of truncated ewah bitmap
259
- - pack-bitmap: bounds-check size of cache extension
260
- - pack-bitmap: fix header size check
261
- - ewah/ewah_bitmap.c: grow buffer past 1
262
-
263
- Various improvement to the codepath that writes out pack bitmaps.
264
-
265
-
266
-* ab/retire-parse-remote (2020-11-16) 3 commits
267
- (merged to 'next' on 2020-11-18 at 80d4d8290c)
268
- + parse-remote: remove this now-unused library
269
- + submodule: remove sh function in favor of helper
270
- + submodule: use "fetch" logic instead of custom remote discovery
271
-
272
- "git-parse-remote" shell script library outlived its usefulness.
273
-
274
- Will merge to 'master'.
215
+* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit
216
+ (merged to 'next' on 2020-11-19 at 72fb4e7155)
217
+ + t5310-pack-bitmaps: skip JGit tests with SHA256
218
219
+ Since jgit does not yet work with SHA-256 repositories, mark the
220
+ tests that uses it not to run unless we are testing with ShA-1
221
+ repositories.
222
277
-* jk/4gb-idx (2020-11-16) 5 commits
278
- (merged to 'next' on 2020-11-18 at 2f99b73bda)
279
- + packfile: detect overflow in .idx file size checks
280
- + block-sha1: take a size_t length parameter
281
- + fsck: correctly compute checksums on idx files larger than 4GB
282
- + use size_t to store pack .idx byte offsets
283
- + compute pack .idx byte offsets using size_t
223
285
- The code was not prepared to deal with pack .idx file that is
286
- larger than 4GB.
224
+* sg/tests-prereq (2020-11-18) 2 commits
225
+ (merged to 'next' on 2020-11-23 at e8926781aa)
226
+ + tests: fix description of 'test_set_prereq'
227
+ + tests: make sure nested lazy prereqs work reliably
228
288
- Will merge to 'master'.
229
+ A lazily defined test prerequisite can now be defined in terms of
230
+ another lazily defined test prerequisite.
231
232
+--------------------------------------------------
233
+[New Topics]
234
291
-* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit
292
- (merged to 'next' on 2020-11-18 at 7cf396ee81)
293
- + list-objects-filter-options: fix function name in BUG
235
+* ab/gc-keep-base-option (2020-11-21) 2 commits
236
+ (merged to 'next' on 2020-11-25 at ac76ddcfe7)
237
+ + gc: rename keep_base_pack variable for --keep-largest-pack
238
+ + gc docs: change --keep-base-pack to --keep-largest-pack
239
295
- Error message fix.
240
+ Fix an option name in "gc" documentation.
241
242
Will merge to 'master'.
298
- We can further update it to lose the hand-maintained function name
299
- from the message, but that can be done separately.
300
-
301
-
302
-* mt/rm-sparse-checkout (2020-11-16) 1 commit
303
- - rm: honor sparse checkout patterns
304
- (this branch uses mt/grep-sparse-checkout.)
305
-
306
- "git rm" follows suit to "git grep" to ignore paths outside the
307
- sparsity pattern when the sparse checkout feature is in use.
308
-
309
-
310
-* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
311
- - pull: check for local submodule modifications with the right range
312
- - t5572: describe '--rebase' tests a little more
313
- - t5572: add notes on a peculiar test
314
- - pull --rebase: compute rebase arguments in separate function
243
316
- "git pull --rebase --recurse-submodules" checked for local changes
317
- in a wrong range and failed to run correctly when it should.
244
319
- Will merge to 'next'.
245
+* en/stash-apply-sparse-checkout (2020-11-21) 3 commits
246
+ - stash: fix stash application in sparse-checkouts
247
+ - stash: remove unnecessary process forking
248
+ - t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
249
250
322
-* pk/subsub-fetch-fix (2020-11-12) 1 commit
323
- (merged to 'next' on 2020-11-18 at bdd3b21b7c)
324
- + submodules: fix of regression on fetching of non-init subsub-repo
251
+* jc/do-not-just-explain-but-update-your-patch (2020-11-24) 1 commit
252
+ (merged to 'next' on 2020-11-25 at 1f5235d4e1)
253
+ + MyFirstContribition: answering questions is not the end of the story
254
326
- "git fetch" did not work correctly with nested submodules where the
327
- innermost submodule that is not of interest got updated in the
328
- upstream, which has been corrected.
255
+ Expectation for the original contributor after responding to a
256
+ review comment to use the explanation in a patch update has been
257
+ described.
258
259
Will merge to 'master'.
260
261
333
-* rs/archive-plug-leak-refname (2020-11-16) 1 commit
334
- (merged to 'next' on 2020-11-19 at 270ba7b8be)
335
- + archive: release refname after use
262
+* jk/stop-pack-objects-when-push-is-killed (2020-11-21) 1 commit
263
+ (merged to 'next' on 2020-11-25 at f73fb999cd)
264
+ + send-pack: kill pack-objects helper on signal or exit
265
337
- Memleak fix.
266
+ Receiving "git push" that is killed may leave zombie pack-objects
267
+ process behind, which has been corrected.
268
269
Will merge to 'master'.
270
271
342
-* rs/chdir-notify-unleak (2020-11-16) 1 commit
343
- - chdir-notify: UNLEAK registrated callback entries
272
+* ma/grep-init-default (2020-11-24) 4 commits
273
+ - MyFirstObjectWalk: drop `init_walken_defaults()`
274
+ - grep: copy struct in one fell swoop
275
+ - grep: use designated initializers for `grep_defaults`
276
+ - grep: don't set up a "default" repo for grep
277
345
- Mark some stuff on list_head chain with UNLEAK() macro to squelch
346
- leak checker.
347
-
348
- Will merge to 'next'.
349
-
350
-
351
-* rs/plug-diff-cache-leak (2020-11-16) 1 commit
352
- - diff-lib: plug minor memory leaks in do_diff_cache()
353
-
354
- Memleak fix.
278
+ Code clean-up.
279
356
- Will merge to 'next'.
280
+ Expecting a (hopefully final) reroll.
281
+ cf. <xmqqlfepg9dq.fsf@gitster.c.googlers.com>
282
283
359
-* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit
360
- (merged to 'next' on 2020-11-19 at 72fb4e7155)
361
- + t5310-pack-bitmaps: skip JGit tests with SHA256
284
+* mt/worktree-error-message-fix (2020-11-21) 1 commit
285
+ (merged to 'next' on 2020-11-25 at bc887168ff)
286
+ + worktree: fix order of arguments in error message
287
363
- Since jgit does not yet work with SHA-256 repositories, mark the
364
- tests that uses it not to run unless we are testing with ShA-1
365
- repositories.
288
+ Fix formulation of an error message with two placeholders in "git
289
+ worktree add" subcommand.
290
291
Will merge to 'master'.
292
293
370
-* tb/repack-simplify (2020-11-17) 3 commits
371
- - builtin/repack.c: don't move existing packs out of the way
372
- - builtin/repack.c: keep track of what pack-objects wrote
373
- - repack: make "exts" array available outside cmd_repack()
294
+* na/notes-displayref-is-not-boolean (2020-11-23) 2 commits
295
+ (merged to 'next' on 2020-11-25 at b0dda46b56)
296
+ + t3301: test proper exit response to no-value notes.displayRef.
297
+ + notes.c: fix a segfault in notes_display_config()
298
375
- Simplify the logic to deal with a repack operation that ended up
376
- creating the same packfile.
299
+ Config parser fix for "git notes".
300
378
- Will merge to 'next'.
301
+ Will merge to 'master'.
302
303
381
-* dd/help-autocorrect-never (2020-11-18) 1 commit
382
- - help.c: allow help.autocorrect to say "do not even compute suggestions"
304
+* fc/atmark-in-refspec (2020-11-24) 1 commit
305
+ - refspec: make @ a synonym of HEAD
306
384
- "git $cmd $args", when $cmd is not a recognised subcommand, by
385
- default tries to see if $cmd is a typo of an existing subcommand
386
- and optionally executes the corrected command if there is only one
387
- possibility, depending on the setting of help.autocorrect; the
388
- users can now disable the whole thing, including the cycles spent
389
- to find a likely typo, by setting the configuration variable to
390
- 'never'.
307
+ "@" sometimes worked (e.g. "git push origin @:there") as a part of
308
+ a refspec element, but "git push orign @" did not work, which has
309
+ been corrected.
310
311
393
-* jc/ci-github-set-env (2020-11-17) 1 commit
394
- (merged to 'next' on 2020-11-19 at 00ff5e06ac)
395
- + ci: avoid `set-env` construct in print-test-failures.sh
312
+* hn/sleep-millisec-decl (2020-11-24) 1 commit
313
+ (merged to 'next' on 2020-11-25 at d11de8b987)
314
+ + move sleep_millisec to git-compat-util.h
315
397
- Another CI adjustment.
316
+ Move a definition of compatibility wrapper from cache.h to
317
+ git-compat-util.h
318
319
Will merge to 'master'.
320
321
402
-* jc/init-doc-default-branch (2020-11-18) 1 commit
403
- - "init" doc: mention the configurability more clearly
322
+* js/init-defaultbranch-advice (2020-11-24) 4 commits
323
+ - init: provide useful advice about init.defaultBranch
324
+ - get_default_branch_name(): prepare for showing some advice
325
+ - branch -m: allow renaming a yet-unborn branch
326
+ - init: document `init.defaultBranch` better
327
405
- Doc update.
328
+ Our users are going to be trained to prepare for future change of
329
+ init.defaultBranch configuration variable.
330
407
- Weatherbaloon.
331
409
-
410
-* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
411
- - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
412
- - t99*: adjust the references to the default branch name "main"
413
- - tests(git-p4): transition to the default branch name `main`
414
- - t9[5-7]*: adjust the references to the default branch name "main"
415
- - t9[0-4]*: adjust the references to the default branch name "main"
416
- - t8*: adjust the references to the default branch name "main"
417
- - t7[5-9]*: adjust the references to the default branch name "main"
418
- - t7[0-4]*: adjust the references to the default branch name "main"
419
- - t6[4-9]*: adjust the references to the default branch name "main"
420
- - t64*: preemptively adjust alignment to prepare for `master` -> `main`
421
- - t6[0-3]*: adjust the references to the default branch name "main"
422
- - t5[6-9]*: adjust the references to the default branch name "main"
423
- - t55[4-9]*: adjust the references to the default branch name "main"
424
- - t55[23]*: adjust the references to the default branch name "main"
425
- - t551*: adjust the references to the default branch name "main"
426
- - t550*: adjust the references to the default branch name "main"
427
- - t5503: prepare aligned comment for replacing `master` with `main`
428
- - t5[0-4]*: adjust the references to the default branch name "main"
429
- - t5323: prepare centered comment for `master` -> `main`
430
- - t4*: adjust the references to the default branch name "main"
431
- - t3[5-9]*: adjust the references to the default branch name "main"
432
- - t34*: adjust the references to the default branch name "main"
433
- - t3416: preemptively adjust alignment in a comment
434
- - t3[0-3]*: adjust the references to the default branch name "main"
435
- - t2*: adjust the references to the default branch name "main"
436
- - t[01]*: adjust the references to the default branch name "main"
437
- - t0060: preemptively adjust alignment
438
- - tests: mark tests relying on the current default for `init.defaultBranch`
439
- - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
440
- (this branch uses jk/diff-release-filespec-fix.)
441
-
442
- Prepare tests not to be affected by the name of the default branch
443
- "git init" creates.
444
-
445
-
446
-* js/t2106-cleanup (2020-11-18) 3 commits
447
- - t2106: ensure that the checkout fails for the expected reason
448
- - t2106: make test independent of the current main branch name
449
- - t2106: adjust style to the current conventions
332
+* js/t3404-master-to-primary (2020-11-24) 1 commit
333
+ (merged to 'next' on 2020-11-25 at c2959cc831)
334
+ + t3404: do not depend on any specific default branch name
335
336
A test script got cleaned up and then made not to depend on the
337
value of init.defaultBranch.
338
454
- Will merge to 'next'.
339
+ Will merge to 'master'.
340
341
457
-* js/t3040-cleanup (2020-11-18) 1 commit
458
- - t3040: remove stale note
342
+* jt/trace-error-on-warning (2020-11-24) 1 commit
343
+ - usage: add trace2 entry upon warning()
344
460
- Cleanup.
345
+ Like die() and error(), a call to warning() will also trigger a
346
+ trace2 event.
347
348
Will merge to 'next'.
349
350
465
-* js/t4015-wo-master (2020-11-19) 1 commit
466
- - t4015: let the test pass with any default branch name
467
-
468
- A test script got cleaned up not to depend on the value of
469
- init.defaultBranch.
470
-
471
- Will merge to 'next'.
351
+* km/stash-error-message-fix (2020-11-24) 1 commit
352
+ (merged to 'next' on 2020-11-25 at 9ef82d6aa7)
353
+ + stash: add missing space to an error message
354
355
+ Error message fix.
356
474
-* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit
475
- (merged to 'next' on 2020-11-19 at 04529851e5)
476
- + gc: fix cast in compare_tasks_by_selection()
357
+ Will merge to 'master'.
358
478
- Fix broken sorting of maintenance tasks.
359
480
- Will merge to 'master'.
360
+* ps/config-env-pairs (2020-11-24) 2 commits
361
+ - config: allow specifying config entries via envvar pairs
362
+ - config: extract function to parse config pairs
363
364
+ Introduce a way to feed configuration variable-value pairs via
365
+ environment variables.
366
483
-* sg/tests-prereq (2020-11-18) 2 commits
484
- - tests: fix description of 'test_set_prereq'
485
- - tests: make sure nested lazy prereqs work reliably
367
+ Getting there.
368
+ cf. <X74CigYS7AUtMo9Q@tanuki>
369
487
- A lazily defined test prerequisite can now be defined in terms of
488
- another lazily defined test prerequisite.
370
490
- Will merge to 'next'.
371
+* sa/credential-store-timeout (2020-11-25) 1 commit
372
+ (merged to 'next' on 2020-11-25 at 7a9a4b68fd)
373
+ + crendential-store: use timeout when locking file
374
375
+ Multiple "credential-store" backends can race to lock the same
376
+ file, causing everybody else but one to fail---reattempt locking
377
+ with some timeout to reduce the rate of the failure.
378
493
-* ds/config-literal-value (2020-11-19) 6 commits
494
- - config: implement --literal-value with --get*
495
- - config: plumb --literal-value into config API
496
- - config: add --literal-value option, un-implemented
497
- - config: convert multi_replace to flags
498
- - t1300: add test for --replace-all with value_regex
499
- - t1300: test "set all" mode with value_regex
500
- (this branch is used by ds/maintenance-part-3.)
379
+ Will merge to 'master'.
380
381
503
-* ds/maintenance-part-3 (2020-11-19) 2 commits
504
- - maintenance: use 'git config --literal-value'
505
- - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
506
- (this branch uses ds/config-literal-value.)
382
+* tb/idx-midx-race-fix (2020-11-25) 2 commits
383
+ - midx.c: protect against disappearing packs
384
+ - packfile.c: protect against disappearing indexes
385
508
- "git maintenance" command had trouble working in a directory whose
509
- pathname contained an ERE metacharacter like '+'.
386
+ Processes that access packdata while the .idx file gets removed
387
+ (e.g. while repacking) did not fail or fall back gracefully as they
388
+ could.
389
390
Will merge to 'next'.
391
392
514
-* js/pull-rebase-use-advise (2020-11-19) 1 commit
515
- - pull: colorize the hint about setting `pull.rebase`
393
+* rs/stop-pack-objects-when-fetch-is-killed (2020-11-25) 1 commit
394
+ - upload-pack: kill pack-objects helper on signal or exit
395
396
+ "git upload-pack" that is killed may leave zombie pack-objects
397
+ process behind, which has been corrected.
398
518
-* js/t1309-master-to-topic (2020-11-19) 1 commit
519
- - t1309: use a neutral branch name in the `onbranch` test cases
399
+ Needs to be replaced with signed-off and/or improved version.
400
401
--------------------------------------------------
402
[Stalled]
403
404
+* mt/grep-sparse-checkout (2020-09-10) 9 commits
405
+ - config: add setting to ignore sparsity patterns in some cmds
406
+ - grep: honor sparse checkout patterns
407
+ - config: correctly read worktree configs in submodules
408
+ - config: make do_git_config_sequence receive a 'struct repository'
409
+ - t/helper/test-config: unify exit labels
410
+ - t/helper/test-config: diagnose missing arguments
411
+ - t/helper/test-config: be consistent with exit codes
412
+ - t1308-config-set: avoid false positives when using test-config
413
+ - doc: grep: unify info on configuration variables
414
+ (this branch is used by mt/rm-sparse-checkout.)
415
+
416
+ "git grep" has been tweaked to be limited to the sparse checkout
417
+ paths.
418
+
419
+
420
+* mt/rm-sparse-checkout (2020-11-16) 1 commit
421
+ - rm: honor sparse checkout patterns
422
+ (this branch uses mt/grep-sparse-checkout.)
423
+
424
+ "git rm" follows suit to "git grep" to ignore paths outside the
425
+ sparsity pattern when the sparse checkout feature is in use.
426
+
427
+ Need to wait for how these fit in larger picture.
428
+ cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
429
+
430
+
431
* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
432
(merged to 'next' on 2020-10-26 at c1dd37b024)
433
+ docs: document symlink restrictions for .git* files
@@ -688,6 +595,8 @@ Release tarballs are available at:
595
596
"git submodule add" being rewritten in C.
597
598
+ Needs review.
599
+
600
601
* mt/parallel-checkout-part-1 (2020-11-04) 19 commits
602
- ci: run test round with parallel-checkout enabled
@@ -710,28 +619,302 @@ Release tarballs are available at:
619
- convert: add [async_]convert_to_working_tree_ca() variants
620
- convert: make convert_attrs() and convert structs public
621
713
- Parallel checkout.
622
+ Parallel checkout.
623
+
624
+ Needs review.
625
+
626
+
627
+* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
628
+ - completion: bash: shuffle __gitcomp functions
629
+ - completion: bash: cleanup __gitcomp* invocations
630
+ - completion: bash: add __gitcomp_opts
631
+ - completion: bash: improve __gitcomp description
632
+ - completion: bash: rename _get_comp_words_by_ref()
633
+ - completion: bash: trivial cleanup
634
+ - completion: bash: cleanup _get_comp_words_by_ref()
635
+ - completion: bash: refactor _get_comp_words_by_ref()
636
+ - completion: bash: simplify _get_comp_words_by_ref()
637
+ - test: completion: switch __gitcomp_nl prefix test
638
+ - completion: bash: simplify config_variable_name
639
+ - completion: bash: improve __gitcomp suffix code
640
+ - completion: bash: change suffix check in __gitcomp
641
+ - completion: bash: simplify __gitcomp
642
+ - completion: bash: refactor __gitcomp
643
+ - completion: bash: simplify equal suffix check
644
+ - completion: bash: factor out check in __gitcomp
645
+ - completion: bash: get rid of any non-append code
646
+ - completion: bash: get rid of _append() functions
647
+ - completion: bash: remove non-append functionality
648
+ - test: completion: add run_func() helper
649
+ - test: completion: fix currently typed words
650
+ - completion: bash: do not modify COMP_WORDBREAKS
651
+ - completion: bash: fix for suboptions with value
652
+ - completion: bash: add correct suffix in variables
653
+ - completion: bash: fix prefix detection in branch.*
654
+
655
+ Needs review.
656
+
657
+
658
+* so/log-diff-merge (2020-11-09) 27 commits
659
+ - doc/git-show: include --diff-merges description
660
+ - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
661
+ - doc/diff-generate-patch: mention new --diff-merges option
662
+ - doc/git-log: describe new --diff-merges options
663
+ - t4013: add test for --diff-merges=first-parent
664
+ - diff-merges: implement new values for --diff-merges
665
+ - diff-merges: make -m/-c/--cc explicitly mutually exclusive
666
+ - diff-merges: refactor opt settings into separate functions
667
+ - diff-merges: get rid of now empty diff_merges_init_revs()
668
+ - diff-merges: group diff-merge flags next to each other inside 'rev_info'
669
+ - diff-merges: split 'ignore_merges' field
670
+ - diff-merges: fix -m to properly override -c/--cc
671
+ - t4013: add tests for -m failing to override -c/--cc
672
+ - t4013: support test_expect_failure through ':failure' magic
673
+ - diff-merges: revise revs->diff flag handling
674
+ - diff-merges: introduce revs->first_parent_merges flag
675
+ - diff-merges: new function diff_merges_set_dense_combined_if_unset()
676
+ - diff-merges: new function diff_merges_suppress()
677
+ - diff-merges: re-arrange functions to match the order they are called in
678
+ - diff-merges: rename diff_merges_default_to_enable() to match semantics
679
+ - diff-merges: move checks for first_parent_only out of the module
680
+ - diff-merges: rename all functions to have common prefix
681
+ - revision: move diff merges functions to its own diff-merges.c
682
+ - revision: provide implementation for diff merges tweaks
683
+ - revision: factor out initialization of diff-merge related settings
684
+ - revision: factor out setup of diff-merge related settings
685
+ - revision: factor out parsing of diff-merge related options
686
+
687
+ "git log" learned a new "--diff-merges=<how>" option.
688
+
689
+ Needs review.
690
+
691
+* en/merge-ort-impl (2020-11-11) 21 commits
692
+ - merge-ort: free data structures in merge_finalize()
693
+ - merge-ort: add implementation of record_unmerged_index_entries()
694
+ - tree: enable cmp_cache_name_compare() to be used elsewhere
695
+ - merge-ort: add implementation of checkout()
696
+ - merge-ort: basic outline for merge_switch_to_result()
697
+ - merge-ort: step 3 of tree writing -- handling subdirectories as we go
698
+ - merge-ort: step 2 of tree writing -- function to create tree object
699
+ - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
700
+ - merge-ort: have process_entries operate in a defined order
701
+ - merge-ort: add a preliminary simple process_entries() implementation
702
+ - merge-ort: avoid recursing into identical trees
703
+ - merge-ort: record stage and auxiliary info for every path
704
+ - merge-ort: compute a few more useful fields for collect_merge_info
705
+ - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
706
+ - merge-ort: implement a very basic collect_merge_info()
707
+ - merge-ort: add an err() function similar to one from merge-recursive
708
+ - merge-ort: use histogram diff
709
+ - merge-ort: port merge_start() from merge-recursive
710
+ - merge-ort: add some high-level algorithm structure
711
+ - merge-ort: setup basic internal data structures
712
+ - Merge branch 'en/strmap' into en/merge-ort-impl
713
+
714
+ Needs review.
715
+
716
+--------------------------------------------------
717
+[Cooking]
718
+
719
+* tb/pack-bitmap (2020-11-21) 24 commits
720
+ - pack-bitmap-write: better reuse bitmaps
721
+ - pack-bitmap-write: relax unique rewalk condition
722
+ - pack-bitmap-write: use existing bitmaps
723
+ - pack-bitmap: factor out 'add_commit_to_bitmap()'
724
+ - pack-bitmap: factor out 'bitmap_for_commit()'
725
+ - pack-bitmap-write: ignore BITMAP_FLAG_REUSE
726
+ - pack-bitmap-write: build fewer intermediate bitmaps
727
+ - pack-bitmap.c: check reads more aggressively when loading
728
+ - pack-bitmap-write: rename children to reverse_edges
729
+ - t5310: add branch-based checks
730
+ - commit: implement commit_list_contains()
731
+ - bitmap: add bitmap_diff_nonzero()
732
+ - pack-bitmap-write: fill bitmap with commit history
733
+ - pack-bitmap-write: pass ownership of intermediate bitmaps
734
+ - pack-bitmap-write: reimplement bitmap writing
735
+ - ewah: add bitmap_dup() function
736
+ - ewah: implement bitmap_or()
737
+ - ewah: make bitmap growth less aggressive
738
+ - ewah: factor out bitmap growth
739
+ - rev-list: die when --test-bitmap detects a mismatch
740
+ - t5310: drop size of truncated ewah bitmap
741
+ - pack-bitmap: bounds-check size of cache extension
742
+ - pack-bitmap: fix header size check
743
+ - ewah/ewah_bitmap.c: grow buffer past 1
744
+
745
+ Various improvement to the codepath that writes out pack bitmaps.
746
+
747
+ Needs a bit of reshuffling?
748
+ cf. <X7xzWClGr3bM3wcg@coredump.intra.peff.net>
749
+
750
+
751
+* ab/retire-parse-remote (2020-11-24) 4 commits
752
+ (merged to 'next' on 2020-11-25 at 644484d7df)
753
+ + submodule: fix fetch_in_submodule logic
754
+ (merged to 'next' on 2020-11-18 at 80d4d8290c)
755
+ + parse-remote: remove this now-unused library
756
+ + submodule: remove sh function in favor of helper
757
+ + submodule: use "fetch" logic instead of custom remote discovery
758
+
759
+ "git-parse-remote" shell script library outlived its usefulness.
760
+
761
+ Will merge to 'master'.
762
+
763
+
764
+* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
765
+ (merged to 'next' on 2020-11-25 at 9837b50d7f)
766
+ + pull: check for local submodule modifications with the right range
767
+ + t5572: describe '--rebase' tests a little more
768
+ + t5572: add notes on a peculiar test
769
+ + pull --rebase: compute rebase arguments in separate function
770
+
771
+ "git pull --rebase --recurse-submodules" checked for local changes
772
+ in a wrong range and failed to run correctly when it should.
773
+
774
+ Will merge to 'master'.
775
+
776
+
777
+* tb/repack-simplify (2020-11-17) 3 commits
778
+ (merged to 'next' on 2020-11-25 at 79a98f2403)
779
+ + builtin/repack.c: don't move existing packs out of the way
780
+ + builtin/repack.c: keep track of what pack-objects wrote
781
+ + repack: make "exts" array available outside cmd_repack()
782
+
783
+ Simplify the logic to deal with a repack operation that ended up
784
+ creating the same packfile.
785
+
786
+ Will merge to 'master'.
787
+
788
+
789
+* dd/help-autocorrect-never (2020-11-25) 1 commit
790
+ - help.c: help.autocorrect=never means "do not compute suggestions"
791
+
792
+ "git $cmd $args", when $cmd is not a recognised subcommand, by
793
+ default tries to see if $cmd is a typo of an existing subcommand
794
+ and optionally executes the corrected command if there is only one
795
+ possibility, depending on the setting of help.autocorrect; the
796
+ users can now disable the whole thing, including the cycles spent
797
+ to find a likely typo, by setting the configuration variable to
798
+ 'never'.
799
+
800
+ Getting there.
801
+ cf. <xmqqft4xdubq.fsf_-_@gitster.c.googlers.com>
802
+
803
+
804
+* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
805
+ - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
806
+ - t99*: adjust the references to the default branch name "main"
807
+ - tests(git-p4): transition to the default branch name `main`
808
+ - t9[5-7]*: adjust the references to the default branch name "main"
809
+ - t9[0-4]*: adjust the references to the default branch name "main"
810
+ - t8*: adjust the references to the default branch name "main"
811
+ - t7[5-9]*: adjust the references to the default branch name "main"
812
+ - t7[0-4]*: adjust the references to the default branch name "main"
813
+ - t6[4-9]*: adjust the references to the default branch name "main"
814
+ - t64*: preemptively adjust alignment to prepare for `master` -> `main`
815
+ - t6[0-3]*: adjust the references to the default branch name "main"
816
+ - t5[6-9]*: adjust the references to the default branch name "main"
817
+ - t55[4-9]*: adjust the references to the default branch name "main"
818
+ - t55[23]*: adjust the references to the default branch name "main"
819
+ - t551*: adjust the references to the default branch name "main"
820
+ - t550*: adjust the references to the default branch name "main"
821
+ - t5503: prepare aligned comment for replacing `master` with `main`
822
+ - t5[0-4]*: adjust the references to the default branch name "main"
823
+ - t5323: prepare centered comment for `master` -> `main`
824
+ - t4*: adjust the references to the default branch name "main"
825
+ - t3[5-9]*: adjust the references to the default branch name "main"
826
+ - t34*: adjust the references to the default branch name "main"
827
+ - t3416: preemptively adjust alignment in a comment
828
+ - t3[0-3]*: adjust the references to the default branch name "main"
829
+ - t2*: adjust the references to the default branch name "main"
830
+ - t[01]*: adjust the references to the default branch name "main"
831
+ - t0060: preemptively adjust alignment
832
+ - tests: mark tests relying on the current default for `init.defaultBranch`
833
+ - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
834
+
835
+ Prepare tests not to be affected by the name of the default branch
836
+ "git init" creates.
837
+
838
+
839
+* js/t2106-cleanup (2020-11-18) 3 commits
840
+ (merged to 'next' on 2020-11-23 at b1bcd5d8b2)
841
+ + t2106: ensure that the checkout fails for the expected reason
842
+ + t2106: make test independent of the current main branch name
843
+ + t2106: adjust style to the current conventions
844
+
845
+ A test script got cleaned up and then made not to depend on the
846
+ value of init.defaultBranch.
847
+
848
+ Will merge to 'master'.
849
+
850
+
851
+* js/t3040-cleanup (2020-11-18) 1 commit
852
+ (merged to 'next' on 2020-11-23 at 88951eae2f)
853
+ + t3040: remove stale note
854
+
855
+ Cleanup.
856
+
857
+ Will merge to 'master'.
858
+
859
+
860
+* js/t4015-wo-master (2020-11-19) 1 commit
861
+ (merged to 'next' on 2020-11-23 at b85c36ffb4)
862
+ + t4015: let the test pass with any default branch name
863
+
864
+ A test script got cleaned up not to depend on the value of
865
+ init.defaultBranch.
866
+
867
+ Will merge to 'master'.
868
+
869
+
870
+* ds/config-literal-value (2020-11-25) 8 commits
871
+ - config doc: value-pattern is not necessarily a regexp
872
+ - config: implement --fixed-value with --get*
873
+ - config: plumb --fixed-value into config API
874
+ - config: add --fixed-value option, un-implemented
875
+ - t1300: add test for --replace-all with value-pattern
876
+ - t1300: test "set all" mode with value-pattern
877
+ - config: replace 'value_regex' with 'value_pattern'
878
+ - config: convert multi_replace to flags
879
+ (this branch is used by ds/maintenance-part-3.)
880
+
881
+ Various subcommands of "git config" that takes value_regex
882
+ learn the "--literal-value" option to take the value_regex option
883
+ as a literal string.
884
885
+ Expecting a (hopefully final) reroll.
886
716
-* mt/grep-sparse-checkout (2020-09-10) 9 commits
717
- - config: add setting to ignore sparsity patterns in some cmds
718
- - grep: honor sparse checkout patterns
719
- - config: correctly read worktree configs in submodules
720
- - config: make do_git_config_sequence receive a 'struct repository'
721
- - t/helper/test-config: unify exit labels
722
- - t/helper/test-config: diagnose missing arguments
723
- - t/helper/test-config: be consistent with exit codes
724
- - t1308-config-set: avoid false positives when using test-config
725
- - doc: grep: unify info on configuration variables
726
- (this branch is used by mt/rm-sparse-checkout.)
887
728
- "git grep" has been tweaked to be limited to the sparse checkout
729
- paths.
888
+* ds/maintenance-part-3 (2020-11-25) 2 commits
889
+ - maintenance: use 'git config --fixed-value'
890
+ - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
891
+ (this branch uses ds/config-literal-value.)
892
+
893
+ "git maintenance" command had trouble working in a directory whose
894
+ pathname contained an ERE metacharacter like '+'.
895
+
896
+ Blocked by ds/config-literal-value.
897
+
898
+
899
+* js/pull-rebase-use-advise (2020-11-19) 1 commit
900
+ (merged to 'next' on 2020-11-25 at 05db775119)
901
+ + pull: colorize the hint about setting `pull.rebase`
902
+
903
+ UI improvement.
904
+
905
+ Will merge to 'master'.
906
+
907
+
908
+* js/t1309-master-to-topic (2020-11-19) 1 commit
909
+ (merged to 'next' on 2020-11-25 at 044da285ef)
910
+ + t1309: use a neutral branch name in the `onbranch` test cases
911
+
912
+ Test preparation.
913
+
914
+ Will merge to 'master'.
915
731
---------------------------------------------------
732
-[Cooking]
916
734
-* ag/merge-strategies-in-c (2020-11-16) 12 commits
917
+* ag/merge-strategies-in-c (2020-11-24) 13 commits
918
- sequencer: use the "octopus" merge strategy without forking
919
- sequencer: use the "resolve" strategy without forking
920
- merge: use the "octopus" strategy without forking
@@ -743,11 +926,14 @@ Release tarballs are available at:
926
- merge-index: libify merge_one_path() and merge_all()
927
- merge-one-file: rewrite in C
928
- update-index: move add_cacheinfo() to read-cache.c
746
- - t6027: modernise tests
929
+ - t6060: modify multiple files to expose a possible issue with merge-index
930
+ - t6407: modernise tests
931
932
The resolve and octopus merge strategy backends have been rewritten
933
in C.
934
935
+ Needs review.
936
+
937
938
* ps/update-ref-multi-transaction (2020-11-16) 4 commits
939
- update-ref: disallow "start" for ongoing transactions
@@ -758,60 +944,7 @@ Release tarballs are available at:
944
"git update-ref --stdin" learns to take multiple transactions in a
945
single session.
946
761
-
762
-* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits
763
- (merged to 'next' on 2020-11-18 at 4241203041)
764
- + completion: bash: improve alias loop detection
765
- (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
766
- + completion: bash: check for alias loop
767
- + completion: bash: support recursive aliases
768
-
769
- The command line completion script (in contrib/) learned to expand
770
- commands that are alias of alias.
771
-
772
- Will merge to 'master'.
773
-
774
-
775
-* jk/rev-parse-end-of-options (2020-11-10) 3 commits
776
- (merged to 'next' on 2020-11-11 at 2d517d1608)
777
- + rev-parse: handle --end-of-options
778
- + rev-parse: put all options under the "-" check
779
- + rev-parse: don't accept options after dashdash
780
-
781
- "git rev-parse" learned the "--end-of-options" to help scripts to
782
- safely take a parameter that is supposed to be a revision, e.g.
783
- "git rev-parse --verify -q --end-of-options $rev".
784
-
785
- Will merge to 'master'.
786
-
787
-
788
-* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
789
- - completion: bash: shuffle __gitcomp functions
790
- - completion: bash: cleanup __gitcomp* invocations
791
- - completion: bash: add __gitcomp_opts
792
- - completion: bash: improve __gitcomp description
793
- - completion: bash: rename _get_comp_words_by_ref()
794
- - completion: bash: trivial cleanup
795
- - completion: bash: cleanup _get_comp_words_by_ref()
796
- - completion: bash: refactor _get_comp_words_by_ref()
797
- - completion: bash: simplify _get_comp_words_by_ref()
798
- - test: completion: switch __gitcomp_nl prefix test
799
- - completion: bash: simplify config_variable_name
800
- - completion: bash: improve __gitcomp suffix code
801
- - completion: bash: change suffix check in __gitcomp
802
- - completion: bash: simplify __gitcomp
803
- - completion: bash: refactor __gitcomp
804
- - completion: bash: simplify equal suffix check
805
- - completion: bash: factor out check in __gitcomp
806
- - completion: bash: get rid of any non-append code
807
- - completion: bash: get rid of _append() functions
808
- - completion: bash: remove non-append functionality
809
- - test: completion: add run_func() helper
810
- - test: completion: fix currently typed words
811
- - completion: bash: do not modify COMP_WORDBREAKS
812
- - completion: bash: fix for suboptions with value
813
- - completion: bash: add correct suffix in variables
814
- - completion: bash: fix prefix detection in branch.*
947
+ Will merge to 'next'.
948
949
950
* js/add-i-color-fix (2020-11-16) 11 commits
@@ -830,25 +963,8 @@ Release tarballs are available at:
963
"git add -i" failed to honor custom colors configured to show
964
patches, which has been corrected.
965
833
-
834
-* ab/config-mak-uname-simplify (2020-11-11) 2 commits
835
- (merged to 'next' on 2020-11-12 at e1bd51ee71)
836
- + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
837
- + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
838
-
839
- Build configuration cleanup.
840
-
841
- Will merge to 'master'.
842
-
843
-
844
-* pd/mergetool-nvimdiff (2020-11-11) 2 commits
845
- (merged to 'next' on 2020-11-12 at aff20da3a2)
846
- + mergetool: avoid letting `list_tool_variants` break user-defined setups
847
- + mergetools/bc: add `bc4` to the alias list for Beyond Compare
848
-
849
- Fix regression introduced when nvimdiff support in mergetool was added.
850
-
851
- Will merge to 'master'.
966
+ Will merge to 'next'.
967
+ cf. <20201117015149.GC19433@coredump.intra.peff.net>
968
969
970
* js/trace2-session-id (2020-11-11) 11 commits
@@ -867,40 +983,10 @@ Release tarballs are available at:
983
The transport layer was taught to optionally exchange the session
984
ID assigned by the trace2 subsystem during fetch/push transactions.
985
870
-
871
-* so/log-diff-merge (2020-11-09) 27 commits
872
- - doc/git-show: include --diff-merges description
873
- - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
874
- - doc/diff-generate-patch: mention new --diff-merges option
875
- - doc/git-log: describe new --diff-merges options
876
- - t4013: add test for --diff-merges=first-parent
877
- - diff-merges: implement new values for --diff-merges
878
- - diff-merges: make -m/-c/--cc explicitly mutually exclusive
879
- - diff-merges: refactor opt settings into separate functions
880
- - diff-merges: get rid of now empty diff_merges_init_revs()
881
- - diff-merges: group diff-merge flags next to each other inside 'rev_info'
882
- - diff-merges: split 'ignore_merges' field
883
- - diff-merges: fix -m to properly override -c/--cc
884
- - t4013: add tests for -m failing to override -c/--cc
885
- - t4013: support test_expect_failure through ':failure' magic
886
- - diff-merges: revise revs->diff flag handling
887
- - diff-merges: introduce revs->first_parent_merges flag
888
- - diff-merges: new function diff_merges_set_dense_combined_if_unset()
889
- - diff-merges: new function diff_merges_suppress()
890
- - diff-merges: re-arrange functions to match the order they are called in
891
- - diff-merges: rename diff_merges_default_to_enable() to match semantics
892
- - diff-merges: move checks for first_parent_only out of the module
893
- - diff-merges: rename all functions to have common prefix
894
- - revision: move diff merges functions to its own diff-merges.c
895
- - revision: provide implementation for diff merges tweaks
896
- - revision: factor out initialization of diff-merge related settings
897
- - revision: factor out setup of diff-merge related settings
898
- - revision: factor out parsing of diff-merge related options
899
-
900
- "git log" learned a new "--diff-merges=<how>" option.
986
+ Will merge to 'next'.
987
988
903
-* ds/maintenance-part-4 (2020-11-04) 4 commits
989
+* ds/maintenance-part-4 (2020-11-24) 4 commits
990
- maintenance: use Windows scheduled tasks
991
- maintenance: use launchctl on macOS
992
- maintenance: include 'cron' details in docs
@@ -911,77 +997,6 @@ Release tarballs are available at:
997
methods are not 'cron'.
998
999
914
-* en/merge-ort-impl (2020-11-11) 21 commits
915
- - merge-ort: free data structures in merge_finalize()
916
- - merge-ort: add implementation of record_unmerged_index_entries()
917
- - tree: enable cmp_cache_name_compare() to be used elsewhere
918
- - merge-ort: add implementation of checkout()
919
- - merge-ort: basic outline for merge_switch_to_result()
920
- - merge-ort: step 3 of tree writing -- handling subdirectories as we go
921
- - merge-ort: step 2 of tree writing -- function to create tree object
922
- - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
923
- - merge-ort: have process_entries operate in a defined order
924
- - merge-ort: add a preliminary simple process_entries() implementation
925
- - merge-ort: avoid recursing into identical trees
926
- - merge-ort: record stage and auxiliary info for every path
927
- - merge-ort: compute a few more useful fields for collect_merge_info
928
- - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
929
- - merge-ort: implement a very basic collect_merge_info()
930
- - merge-ort: add an err() function similar to one from merge-recursive
931
- - merge-ort: use histogram diff
932
- - merge-ort: port merge_start() from merge-recursive
933
- - merge-ort: add some high-level algorithm structure
934
- - merge-ort: setup basic internal data structures
935
- - Merge branch 'en/strmap' into en/merge-ort-impl
936
- (this branch uses en/strmap.)
937
-
938
-
939
-* jc/format-patch-name-max (2020-11-09) 1 commit
940
- (merged to 'next' on 2020-11-11 at 17e19bb17a)
941
- + format-patch: make output filename configurable
942
-
943
- The maximum length of output filenames "git format-patch" creates
944
- has become configurable (used to be capped at 64).
945
-
946
- Will merge to 'master'.
947
-
948
-
949
-* jk/diff-release-filespec-fix (2020-11-11) 2 commits
950
- (merged to 'next' on 2020-11-12 at 3b21625881)
951
- + t7800: simplify difftool test
952
- (merged to 'next' on 2020-11-09 at 6d89b9602d)
953
- + diff: allow passing NULL to diff_free_filespec_data()
954
- (this branch is used by js/default-branch-name-tests-final-stretch.)
955
-
956
- Running "git diff" while allowing external diff in a state with
957
- unmerged paths used to segfault, which has been corrected.
958
-
959
- Will merge to 'master'.
960
-
961
-
962
-* jx/t5411-flake-fix (2020-11-11) 3 commits
963
- (merged to 'next' on 2020-11-18 at badb1fefe5)
964
- + receive-pack: use default version 0 for proc-receive
965
- + receive-pack: gently write messages to proc-receive
966
- + t5411: new helper filter_out_user_friendly_and_stable_output
967
-
968
- The exchange between receive-pack and proc-receive hook did not
969
- carefully check for errors.
970
-
971
- Will merge to 'master'.
972
-
973
-
974
-* av/fsmonitor-cleanup (2020-10-21) 2 commits
975
- - fsmonitor: make output of test-dump-fsmonitor more concise
976
- - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
977
-
978
- Code clean-up.
979
-
980
- Will discard.
981
- Unneeded?
982
- cf. <20201022183822.GA781760@nand.local>
983
-
984
-
1000
* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-10-26) 1 commit
1001
- diff: do not show submodule with untracked files as "-dirty"
1002
@@ -994,31 +1009,6 @@ Release tarballs are available at:
1009
Needs doc update and also adjusting "git status".
1010
1011
997
-* en/strmap (2020-11-11) 15 commits
998
- (merged to 'next' on 2020-11-12 at 41519a5f5c)
999
- + shortlog: use strset from strmap.h
1000
- + Use new HASHMAP_INIT macro to simplify hashmap initialization
1001
- + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
1002
- + strmap: enable allocations to come from a mem_pool
1003
- + strmap: add a strset sub-type
1004
- + strmap: split create_entry() out of strmap_put()
1005
- + strmap: add functions facilitating use as a string->int map
1006
- + strmap: enable faster clearing and reusing of strmaps
1007
- + strmap: add more utility functions
1008
- + strmap: new utility functions
1009
- + hashmap: provide deallocation function names
1010
- + hashmap: introduce a new hashmap_partial_clear()
1011
- + hashmap: allow re-use after hashmap_free()
1012
- + hashmap: adjust spacing to fix argument alignment
1013
- + hashmap: add usage documentation explaining hashmap_free[_entries]()
1014
- (this branch is used by en/merge-ort-impl.)
1015
-
1016
- A speciailization of hashmap that uses a string as key has been
1017
- introduced. Hopefully it will see wider use over time.
1018
-
1019
- Will merge to 'master'.
1020
-
1021
-
1012
* ak/corrected-commit-date (2020-10-08) 10 commits
1013
- doc: add corrected commit date info
1014
- commit-reach: use corrected commit dates in paint_down_to_common()
@@ -1058,3 +1048,36 @@ Release tarballs are available at:
1048
"git push" learns a way to tell an object that it expects the other
1049
side to have and is usable as a common ancestor, which can be used
1050
by the other side to shrink its initial ref advertisement.
1051
+
1052
+
1053
+* rs/chdir-notify-unleak (2020-11-16) 1 commit
1054
+ . chdir-notify: UNLEAK registrated callback entries
1055
+
1056
+ Mark some stuff on list_head chain with UNLEAK() macro to squelch
1057
+ leak checker.
1058
+
1059
+ Retracted.
1060
+ cf. <3b2afb7a-57aa-025c-806f-ae3faa0ed077@web.de>
1061
+
1062
+
1063
+* av/fsmonitor-cleanup (2020-10-21) 2 commits
1064
+ . fsmonitor: make output of test-dump-fsmonitor more concise
1065
+ . fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
1066
+
1067
+ Code clean-up.
1068
+
1069
+ Unneeded?
1070
+ cf. <20201022183822.GA781760@nand.local>
1071
+
1072
+
1073
+* jc/init-doc-default-branch (2020-11-18) 1 commit
1074
+ . "init" doc: mention the configurability more clearly
1075
+
1076
+ Doc update.
1077
+
1078
+
1079
+* ds/treeless-clone-wo-submodule-recursing (2020-11-21) 1 commit
1080
+ . clone: --filter=tree:0 implies fetch.recurseSubmodules=no
1081
+
1082
+ Retracted.
1083
+ cf. <8a31af0e-4440-d957-11fb-48c4d2abd5c7@gmail.com>