What's cooking (2020/11 #04)
Junio C Hamano committed
Nov 19, 2020 at 17:03 UTC
2ebbdb5b67eb780b1490d8c3c9c5b16faeecfa92
1 file changed
+583
-395
whats-cooking.txt
+583
-395
@@ -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, #03; Wed, 11)
4
-X-master-at: e31aba42fb12bdeb0f850829e008e1e3f43af500
5
-X-next-at: 0fa62a7daddba87a59a9564aaffb6655a191a679
3
+Subject: What's cooking in git.git (Nov 2020, #04; Thu, 19)
4
+X-master-at: faefdd61ec7c7f6f3c8c9907891465ac9a2a1475
5
+X-next-at: 04529851e543a22b6ba47fbb72737de4c325bb07
6
7
-What's cooking in git.git (Nov 2020, #03; Wed, 11)
7
+What's cooking in git.git (Nov 2020, #04; Thu, 19)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,7 +12,9 @@ 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 fifth batch of topics have been merged to 'master'.
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.
18
19
Copies of the source code to Git live in many repositories, and the
20
following is a list of the ones I push into. Some repositories have
@@ -44,216 +46,505 @@ Release tarballs are available at:
46
--------------------------------------------------
47
[Graduated to 'master']
48
47
-* cw/ci-ghwf-check-ws-errors (2020-11-03) 1 commit
48
- (merged to 'next' on 2020-11-04 at dc1121823c)
49
- + ci: make the whitespace checker more robust
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
51
- Dev support update.
61
+ Parts of "git maintenance" to ease writing crontab entries (and
62
+ other scheduling system configuration) for it.
63
64
54
-* jc/abbrev-doc (2020-11-04) 1 commit
55
- (merged to 'next' on 2020-11-09 at 09efe81b8b)
56
- + doc: clarify that --abbrev=<n> is about the minimum length
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
68
58
- The documentation on the "--abbrev=<n>" option did not say the
59
- output may be longer than "<n>" hexdigits, which has been
60
- clarified.
69
+ "git fetch --depth=<n>" over the stateless RPC / smart HTTP
70
+ transport handled EOF from the client poorly at the server end.
71
72
63
-* jc/sequencer-stopped-sha-simplify (2020-10-21) 1 commit
64
- (merged to 'next' on 2020-11-02 at ba3dd9eaf4)
65
- + sequencer: tolerate abbreviated stopped-sha file
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
78
67
- Recently the format of an internal state file "rebase -i" uses has
68
- been tightened up for consistency, which would hurt those who start
69
- "rebase -i" with old git and then continue with new git. Loosen
70
- the reader side a bit (which we may want to tighten again in a year
71
- or so).
79
+ Define ARM64 compiled with MSVC to be little-endian.
80
81
74
-* js/ci-github-set-env (2020-11-06) 1 commit
75
- (merged to 'next' on 2020-11-09 at c4ce007b4c)
76
- + ci: avoid using the deprecated `set-env` construct
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.)
89
78
- CI update.
90
+ Preparation for a new merge strategy.
91
92
81
-* js/p4-default-branch (2020-11-09) 1 commit
82
- (merged to 'next' on 2020-11-09 at a4b08b45da)
83
- + p4: respect init.defaultBranch
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
104
+
105
+ Preparation for a new merge strategy.
106
85
- "git p4" now honors init.defaultBranch configuration.
107
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
111
+
112
+ "git blame --ignore-revs-file=<file>" learned to ignore a
113
+ non-existent object name in the input, instead of complaining.
114
88
-* js/test-file-size (2020-11-06) 1 commit
89
- (merged to 'next' on 2020-11-09 at b3594d0150)
90
- + tests: consolidate the `file_size` function into `test-lib-functions.sh`
115
92
- Test clean-up.
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
119
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.
123
95
-* js/test-whitespace-fixes (2020-11-09) 6 commits
96
- (merged to 'next' on 2020-11-09 at 383388929a)
97
- + t9603: use tabs for indentation
98
- + t5570: remove trailing padding
99
- + t5400,t5402: consistently indent with tabs, not with spaces
100
- + t3427: adjust stale comment
101
- + t3406: indent with tabs, not spaces
102
- + t1004: insert missing "branch" in a message
124
104
- Test code clean-up.
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
128
129
+ "make DEVELOPER=1 sparse" used to run sparse and let it emit
130
+ warnings; now such warnings will cause an error.
131
107
-* mc/typofix (2020-11-05) 1 commit
108
- (merged to 'next' on 2020-11-09 at ed6106b6e3)
109
- + doc: fixing two trivial typos in Documentation/
132
111
- Docfix.
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
138
139
+ "git format-patch --output=there" did not work as expected and
140
+ instead crashed. The option is now supported.
141
114
-* rs/clear-commit-marks-in-repo (2020-10-31) 2 commits
115
- (merged to 'next' on 2020-11-04 at cb1e1d73cf)
116
- + bisect: clear flags in passed repository
117
- + object: allow clear_commit_marks_all to handle any repo
142
119
- Code clean-up.
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)
149
150
+ Prepare a test script to transition of the default branch name to
151
+ 'main'.
152
122
-* rs/pack-write-hashwrite-simplify (2020-11-01) 1 commit
123
- (merged to 'next' on 2020-11-04 at 7194d3e811)
124
- + pack-write: use hashwrite_be32() instead of double-buffering array
153
126
- Code clean-up.
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
166
167
+ Add t/perf support for fsmonitor.
168
129
-* rs/worktree-list-show-locked (2020-11-03) 1 commit
130
- (merged to 'next' on 2020-11-04 at 5f4fa51a91)
131
- + t2402: fix typo
169
133
- Typofix.
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'
180
181
+ "git blame -L :funcname -- path" did not work well for a path for
182
+ which a userdiff driver is defined.
183
136
-* sd/prompt-local-variable (2020-11-01) 1 commit
137
- (merged to 'next' on 2020-11-04 at ddc4192867)
138
- + git-prompt.sh: localize `option` in __git_ps1_show_upstream
184
140
- Code clean-up.
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
191
+
192
+ "git rebase -i" did not store ORIG_HEAD correctly.
193
+ cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
194
+
195
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
199
143
-* so/format-patch-doc-on-default-diff-format (2020-10-31) 1 commit
144
- (merged to 'next' on 2020-11-04 at 692e0b2f7a)
145
- + doc/diff-options: fix out of place mentions of '--patch/-p'
200
+ "git archive" now allows compression level higher than "-9"
201
+ when generating tar.gz output.
202
147
- Docfix.
203
+
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
207
+
208
+ The code to see if "git stash drop" can safely remove refs/stash
209
+ has been made more carerful.
210
211
--------------------------------------------------
212
[New Topics]
213
152
-* ps/update-ref-multi-transaction (2020-11-10) 4 commits
153
- - update-ref: disallow "start" for ongoing transactions
154
- - p1400: use `git-update-ref --stdin` to test multiple transactions
155
- - update-ref: allow creation of multiple transactions
156
- - t1400: avoid touching refs on filesystem
214
+* rs/hashwrite-be64 (2020-11-12) 3 commits
215
+ (merged to 'next' on 2020-11-18 at 60385c6fa1)
216
+ + pack-write: use hashwrite_be64()
217
+ + midx: use hashwrite_be64()
218
+ + csum-file: add hashwrite_be64()
219
158
- "git update-ref --stdin" learns to take multiple transactions in a
159
- single session.
220
+ Code simplification.
221
222
+ Will merge to 'master'.
223
162
-* fc/bash-completion-alias-of-alias (2020-11-09) 2 commits
163
- (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
164
- + completion: bash: check for alias loop
165
- + completion: bash: support recursive aliases
224
167
- The command line completion script (in contrib/) learned to expand
168
- commands that are alias of alias.
225
+* sg/bisect-approximately-halfway (2020-11-12) 1 commit
226
+ (merged to 'next' on 2020-11-18 at b13026a0f3)
227
+ + bisect: loosen halfway() check for a large number of commits
228
+
229
+ "git bisect start/next" in a large span of history spends a lot of
230
+ time trying to come up with exactly the half-way point; this can be
231
+ optimized by stopping when we see a commit that is close enough to
232
+ the half-way point.
233
234
Will merge to 'master'.
235
236
173
-* jc/blame-ignore-fix (2020-11-10) 1 commit
174
- (merged to 'next' on 2020-11-10 at 384ace449d)
175
- + blame: silently ignore invalid ignore file objects
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'.
275
177
- "git blame --ignore-revs-file=<file>" learned to ignore a
178
- non-existent object name in the input, instead of complaining.
276
+
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
284
+
285
+ The code was not prepared to deal with pack .idx file that is
286
+ larger than 4GB.
287
288
Will merge to 'master'.
289
290
183
-* jk/rev-parse-end-of-options (2020-11-10) 3 commits
184
- (merged to 'next' on 2020-11-11 at 2d517d1608)
185
- + rev-parse: handle --end-of-options
186
- + rev-parse: put all options under the "-" check
187
- + rev-parse: don't accept options after dashdash
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
294
189
- "git rev-parse" learned the "--end-of-options" to help scripts to
190
- safely take a parameter that is supposed to be a revision, e.g.
191
- "git rev-parse --verify -q --end-of-options $rev".
295
+ Error message fix.
296
297
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
196
-* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
197
- - completion: bash: shuffle __gitcomp functions
198
- - completion: bash: cleanup __gitcomp* invocations
199
- - completion: bash: add __gitcomp_opts
200
- - completion: bash: improve __gitcomp description
201
- - completion: bash: rename _get_comp_words_by_ref()
202
- - completion: bash: trivial cleanup
203
- - completion: bash: cleanup _get_comp_words_by_ref()
204
- - completion: bash: refactor _get_comp_words_by_ref()
205
- - completion: bash: simplify _get_comp_words_by_ref()
206
- - test: completion: switch __gitcomp_nl prefix test
207
- - completion: bash: simplify config_variable_name
208
- - completion: bash: improve __gitcomp suffix code
209
- - completion: bash: change suffix check in __gitcomp
210
- - completion: bash: simplify __gitcomp
211
- - completion: bash: refactor __gitcomp
212
- - completion: bash: simplify equal suffix check
213
- - completion: bash: factor out check in __gitcomp
214
- - completion: bash: get rid of any non-append code
215
- - completion: bash: get rid of _append() functions
216
- - completion: bash: remove non-append functionality
217
- - test: completion: add run_func() helper
218
- - test: completion: fix currently typed words
219
- - completion: bash: do not modify COMP_WORDBREAKS
220
- - completion: bash: fix for suboptions with value
221
- - completion: bash: add correct suffix in variables
222
- - completion: bash: fix prefix detection in branch.*
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
225
-* js/add-i-color-fix (2020-11-11) 11 commits
226
- - add -i: verify in the tests that colors can be overridden
227
- - add -p: prefer color.diff.context over color.diff.plain
228
- - add -i (Perl version): include indentation in the colored header
229
- - add -i (built-in): use the same indentation as the Perl version
230
- - add -p (built-in): do not color the progress indicator separately
231
- - add -i (built-in): use correct names to load color.diff.* config
232
- - add -i (built-in): prevent the `reset` "color" from being configured
233
- - add -i: use `reset_color` consistently
234
- - add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
235
- - add -i (built-in): send error messages to stderr
236
- - add -i (built-in): do show an error message for incorrect inputs
309
238
- "git add -i" failed to honor custom colors configured to show
239
- patches, which has been corrected.
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
315
241
- The last step may want to be polished further.
242
- cf. <20201111023549.GB806755@coredump.intra.peff.net>
316
+ "git pull --rebase --recurse-submodules" checked for local changes
317
+ in a wrong range and failed to run correctly when it should.
318
319
+ Will merge to 'next'.
320
245
-* ab/config-mak-uname-simplify (2020-11-11) 2 commits
246
- - config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
247
- - config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
321
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
325
250
-* pd/mergetool-nvimdiff (2020-11-11) 2 commits
251
- - mergetool: avoid letting `list_tool_variants` break user-defined setups
252
- - mergetools/bc: add `bc4` to the alias list for Beyond Compare
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.
329
+
330
+ Will merge to 'master'.
331
+
332
+
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
336
+
337
+ Memleak fix.
338
+
339
+ Will merge to 'master'.
340
+
341
+
342
+* rs/chdir-notify-unleak (2020-11-16) 1 commit
343
+ - chdir-notify: UNLEAK registrated callback entries
344
+
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.
355
+
356
+ Will merge to 'next'.
357
+
358
+
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
362
+
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.
366
+
367
+ Will merge to 'master'.
368
+
369
+
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()
374
+
375
+ Simplify the logic to deal with a repack operation that ended up
376
+ creating the same packfile.
377
+
378
+ Will merge to 'next'.
379
+
380
+
381
+* dd/help-autocorrect-never (2020-11-18) 1 commit
382
+ - help.c: allow help.autocorrect to say "do not even compute suggestions"
383
+
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'.
391
+
392
+
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
396
+
397
+ Another CI adjustment.
398
+
399
+ Will merge to 'master'.
400
+
401
+
402
+* jc/init-doc-default-branch (2020-11-18) 1 commit
403
+ - "init" doc: mention the configurability more clearly
404
+
405
+ Doc update.
406
+
407
+ Weatherbaloon.
408
+
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
450
+
451
+ A test script got cleaned up and then made not to depend on the
452
+ value of init.defaultBranch.
453
+
454
+ Will merge to 'next'.
455
+
456
+
457
+* js/t3040-cleanup (2020-11-18) 1 commit
458
+ - t3040: remove stale note
459
+
460
+ Cleanup.
461
+
462
+ Will merge to 'next'.
463
+
464
+
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'.
472
+
473
+
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()
477
+
478
+ Fix broken sorting of maintenance tasks.
479
+
480
+ Will merge to 'master'.
481
+
482
+
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
486
+
487
+ A lazily defined test prerequisite can now be defined in terms of
488
+ another lazily defined test prerequisite.
489
+
490
+ Will merge to 'next'.
491
+
492
+
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.)
501
+
502
+
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.)
507
+
508
+ "git maintenance" command had trouble working in a directory whose
509
+ pathname contained an ERE metacharacter like '+'.
510
+
511
+ Will merge to 'next'.
512
+
513
+
514
+* js/pull-rebase-use-advise (2020-11-19) 1 commit
515
+ - pull: colorize the hint about setting `pull.rebase`
516
+
517
+
518
+* js/t1309-master-to-topic (2020-11-19) 1 commit
519
+ - t1309: use a neutral branch name in the `onbranch` test cases
520
521
--------------------------------------------------
522
[Stalled]
523
524
+* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
525
+ (merged to 'next' on 2020-10-26 at c1dd37b024)
526
+ + docs: document symlink restrictions for .git* files
527
+ + fsck: complain when .gitattributes or .gitignore is a symlink
528
+ + verify_path(): disallow symlinks in .gitattributes and .gitignore
529
+ + t0060: test obscured .gitattributes and .gitignore matching
530
+ + t7450: test .gitmodules symlink matching against obscured names
531
+ + t7450: test verify_path() handling of gitmodules
532
+ + t7415: rename to expand scope
533
+ + fsck_tree(): wrap some long lines
534
+ + fsck_tree(): fix shadowed variable
535
+
536
+ Originally merged to 'next' on 2020-10-23
537
+
538
+ "git fsck" and the corresponding check done during the transport
539
+ learned to ensure that in-tree files like `.gitignore` and
540
+ `.gitattributes` are not symbolic links.
541
+
542
+ It seems that there are real projects with .gitignore recorded as
543
+ symlinks, which may need to loosen the fsck setting. Do we need to
544
+ introduce a class that is separate from symlinked .gitmodules that
545
+ probably is with potential consequences that is more/less grave?
546
+
547
+
548
* es/config-hooks (2020-10-16) 8 commits
549
- hook: replace find_hook() with hook_exists()
550
- hook: add 'run' subcommand
@@ -267,26 +558,6 @@ Release tarballs are available at:
558
The "hooks defined in config" topic.
559
560
270
-* ag/merge-strategies-in-c (2020-10-06) 11 commits
271
- . sequencer: use the "octopus" merge strategy without forking
272
- . sequencer: use the "resolve" strategy without forking
273
- . merge: use the "octopus" strategy without forking
274
- . merge: use the "resolve" strategy without forking
275
- . merge-octopus: rewrite in C
276
- . merge-recursive: move better_branch_name() to merge.c
277
- . merge-resolve: rewrite in C
278
- . merge-index: don't fork if the requested program is `git-merge-one-file'
279
- . merge-index: libify merge_one_path() and merge_all()
280
- . merge-one-file: rewrite in C
281
- . t6027: modernise tests
282
-
283
- The resolve and octopus merge strategy backends have been rewritten
284
- in C.
285
-
286
- Expecting an update.
287
- cf.<693f417c-5612-7878-a055-2810f62af3b4@gmail.com>
288
-
289
-
561
* hn/reftable (2020-10-01) 13 commits
562
. reftable: "test-tool dump-reftable" command.
563
. reftable: rest of library
@@ -452,67 +723,151 @@ Release tarballs are available at:
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.)
727
728
"git grep" has been tweaked to be limited to the sparse checkout
729
paths.
730
459
---------------------------------------------------
460
-[Cooking]
731
+--------------------------------------------------
732
+[Cooking]
733
+
734
+* ag/merge-strategies-in-c (2020-11-16) 12 commits
735
+ - sequencer: use the "octopus" merge strategy without forking
736
+ - sequencer: use the "resolve" strategy without forking
737
+ - merge: use the "octopus" strategy without forking
738
+ - merge: use the "resolve" strategy without forking
739
+ - merge-octopus: rewrite in C
740
+ - merge-recursive: move better_branch_name() to merge.c
741
+ - merge-resolve: rewrite in C
742
+ - merge-index: don't fork if the requested program is `git-merge-one-file'
743
+ - merge-index: libify merge_one_path() and merge_all()
744
+ - merge-one-file: rewrite in C
745
+ - update-index: move add_cacheinfo() to read-cache.c
746
+ - t6027: modernise tests
747
+
748
+ The resolve and octopus merge strategy backends have been rewritten
749
+ in C.
750
+
751
+
752
+* ps/update-ref-multi-transaction (2020-11-16) 4 commits
753
+ - update-ref: disallow "start" for ongoing transactions
754
+ - p1400: use `git-update-ref --stdin` to test multiple transactions
755
+ - update-ref: allow creation of multiple transactions
756
+ - t1400: avoid touching refs on filesystem
757
+
758
+ "git update-ref --stdin" learns to take multiple transactions in a
759
+ single session.
760
+
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
462
-* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
463
- (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
464
- + upload-pack: allow stateless client EOF just prior to haves
774
466
- "git fetch --depth=<n>" over the stateless RPC / smart HTTP
467
- transport handled EOF from the client poorly at the server end.
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
472
-* js/trace2-session-id (2020-11-02) 11 commits
473
- - receive-pack: log received client trace2 SID
474
- - send-pack: advertise trace2 SID in capabilities
475
- - upload-pack, serve: log received client trace2 SID
476
- - fetch-pack: advertise trace2 SID in capabilities
477
- - transport: log received server trace2 SID
478
- - serve: advertise trace2 SID in v2 capabilities
479
- - receive-pack: advertise trace2 SID in v0 capabilities
480
- - upload-pack: advertise trace2 SID in v0 capabilities
481
- - trace2: add a public function for getting the SID
482
- - docs: new trace2.advertiseSID option
483
- - docs: new capability to advertise trace2 SIDs
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.*
815
485
- The transport layer was taught to optionally exchange the session
486
- ID assigned by the trace2 subsystem during fetch/push transactions.
816
817
+* js/add-i-color-fix (2020-11-16) 11 commits
818
+ - add -i: verify in the tests that colors can be overridden
819
+ - add -p: prefer color.diff.context over color.diff.plain
820
+ - add -i (Perl version): color header to match the C version
821
+ - add -i (built-in): use the same indentation as the Perl version
822
+ - add -p (built-in): do not color the progress indicator separately
823
+ - add -i (built-in): use correct names to load color.diff.* config
824
+ - add -i (built-in): prevent the `reset` "color" from being configured
825
+ - add -i: use `reset_color` consistently
826
+ - add -p (built-in): imitate `xdl_format_hunk_hdr()` generating hunk headers
827
+ - add -i (built-in): send error messages to stderr
828
+ - add -i (built-in): do show an error message for incorrect inputs
829
489
-* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
490
- (merged to 'next' on 2020-11-10 at 8cfbe66736)
491
- + Makefile: enable -Wsparse-error for DEVELOPER build
830
+ "git add -i" failed to honor custom colors configured to show
831
+ patches, which has been corrected.
832
493
- "make DEVELOPER=1 sparse" used to run sparse and let it emit
494
- warnings; now such warnings will cause an error.
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
499
-* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
500
- (merged to 'next' on 2020-11-10 at 221bb3f773)
501
- + blame: simplify 'setup_blame_bloom_data' interface
502
- + blame: simplify 'setup_scoreboard' interface
503
- + blame: enable funcname blaming with userdiff driver
504
- + line-log: mention both modes in 'blame' and 'log' short help
505
- + doc: add more pointers to gitattributes(5) for userdiff
506
- + blame-options.txt: also mention 'funcname' in '-L' description
507
- + doc: line-range: improve formatting
508
- + doc: log, gitk: move '-L' description to 'line-range-options.txt'
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
510
- "git blame -L :funcname -- path" did not work well for a path for
511
- which a userdiff driver is defined.
849
+ Fix regression introduced when nvimdiff support in mergetool was added.
850
851
Will merge to 'master'.
852
853
854
+* js/trace2-session-id (2020-11-11) 11 commits
855
+ - receive-pack: log received client session ID
856
+ - send-pack: advertise session ID in capabilities
857
+ - upload-pack, serve: log received client session ID
858
+ - fetch-pack: advertise session ID in capabilities
859
+ - transport: log received server session ID
860
+ - serve: advertise session ID in v2 capabilities
861
+ - receive-pack: advertise session ID in v0 capabilities
862
+ - upload-pack: advertise session ID in v0 capabilities
863
+ - trace2: add a public function for getting the SID
864
+ - docs: new transfer.advertiseSID option
865
+ - docs: new capability to advertise session IDs
866
+
867
+ The transport layer was taught to optionally exchange the session
868
+ ID assigned by the trace2 subsystem during fetch/push transactions.
869
+
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
@@ -550,7 +905,6 @@ Release tarballs are available at:
905
- maintenance: use launchctl on macOS
906
- maintenance: include 'cron' details in docs
907
- maintenance: extract platform-specific scheduling
553
- (this branch uses ds/maintenance-part-3.)
908
909
Follow-up on the "maintenance part-3" which introduced scheduled
910
maintenance tasks to support platforms whose native scheduling
@@ -579,53 +933,7 @@ Release tarballs are available at:
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
582
- (this branch uses en/merge-ort-api-null-impl and en/strmap.)
583
-
584
-
585
-* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
586
- (merged to 'next' on 2020-11-09 at 568ba5aba5)
587
- + t5515: use `main` as the name of the main branch for testing (conclusion)
588
- + t5515: use `main` as the name of the main branch for testing (part 3)
589
- + t5515: use `main` as the name of the main branch for testing (part 2)
590
- + t5515: use `main` as the name of the main branch for testing (part 1)
591
-
592
- Prepare a test script to transition of the default branch name to
593
- 'main'.
594
-
595
- Will merge to 'master'.
596
-
597
-
598
-* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
599
- (merged to 'next' on 2020-11-09 at 47c2c88b9d)
600
- + log: diagnose -L used with pathspec as an error
601
-
602
- "git log -L<range>:<path>" is documented to take no pathspec, but
603
- this was not enforced by the command line option parser, which has
604
- been corrected.
605
-
606
- Will merge to 'master'.
607
-
608
-
609
-* jk/format-patch-output (2020-11-04) 3 commits
610
- (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
611
- + format-patch: support --output option
612
- + format-patch: tie file-opening logic to output_directory
613
- + format-patch: refactor output selection
614
-
615
- "git format-patch --output=there" did not work as expected and
616
- instead crashed. The option is now supported.
617
-
618
- Will merge to 'master'.
619
-
620
-
621
-* rs/empty-reflog-check-fix (2020-11-01) 1 commit
622
- (merged to 'next' on 2020-11-09 at 3da6b6fef0)
623
- + stash: simplify reflog emptiness check
624
-
625
- The code to see if "git stash drop" can safely remove refs/stash
626
- has been made more carerful.
627
-
628
- Will merge to 'master'.
936
+ (this branch uses en/strmap.)
937
938
939
* jc/format-patch-name-max (2020-11-09) 1 commit
@@ -639,45 +947,27 @@ Release tarballs are available at:
947
948
949
* jk/diff-release-filespec-fix (2020-11-11) 2 commits
642
- - t7800: simplify difftool test
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
649
- Will merge to 'next'.
959
+ Will merge to 'master'.
960
961
962
* jx/t5411-flake-fix (2020-11-11) 3 commits
653
- - receive-pack: use default version 0 for proc-receive
654
- - receive-pack: gently write messages to proc-receive
655
- - t5411: new helper filter_out_user_friendly_and_stable_output
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
660
- Will merge to 'next'?
661
-
662
-
663
-* dg/bswap-msvc (2020-11-11) 2 commits
664
- (merged to 'next' on 2020-11-11 at 6b9e819b17)
665
- + compat/bswap.h: don't assume MSVC is little-endian
666
- (merged to 'next' on 2020-11-09 at 91a67b86f7)
667
- + compat/bswap.h: simplify MSVC endianness detection
668
-
669
- Code simplification.
670
-
671
- Will merge to 'master'.
672
-
673
-
674
-* rs/archive-high-compression (2020-11-09) 1 commit
675
- (merged to 'next' on 2020-11-10 at 9bee80950e)
676
- + archive: support compression levels beyond 9
677
-
678
- "git archive" now allows compression level higher than "-9"
679
- when generating tar.gz output.
680
-
971
Will merge to 'master'.
972
973
@@ -692,36 +982,6 @@ Release tarballs are available at:
982
cf. <20201022183822.GA781760@nand.local>
983
984
695
-* en/merge-ort-api-null-impl (2020-11-02) 4 commits
696
- (merged to 'next' on 2020-11-10 at ed9eed1558)
697
- + merge,rebase,revert: select ort or recursive by config or environment
698
- + fast-rebase: demonstrate merge-ort's API via new test-tool command
699
- + merge-ort-wrappers: new convience wrappers to mimic the old merge API
700
- + merge-ort: barebones API of new merge strategy with empty implementation
701
- (this branch is used by en/merge-ort-impl.)
702
-
703
- Preparation for a new merge strategy.
704
-
705
- Will merge to 'master'.
706
-
707
-
708
-* en/merge-tests (2020-10-26) 9 commits
709
- (merged to 'next' on 2020-11-09 at 8ac9fe94a7)
710
- + t6423: add more details about direct resolution of directories
711
- + t6423: note improved ort handling with untracked files
712
- + t6423, t6436: note improved ort handling with dirty files
713
- + merge tests: expect slight differences in output for recursive vs. ort
714
- + t6423: expect improved conflict markers labels in the ort backend
715
- + t6404, t6423: expect improved rename/delete handling in ort backend
716
- + t6416: correct expectation for rename/rename(1to2) + directory/file
717
- + merge tests: expect improved directory/file conflict handling in ort
718
- + t/: new helper for tests that pass with ort but fail with recursive
719
-
720
- Preparation for a new merge strategy.
721
-
722
- Will merge to 'master'.
723
-
724
-
985
* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-10-26) 1 commit
986
- diff: do not show submodule with untracked files as "-dirty"
987
@@ -734,83 +994,29 @@ Release tarballs are available at:
994
Needs doc update and also adjusting "git status".
995
996
737
-* nk/perf-fsmonitor (2020-10-26) 10 commits
738
- (merged to 'next' on 2020-11-09 at 9fed160a17)
739
- + t/perf/fsmonitor: add benchmark for dirty status
740
- + t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations
741
- + t/perf/fsmonitor: initialize test with git reset
742
- + t/perf/fsmonitor: factor setup for fsmonitor into function
743
- + t/perf/fsmonitor: silence initial git commit
744
- + t/perf/fsmonitor: shorten DESC to basename
745
- + t/perf/fsmonitor: factor description out for readability
746
- + t/perf/fsmonitor: improve error message if typoing hook name
747
- + t/perf/fsmonitor: move watchman setup to one-time-repo-setup
748
- + t/perf/fsmonitor: separate one time repo initialization
749
-
750
- Add t/perf support for fsmonitor.
751
-
752
- Will merge to 'master'.
753
-
754
-
755
-* pw/rebase-i-orig-head (2020-11-04) 4 commits
756
- (merged to 'next' on 2020-11-10 at 038a5295f5)
757
- + rebase -i: simplify get_revision_ranges()
758
- + rebase -i: use struct object_id when writing state
759
- + rebase -i: use struct object_id rather than looking up commit
760
- + rebase -i: stop overwriting ORIG_HEAD buffer
761
-
762
- "git rebase -i" did not store ORIG_HEAD correctly.
763
-
764
- Will merge to 'master'.
765
- cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
766
-
767
-
997
* en/strmap (2020-11-11) 15 commits
769
- - shortlog: use strset from strmap.h
770
- - Use new HASHMAP_INIT macro to simplify hashmap initialization
771
- - strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
772
- - strmap: enable allocations to come from a mem_pool
773
- - strmap: add a strset sub-type
774
- - strmap: split create_entry() out of strmap_put()
775
- - strmap: add functions facilitating use as a string->int map
776
- - strmap: enable faster clearing and reusing of strmaps
777
- - strmap: add more utility functions
778
- - strmap: new utility functions
779
- - hashmap: provide deallocation function names
780
- - hashmap: introduce a new hashmap_partial_clear()
781
- - hashmap: allow re-use after hashmap_free()
782
- - hashmap: adjust spacing to fix argument alignment
783
- - hashmap: add usage documentation explaining hashmap_free[_entries]()
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
789
- Will merge to 'next'.
790
-
791
-
792
-* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
793
- (merged to 'next' on 2020-10-26 at c1dd37b024)
794
- + docs: document symlink restrictions for .git* files
795
- + fsck: complain when .gitattributes or .gitignore is a symlink
796
- + verify_path(): disallow symlinks in .gitattributes and .gitignore
797
- + t0060: test obscured .gitattributes and .gitignore matching
798
- + t7450: test .gitmodules symlink matching against obscured names
799
- + t7450: test verify_path() handling of gitmodules
800
- + t7415: rename to expand scope
801
- + fsck_tree(): wrap some long lines
802
- + fsck_tree(): fix shadowed variable
803
-
804
- Originally merged to 'next' on 2020-10-23
805
-
806
- "git fsck" and the corresponding check done during the transport
807
- learned to ensure that in-tree files like `.gitignore` and
808
- `.gitattributes` are not symbolic links.
809
-
810
- It seems that there are real projects with .gitignore recorded as
811
- symlinks, which may need to loosen the fsck setting. Do we need
812
- to introduce a class that is separate from symlinked .gitmodules
813
- that probably is with potential consequences that is more grave?
1019
+ Will merge to 'master'.
1020
1021
1022
* ak/corrected-commit-date (2020-10-08) 10 commits
@@ -833,24 +1039,6 @@ Release tarballs are available at:
1039
cf. <685afed6-f01f-5d22-80d4-00fdc11caf0a@gmail.com>
1040
cf. <20201103053629.GA13228@Abhishek-Arch>
1041
836
-
837
-* ds/maintenance-part-3 (2020-10-16) 8 commits
838
- (merged to 'next' on 2020-11-10 at fe9475c696)
839
- + maintenance: add troubleshooting guide to docs
840
- + maintenance: use 'incremental' strategy by default
841
- + maintenance: create maintenance.strategy config
842
- + maintenance: add start/stop subcommands
843
- + maintenance: add [un]register subcommands
844
- + for-each-repo: run subcommands on configured repos
845
- + maintenance: add --schedule option and config
846
- + maintenance: optionally skip --auto process
847
- (this branch is used by ds/maintenance-part-4.)
848
-
849
- Parts of "git maintenance" to ease writing crontab entries (and
850
- other scheduling system configuration) for it.
851
-
852
- Will merge to 'master'.
853
-
1042
--------------------------------------------------
1043
[Discarded]
1044