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