What's cooking (2021/07 #04)

Junio C Hamano committed Jul 19, 2021 at 13:57 UTC 0d156e9f5297f36a1d9f6d1589850fff57672f40
1 file changed +336 -479
whats-cooking.txt
+336 -479
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2021, #03; Tue, 13)
4 -X-master-at: 75ae10bc75336db031ee58d13c5037b929235912
5 -X-next-at: abb21c7263616f01c5e950861a29279ab21cb02f
3 +Subject: What's cooking in git.git (Jul 2021, #04; Mon, 19)
4 +X-master-at: daab8a564f8bbac55f70f8bf86c070e001a9b006
5 +X-next-at: 1bb01aad6fdafaac7a11bed18a67384f28ab735b
6
7 -What's cooking in git.git (Jul 2021, #03; Tue, 13)
7 +What's cooking in git.git (Jul 2021, #04; Mon, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -49,229 +49,287 @@ Release tarballs are available at:
49 --------------------------------------------------
50 [Graduated to 'master']
51
52 -* ab/describe-tests-fix (2021-05-11) 5 commits
53 - (merged to 'next' on 2021-07-06 at ba1f7c0364)
54 - + describe tests: support -C in "check_describe"
55 - + describe tests: fix nested "test_expect_success" call
56 - + describe tests: don't rely on err.actual from "check_describe"
57 - + describe tests: refactor away from glob matching
58 - + describe tests: improve test for --work-tree & --dirty
59 -
60 - Various updates to tests around "git describe"
61 -
62 -
63 -* ab/pickaxe-pcre2 (2021-05-11) 22 commits
64 - (merged to 'next' on 2021-07-06 at fdb4fdc245)
65 - + xdiff-interface: replace discard_hunk_line() with a flag
66 - + xdiff users: use designated initializers for out_line
67 - + pickaxe -G: don't special-case create/delete
68 - + pickaxe -G: terminate early on matching lines
69 - + xdiff-interface: allow early return from xdiff_emit_line_fn
70 - + xdiff-interface: prepare for allowing early return
71 - + pickaxe -S: slightly optimize contains()
72 - + pickaxe: rename variables in has_changes() for brevity
73 - + pickaxe -S: support content with NULs under --pickaxe-regex
74 - + pickaxe: assert that we must have a needle under -G or -S
75 - + pickaxe: refactor function selection in diffcore-pickaxe()
76 - + perf: add performance test for pickaxe
77 - + pickaxe/style: consolidate declarations and assignments
78 - + diff.h: move pickaxe fields together again
79 - + pickaxe: die when --find-object and --pickaxe-all are combined
80 - + pickaxe: die when -G and --pickaxe-regex are combined
81 - + pickaxe tests: add missing test for --no-pickaxe-regex being an error
82 - + pickaxe tests: test for -G, -S and --find-object incompatibility
83 - + pickaxe tests: add test for "log -S" not being a regex
84 - + pickaxe tests: add test for diffgrep_consume() internals
85 - + pickaxe tests: refactor to use test_commit --append --printf
86 - + grep/pcre2 tests: reword comments referring to kwset
87 -
88 - Rewrite the backend for "diff -G/-S" to use pcre2 engine when
89 - available.
90 -
91 -
92 -* ab/pre-auto-gc-hook-test (2021-06-16) 1 commit
93 - (merged to 'next' on 2021-07-06 at 305a15ee1d)
94 - + gc tests: add a test for the "pre-auto-gc" hook
52 +* ab/bundle-updates (2021-07-06) 3 commits
53 + (merged to 'next' on 2021-07-08 at 0c9c54fad7)
54 + + bundle: remove "ref_list" in favor of string-list.c API
55 + + bundle.c: use a temporary variable for OIDs and names
56 + + bundle cmd: stop leaking memory from parse_options_cmd_bundle()
57
96 - Test fix.
58 + Code clean-up and leak plugging in "git bundle".
59 +
60 +
61 +* ab/fetch-negotiate-segv-fix (2021-07-08) 3 commits
62 + (merged to 'next' on 2021-07-08 at 30dcd90ea6)
63 + + fetch: fix segfault in --negotiate-only without --negotiation-tip=*
64 + + fetch: document the --negotiate-only option
65 + + send-pack.c: move "no refs in common" abort earlier
66 +
67 + Code recently added to support common ancestry negotiation during
68 + "git push" did not sanity check its arguments carefully enough.
69 +
70 +
71 +* ab/make-delete-on-error (2021-06-29) 1 commit
72 + (merged to 'next' on 2021-07-08 at 787d70d2d6)
73 + + Makefile: add and use the ".DELETE_ON_ERROR" flag
74 +
75 + Use ".DELETE_ON_ERROR" pseudo target to simplify our Makefile.
76 +
77 +
78 +* ab/mktag-tests (2021-06-28) 6 commits
79 + (merged to 'next' on 2021-07-08 at bfd55b0a38)
80 + + mktag tests: test fast-export
81 + + mktag tests: test for-each-ref
82 + + mktag tests: test update-ref and reachable fsck
83 + + mktag tests: test hash-object --literally and unreachable fsck
84 + + mktag tests: invert --no-strict test
85 + + mktag tests: parse out options in helper
86 +
87 + Fill test gaps.
88 +
89 +
90 +* ab/show-branch-tests (2021-06-28) 4 commits
91 + (merged to 'next' on 2021-07-08 at 47f90868cf)
92 + + show-branch tests: add missing tests
93 + + show-branch: don't <COLOR></RESET> for space characters
94 + + show-branch tests: modernize test code
95 + + show-branch tests: rename the one "show-branch" test file
96 +
97 + Fill test gaps.
98 +
99 +
100 +* ab/struct-init (2021-07-01) 5 commits
101 + (merged to 'next' on 2021-07-09 at 8aec33fe39)
102 + + string-list.h users: change to use *_{nodup,dup}()
103 + + string-list.[ch]: add a string_list_init_{nodup,dup}()
104 + + dir.[ch]: replace dir_init() with DIR_INIT
105 + + *.c *_init(): define in terms of corresponding *_INIT macro
106 + + *.h: move some *_INIT to designated initializers
107 +
108 + Code cleanup around struct_type_init() functions.
109 +
110 +
111 +* ar/help-micro-cleanup (2021-07-06) 1 commit
112 + (merged to 'next' on 2021-07-09 at d8e428c6fd)
113 + + help: convert git_cmd to page in one place
114 +
115 + Tiny code clean-up.
116 +
117 +
118 +* ar/submodule-helper-include-cleanup (2021-07-06) 1 commit
119 + (merged to 'next' on 2021-07-09 at 7e1d15fb86)
120 + + submodule--helper: remove redundant include
121 +
122 + Code clean-up.
123 +
124 +
125 +* dd/test-stdout-count-lines (2021-07-06) 3 commits
126 + (merged to 'next' on 2021-07-09 at 19200fa2e0)
127 + + t6402: preserve git exit status code
128 + + t6400: preserve git ls-files exit status code
129 + + test-lib-functions: introduce test_stdout_line_count
130 +
131 + Tiny test clean-up.
132 +
133 +
134 +* ds/gender-neutral-doc (2021-06-16) 3 commits
135 + (merged to 'next' on 2021-07-09 at 57bb445576)
136 + + *: fix typos
137 + + comments: avoid using the gender of our users
138 + + doc: avoid using the gender of other people
139 + (this branch is used by ds/gender-neutral-doc-guidelines.)
140 +
141 + Update the documentation not to assume users are of certain gender
142 + and adds to guidelines to do so.
143 +
144 +
145 +* en/merge-dir-rename-corner-case-fix (2021-06-30) 3 commits
146 + (merged to 'next' on 2021-07-08 at cf7087576e)
147 + + merge-recursive: handle rename-to-self case
148 + + merge-ort: ensure we consult df_conflict and path_conflicts
149 + + t6423: test directory renames causing rename-to-self
150 +
151 + The merge code had funny interactions between content based rename
152 + detection and directory rename detection.
153 +
154 +
155 +* en/ort-perf-batch-12 (2021-06-09) 4 commits
156 + (merged to 'next' on 2021-07-08 at 4807694598)
157 + + merge-ort: miscellaneous touch-ups
158 + + Fix various issues found in comments
159 + + diffcore-rename: avoid unnecessary strdup'ing in break_idx
160 + + merge-ort: replace string_list_df_name_compare with faster alternative
161 +
162 + More fix-ups and optimization to "merge -sort".
163 +
164 +
165 +* en/ort-perf-batch-13 (2021-06-28) 5 commits
166 + (merged to 'next' on 2021-07-08 at 39aad121d3)
167 + + merge-ort: add prefetching for content merges
168 + + diffcore-rename: use a different prefetch for basename comparisons
169 + + diffcore-rename: allow different missing_object_cb functions
170 + + t6421: add tests checking for excessive object downloads during merge
171 + + promisor-remote: output trace2 statistics for number of objects fetched
172 +
173 + Performance tweaks of "git merge -sort" around lazy fetching of objects.
174 +
175 +
176 +* ew/mmap-failures (2021-06-29) 1 commit
177 + (merged to 'next' on 2021-07-08 at e0e19d5d26)
178 + + xmmap: inform Linux users of tuning knobs on ENOMEM
179 +
180 + Error message update.
181 +
182 +
183 +* hn/refs-iterator-peel-returns-boolean (2021-05-20) 1 commit
184 + (merged to 'next' on 2021-07-08 at b9b35881ba)
185 + + refs: make explicit that ref_iterator_peel returns boolean
186 + (this branch is used by hn/reftable.)
187 +
188 + Tiny API tweak.
189
190
99 -* bk/doc-commit-typofix (2021-06-28) 1 commit
100 - (merged to 'next' on 2021-07-06 at 88580c54ed)
101 - + Documentation: fix typo in the --patch option of the commit command
191 +* hn/refs-test-cleanup (2021-07-06) 2 commits
192 + (merged to 'next' on 2021-07-09 at ae08de6afc)
193 + + t7509: avoid direct file access for writing CHERRY_PICK_HEAD
194 + + t1415: avoid direct filesystem access for writing refs
195
103 - Doc typo/grammo-fix.
104 -
105 -
106 -* dc/p4-binary-submit-fix (2021-06-28) 1 commit
107 - (merged to 'next' on 2021-07-06 at dec280fdc6)
108 - + git-p4: fix failed submit by skip non-text data files
109 -
110 - Prevent "git p4" from failing to submit changes to binary file.
196 + Test clean-up.
197
198
113 -* fc/push-simple-updates (2021-06-02) 7 commits
114 - (merged to 'next' on 2021-07-06 at 95c114f930)
115 - + doc: push: explain default=simple correctly
116 - + push: remove unused code in setup_push_upstream()
117 - + push: simplify setup_push_simple()
118 - + push: reorganize setup_push_simple()
119 - + push: copy code to setup_push_simple()
120 - + push: hedge code of default=simple
121 - + push: rename !triangular to same_remote
122 - (this branch is used by fc/push-simple-updates-cleanup.)
199 +* js/config-mak-windows-pcre-fix (2021-06-28) 1 commit
200 + (merged to 'next' on 2021-07-08 at fe457da682)
201 + + config.mak.uname: PCRE1 cleanup
202 +
203 + Whitespace fix.
204
124 - Some code and doc clarification around "git push".
205
206 +* js/gfw-system-config-loc-fix (2021-06-28) 3 commits
207 + (merged to 'next' on 2021-07-08 at 91a090ab50)
208 + + config: normalize the path of the system gitconfig
209 + + cmake(windows): set correct path to the system Git config
210 + + mingw: move Git for Windows' system config where users expect it
211
127 -* fc/push-simple-updates-cleanup (2021-06-02) 13 commits
128 - (merged to 'next' on 2021-07-06 at da7fab5dc4)
129 - + push: don't get a full remote object
130 - + push: only check same_remote when needed
131 - + push: remove trivial function
132 - + push: remove redundant check
133 - + push: factor out the typical case
134 - + push: get rid of all the setup_push_* functions
135 - + push: trivial simplifications
136 - + push: make setup_push_* return the dst
137 - + push: only get the branch when needed
138 - + push: factor out null branch check
139 - + push: split switch cases
140 - + push: return immediately in trivial switch case
141 - + push: create new get_upstream_ref() helper
142 - (this branch uses fc/push-simple-updates.)
212 + Update the location of system-side configuration file on Windows.
213
144 - Some more code and doc clarification around "git push".
214
215 +* jt/partial-clone-submodule-1 (2021-06-28) 5 commits
216 + (merged to 'next' on 2021-07-09 at 2bc8c2c4dd)
217 + + promisor-remote: teach lazy-fetch in any repo
218 + + run-command: refactor subprocess env preparation
219 + + submodule: refrain from filtering GIT_CONFIG_COUNT
220 + + promisor-remote: support per-repository config
221 + + repository: move global r_f_p_c to repo struct
222
147 -* hn/prep-tests-for-reftable (2021-06-02) 22 commits
148 - (merged to 'next' on 2021-07-06 at 0d6f79d079)
149 - + t1415: set REFFILES for test specific to storage format
150 - + t4202: mark bogus head hash test with REFFILES
151 - + t7003: check reflog existence only for REFFILES
152 - + t7900: stop checking for loose refs
153 - + t1404: mark tests that muck with .git directly as REFFILES.
154 - + t2017: mark --orphan/logAllRefUpdates=false test as REFFILES
155 - + t1414: mark corruption test with REFFILES
156 - + t1407: require REFFILES for for_each_reflog test
157 - + test-lib: provide test prereq REFFILES
158 - + t5304: use "reflog expire --all" to clear the reflog
159 - + t5304: restyle: trim empty lines, drop ':' before >
160 - + t7003: use rev-parse rather than FS inspection
161 - + t5000: inspect HEAD using git-rev-parse
162 - + t5000: reformat indentation to the latest fashion
163 - + t1301: fix typo in error message
164 - + t1413: use tar to save and restore entire .git directory
165 - + t1401-symbolic-ref: avoid direct filesystem access
166 - + t1401: use tar to snapshot and restore repo state
167 - + t5601: read HEAD using rev-parse
168 - + t9300: check ref existence using test-helper rather than a file system check
169 - + t/helper/ref-store: initialize oid in resolve-ref
170 - + t4202: split testcase for invalid HEAD symref and HEAD hash
223 + Prepare the internals for lazily fetching objects in submodules
224 + from their promisor remotes.
225
172 - Preliminary clean-up of tests before the main reftable changes
173 - hits the codebase.
226
227 +* ks/submodule-cleanup (2021-06-28) 1 commit
228 + (merged to 'next' on 2021-07-08 at 03ba93067f)
229 + + submodule: remove unnecessary `prefix` based option logic
230
176 -* jk/union-merge-binary (2021-06-11) 3 commits
177 - (merged to 'next' on 2021-07-06 at 5e77055895)
178 - + ll_union_merge(): rename path_unused parameter
179 - + ll_union_merge(): pass name labels to ll_xdl_merge()
180 - + ll_binary_merge(): handle XDL_MERGE_FAVOR_UNION
231 + Code cleanup.
232
182 - The "union" conflict resolution variant misbehaved when used with
183 - binary merge driver.
233
234 +* rs/khash-alloc-cleanup (2021-07-06) 1 commit
235 + (merged to 'next' on 2021-07-09 at a01d1bb8c9)
236 + + khash: clarify that allocations never fail
237
186 -* mr/cmake (2021-06-11) 3 commits
187 - (merged to 'next' on 2021-07-06 at efc86eb8fb)
188 - + cmake: add warning for ignored MSGFMT_EXE
189 - + cmake: create compile_commands.json by default
190 - + cmake: add knob to disable vcpkg
238 + Code clean-up.
239
192 - CMake update.
240
241 +* tb/midx-use-checksum (2021-06-28) 4 commits
242 + (merged to 'next' on 2021-07-08 at bbaac9c721)
243 + + midx: report checksum mismatches during 'verify'
244 + + midx: don't reuse corrupt MIDXs when writing
245 + + commit-graph: rewrite to use checksum_valid()
246 + + csum-file: introduce checksum_valid()
247
195 -* rs/grep-parser-fix (2021-06-30) 1 commit
196 - (merged to 'next' on 2021-07-06 at 8c582fcd64)
197 - + grep: report missing left operand of --and
198 -
199 - "git grep --and -e foo" ought to have been diagnosed as an error
200 - but instead segfaulted, which has been corrected.
201 -
202 -
203 -* zh/cat-file-batch-fix (2021-06-04) 2 commits
204 - (merged to 'next' on 2021-07-01 at 28b788e905)
205 - + cat-file: merge two block into one
206 - + cat-file: handle trivial --batch format with --batch-all-objects
207 - (this branch is used by zh/ref-filter-raw-data.)
208 -
209 - "git cat-file --batch-all-objects"" misbehaved when "--batch" is in
210 - use and did not ask for certain object traits.
248 + When rebuilding the multi-pack index file reusing an existing one,
249 + we used to blindly trust the existing file and ended up carrying
250 + corrupted data into the updated file, which has been corrected.
251
252 --------------------------------------------------
253 [New Topics]
254
215 -* dl/packet-read-response-end-fix (2021-07-09) 1 commit
216 - - pkt-line: replace "stateless separator" with "response end"
255 +* jk/config-env-doc (2021-07-14) 3 commits
256 + - doc/git-config: simplify "override" advice for FILES section
257 + - doc/git-config: clarify GIT_CONFIG environment variable
258 + - doc/git-config: explain --file instead of referring to GIT_CONFIG
259
218 - Error message update.
260 + Documentation around GIT_CONFIG has been updated.
261
262 Will merge to 'next'.
263
264
223 -* hj/commit-allow-empty-message (2021-07-09) 2 commits
224 - - commit: remove irrelavent prompt on `--allow-empty-message`
225 - - commit: reorganise commit hint strings
265 +* js/ci-check-whitespace-updates (2021-07-14) 2 commits
266 + - ci(check-whitespace): restrict to the intended commits
267 + - ci(check-whitespace): stop requiring a read/write token
268
227 - "git commit --allow-empty-message" won't abort the operation upon
228 - an empty message, but the hint shown in the editor said otherwise.
269 + CI update.
270
271 Will merge to 'next'.
272
273
233 -* ab/attribute-format (2021-07-13) 6 commits
234 - - strbuf.h: add a comment about "missing" strftime() checking
235 - - advice.h: add missing __attribute__((format)) & fix usage
236 - - *.h: add a few missing __attribute__((format))
237 - - *.c static functions: add missing __attribute__((format))
238 - - sequencer.c: move static function to avoid forward decl
239 - - *.c static functions: don't forward-declare __attribute__
274 +* js/ci-make-sparse (2021-07-14) 1 commit
275 + - ci: run `make sparse` as part of the GitHub workflow
276
241 - Many "printf"-like helper functions we have have been annotated
242 - with __attribute__() to catch placeholder/parameter mismatches.
277 + The CI gained a new job to run "make sparse" check.
278
279 Will merge to 'next'.
280
281
247 -* dl/diff-merge-base (2021-07-12) 1 commit
248 - - git-diff: fix missing --merge-base docs
282 +* pb/dont-complete-aliased-options (2021-07-16) 1 commit
283 + - parse-options: don't complete option aliases by default
284
250 - "git diff --merge-base" documentation has been updated.
285 + The completion support used to offer alternate spelling of options
286 + that exist only for compatibility, which has been corrected.
287
288 Will merge to 'next'.
289
290
255 -* en/rename-limits-doc (2021-07-12) 3 commits
256 - - diff: correct warning message when renameLimit exceeded
257 - - doc: document the special handling of -l0
258 - - doc: clarify documentation for rename/copy limits
291 +* ab/refs-files-cleanup (2021-07-19) 11 commits
292 + - refs/files: remove unused "errno == EISDIR" code
293 + - refs/files: remove unused "oid" in lock_ref_oid_basic()
294 + - reflog expire: don't lock reflogs using previously seen OID
295 + - refs/files: add a comment about refs_reflog_exists() call
296 + - refs: make repo_dwim_log() accept a NULL oid
297 + - refs API: pass the "lock OID" to reflog "prepare"
298 + - refs/debug: re-indent argument list for "prepare"
299 + - refs/files: remove unused "skip" in lock_raw_ref() too
300 + - refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
301 + - refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
302 + - refs/packet: add missing BUG() invocations to reflog callbacks
303 + (this branch is used by hn/refs-errno-cleanup.)
304
260 - Update documentation on "git diff -l<n>" and diff.renameLimit.
305 + Patches are mostly good, but needs typofixes etc.
306
262 - Expecting a reroll.
263 - cf. <c25e29a9-3a15-4079-43fd-b77746927b16@gmail.com>
264 - cf. <CAPig+cTFoLaUd8+VRsaJuP24C7fnbTTFx0i7PizyasES7K2jdg@mail.gmail.com>
265 - cf. <CABPp-BHF3Os7fOeaF_EQOo+Bs7f1DXbYr26WmAQrPjv63nq1Pg@mail.gmail.com>
307 + Expecting a hopefully final reroll.
308
309
268 -* jk/typofix (2021-07-13) 1 commit
269 - (merged to 'next' on 2021-07-13 at cce3caa34e)
270 - + doc/rev-list-options: fix duplicate word typo
310 +* en/pull-conflicting-options (2021-07-19) 9 commits
311 + - pull: fix handling of multiple heads
312 + - pull: update docs & code for option compatibility with rebasing
313 + - pull: abort by default when fast-forwarding is not possible
314 + - pull: make --rebase and --no-rebase override pull.ff=only
315 + - pull: ensure --rebase overrides ability to ff
316 + - pull: since --ff-only overrides, handle it first
317 + - pull: abort if --ff-only is given and fast-forwarding is impossible
318 + - t7601: add tests of interactions with multiple merge heads and config
319 + - t7601: add relative precedence tests for merge and rebase flags/options
320
272 - Typofix.
321 + "git pull" had various corner cases that were not well thought out
322 + around its --rebase backend, e.g. "git pull --ff-only" did not stop
323 + but went ahead and rebased when the history on other side is not a
324 + descendant of our history. The series tries to fix them up.
325
274 - Will merge to 'master'.
326 +
327 +* jk/t0000-subtests-fix (2021-07-19) 1 commit
328 + - t0000: clear GIT_SKIP_TESTS before running sub-tests
329 +
330 + Test fix.
331 +
332 + Will merge to 'next'.
333
334 --------------------------------------------------
335 [Stalled]
@@ -304,7 +362,6 @@ Release tarballs are available at:
362 . hash.h: provide constants for the hash IDs
363 . refs/debug: trace into reflog expiry too
364 . refs: document reflog_expire_fn's flag argument
307 - (this branch uses hn/refs-iterator-peel-returns-boolean.)
365
366 The "reftable" backend for the refs API.
367
@@ -332,6 +389,67 @@ Release tarballs are available at:
389 --------------------------------------------------
390 [Cooking]
391
392 +* dl/packet-read-response-end-fix (2021-07-09) 1 commit
393 + (merged to 'next' on 2021-07-16 at 6a7734b6b5)
394 + + pkt-line: replace "stateless separator" with "response end"
395 +
396 + Error message update.
397 +
398 + Will merge to 'master'.
399 +
400 +
401 +* hj/commit-allow-empty-message (2021-07-09) 2 commits
402 + (merged to 'next' on 2021-07-16 at 86b79d3010)
403 + + commit: remove irrelavent prompt on `--allow-empty-message`
404 + + commit: reorganise commit hint strings
405 +
406 + "git commit --allow-empty-message" won't abort the operation upon
407 + an empty message, but the hint shown in the editor said otherwise.
408 +
409 + Will merge to 'master'.
410 +
411 +
412 +* ab/attribute-format (2021-07-13) 5 commits
413 + - advice.h: add missing __attribute__((format)) & fix usage
414 + - *.h: add a few missing __attribute__((format))
415 + - *.c static functions: add missing __attribute__((format))
416 + - sequencer.c: move static function to avoid forward decl
417 + - *.c static functions: don't forward-declare __attribute__
418 +
419 + Many "printf"-like helper functions we have have been annotated
420 + with __attribute__() to catch placeholder/parameter mismatches.
421 +
422 + Will merge to 'next'.
423 +
424 +
425 +* dl/diff-merge-base (2021-07-12) 1 commit
426 + - git-diff: fix missing --merge-base docs
427 +
428 + "git diff --merge-base" documentation has been updated.
429 +
430 + Will merge to 'next'.
431 +
432 +
433 +* en/rename-limits-doc (2021-07-15) 4 commits
434 + - rename: bump limit defaults yet again
435 + - diffcore-rename: treat a rename_limit of 0 as unlimited
436 + - doc: clarify documentation for rename/copy limits
437 + - diff: correct warning message when renameLimit exceeded
438 +
439 + Update documentation on "git diff -l<n>" and diff.renameLimit.
440 +
441 + Will merge to 'next'.
442 +
443 +
444 +* jk/typofix (2021-07-13) 1 commit
445 + (merged to 'next' on 2021-07-13 at cce3caa34e)
446 + + doc/rev-list-options: fix duplicate word typo
447 +
448 + Typofix.
449 +
450 + Will merge to 'master'.
451 +
452 +
453 * ab/gitignore-discovery-doc (2021-07-06) 1 commit
454 (merged to 'next' on 2021-07-13 at 02f3b3deab)
455 + docs: .gitignore parsing is to the top of the repo
@@ -357,49 +475,16 @@ Release tarballs are available at:
475
476 Code simplification.
477
360 - Will merge to 'master'.
361 -
362 -
363 -* ab/pkt-line-tests (2021-07-12) 5 commits
364 - - test-lib-functions.sh: remove unused [de]packetize() functions
365 - - tests: replace remaining packetize() with "test-tool pkt-line"
366 - - tests: replace [de]packetize() shell+perl test-tool pkt-line
367 - - serve tests: use test_cmp in "protocol violations" test
368 - - serve tests: add missing "extra delim" test
369 -
370 - Update tests to cover a bit more protocol bits and unify two
371 - similar test helpers into one.
372 -
373 - Expecting a reroll for a couple of small "correctness" things...
374 - cf.<YO3+3F5fRONVtqTI@coredump.intra.peff.net>
375 -
376 -
377 -* ab/lib-subtest (2021-07-01) 8 commits
378 - - test-lib tests: assert 1 exit code, not non-zero
379 - - test-lib tests: refactor common part of check_sub_test_lib_test*()
380 - - test-lib tests: avoid subshell for "test_cmp" for readability
381 - - test-lib tests: get rid of copy/pasted mock test code
382 - - test-lib tests: don't provide a description for the sub-tests
383 - - test-lib tests: stop using a subshell in write_sub_test_lib_test()
384 - - test-lib tests: split up "write and run" into two functions
385 - - test-lib tests: move "run_sub_test" to a new lib-subtest.sh
386 -
387 - Refactor tests on test framework.
388 -
389 - Needs review.
478 + Will merge to 'master'.
479
480
392 -* ab/struct-init (2021-07-01) 5 commits
393 - (merged to 'next' on 2021-07-09 at 8aec33fe39)
394 - + string-list.h users: change to use *_{nodup,dup}()
395 - + string-list.[ch]: add a string_list_init_{nodup,dup}()
396 - + dir.[ch]: replace dir_init() with DIR_INIT
397 - + *.c *_init(): define in terms of corresponding *_INIT macro
398 - + *.h: move some *_INIT to designated initializers
481 +* ab/pkt-line-tests (2021-07-19) 1 commit
482 + - test-lib-functions: use test-tool for [de]packetize()
483
400 - Code cleanup around struct_type_init() functions.
484 + Update tests to cover a bit more protocol bits and unify two
485 + similar test helpers into one.
486
402 - Will merge to 'master'.
487 + Will merge to 'next'.
488
489
490 * bc/inactive-submodules (2021-07-02) 1 commit
@@ -426,24 +511,6 @@ Release tarballs are available at:
511 Reviews?
512
513
429 -* ar/help-micro-cleanup (2021-07-06) 1 commit
430 - (merged to 'next' on 2021-07-09 at d8e428c6fd)
431 - + help: convert git_cmd to page in one place
432 -
433 - Tiny code clean-up.
434 -
435 - Will merge to 'master'.
436 -
437 -
438 -* ar/submodule-helper-include-cleanup (2021-07-06) 1 commit
439 - (merged to 'next' on 2021-07-09 at 7e1d15fb86)
440 - + submodule--helper: remove redundant include
441 -
442 - Code clean-up.
443 -
444 - Will merge to 'master'.
445 -
446 -
514 * cf/fetch-set-upstream-while-detached (2021-07-06) 1 commit
515 - fetch: fix segfault on --set-upstream while on a detached HEAD
516
@@ -453,63 +520,24 @@ Release tarballs are available at:
520 Expecting a reroll.
521
522
456 -* dd/test-stdout-count-lines (2021-07-06) 3 commits
457 - (merged to 'next' on 2021-07-09 at 19200fa2e0)
458 - + t6402: preserve git exit status code
459 - + t6400: preserve git ls-files exit status code
460 - + test-lib-functions: introduce test_stdout_line_count
461 -
462 - Tiny test clean-up.
463 -
464 - Will merge to 'master'.
465 -
466 -
467 -* hn/refs-iterator-peel-returns-boolean (2021-05-20) 1 commit
468 - (merged to 'next' on 2021-07-08 at b9b35881ba)
469 - + refs: make explicit that ref_iterator_peel returns boolean
470 - (this branch is used by hn/reftable.)
471 -
472 - Tiny API tweak.
473 -
474 - Will merge to 'master'.
475 -
476 -
477 -* hn/refs-test-cleanup (2021-07-06) 2 commits
478 - (merged to 'next' on 2021-07-09 at ae08de6afc)
479 - + t7509: avoid direct file access for writing CHERRY_PICK_HEAD
480 - + t1415: avoid direct filesystem access for writing refs
481 -
482 - Test clean-up.
483 -
484 - Will merge to 'master'.
485 -
486 -
523 * ps/perf-with-separate-output-directory (2021-07-02) 1 commit
524 - perf: fix when running with TEST_OUTPUT_DIRECTORY
525
526 Test update.
527
492 - What's the status of this one?
493 -
494 -
495 -* rs/khash-alloc-cleanup (2021-07-06) 1 commit
496 - (merged to 'next' on 2021-07-09 at a01d1bb8c9)
497 - + khash: clarify that allocations never fail
498 -
499 - Code clean-up.
500 -
501 - Will merge to 'master'.
528 + Will merge to 'next'.
529
530
504 -* sm/worktree-add-lock (2021-07-12) 3 commits
505 - - worktree: teach `add` to accept --reason <string> with --lock
506 - - worktree: mark lock strings with `_()` for translation
507 - - t2400: clean up '"add" worktree with lock' test
531 +* sm/worktree-add-lock (2021-07-15) 3 commits
532 + (merged to 'next' on 2021-07-16 at 609c0a4944)
533 + + worktree: teach `add` to accept --reason <string> with --lock
534 + + worktree: mark lock strings with `_()` for translation
535 + + t2400: clean up '"add" worktree with lock' test
536
537 "git worktree add --lock" learned to record why the worktree is
538 locked with a custom message.
539
512 - Ready?
540 + Will merge to 'master'.
541
542
543 * ab/bundle-doc (2021-07-02) 3 commits
@@ -534,7 +562,7 @@ Release tarballs are available at:
562 cf. <YND3h2l10PlnSNGJ@nand.local>
563
564
537 -* ds/commit-and-checkout-with-sparse-index (2021-07-12) 5 commits
565 +* ds/commit-and-checkout-with-sparse-index (2021-07-14) 5 commits
566 - checkout: stop expanding sparse indexes
567 - sparse-index: recompute cache-tree
568 - commit: integrate with sparse-index
@@ -545,35 +573,25 @@ Release tarballs are available at:
573 "git checkout" and "git commit" learn to work without unnecessarily
574 expanding sparse indexes.
575
548 - Ready?
549 -
550 -
551 -* en/merge-dir-rename-corner-case-fix (2021-06-30) 3 commits
552 - (merged to 'next' on 2021-07-08 at cf7087576e)
553 - + merge-recursive: handle rename-to-self case
554 - + merge-ort: ensure we consult df_conflict and path_conflicts
555 - + t6423: test directory renames causing rename-to-self
556 -
557 - The merge code had funny interactions between content based rename
558 - detection and directory rename detection.
559 -
560 - Will merge to 'master'.
576 + Will merge to 'next'.
577
578
579 * ew/many-alternate-optim (2021-07-07) 5 commits
564 - - oidtree: a crit-bit tree for odb_loose_cache
565 - - oidcpy_with_padding: constify `src' arg
566 - - make object_directory.loose_objects_subdir_seen a bitmap
567 - - avoid strlen via strbuf_addstr in link_alt_odb_entry
568 - - speed up alt_odb_usable() with many alternates
580 + (merged to 'next' on 2021-07-16 at a2d8bc731d)
581 + + oidtree: a crit-bit tree for odb_loose_cache
582 + + oidcpy_with_padding: constify `src' arg
583 + + make object_directory.loose_objects_subdir_seen a bitmap
584 + + avoid strlen via strbuf_addstr in link_alt_odb_entry
585 + + speed up alt_odb_usable() with many alternates
586
587 Optimization for repositories with many alternate object store.
588
589 Will merge to 'next'?
590
591
575 -* jk/log-decorate-optim (2021-07-13) 7 commits
576 - - load_ref_decorations(): fix decoration with tags
592 +* jk/log-decorate-optim (2021-07-14) 7 commits
593 + (merged to 'next' on 2021-07-16 at 5637878b90)
594 + + load_ref_decorations(): fix decoration with tags
595 (merged to 'next' on 2021-07-08 at a3b6f978ab)
596 + add_ref_decoration(): rename s/type/deco_type/
597 + load_ref_decorations(): avoid parsing non-tag objects
@@ -585,7 +603,7 @@ Release tarballs are available at:
603 Optimize "git log" for cases where we wasted cycles to load ref
604 decoration data that may not be needed.
605
588 - Will merge to 'next'.
606 + Will merge to 'master'.
607
608
609 * js/ci-windows-update (2021-07-06) 7 commits
@@ -603,27 +621,7 @@ Release tarballs are available at:
621 Will merge to 'master'.
622
623
606 -* js/config-mak-windows-pcre-fix (2021-06-28) 1 commit
607 - (merged to 'next' on 2021-07-08 at fe457da682)
608 - + config.mak.uname: PCRE1 cleanup
609 -
610 - Whitespace fix.
611 -
612 - Will merge to 'master'.
613 -
614 -
615 -* js/gfw-system-config-loc-fix (2021-06-28) 3 commits
616 - (merged to 'next' on 2021-07-08 at 91a090ab50)
617 - + config: normalize the path of the system gitconfig
618 - + cmake(windows): set correct path to the system Git config
619 - + mingw: move Git for Windows' system config where users expect it
620 -
621 - Update the location of system-side configuration file on Windows.
622 -
623 - Will merge to 'master'.
624 -
625 -
626 -* jt/push-negotiation-fixes (2021-06-28) 3 commits
624 +* jt/push-negotiation-fixes (2021-07-15) 3 commits
625 - fetch: die on invalid --negotiation-tip hash
626 - send-pack: fix push nego. when remote has refs
627 - send-pack: fix push.negotiate with remote helper
@@ -634,61 +632,6 @@ Release tarballs are available at:
632 Needs review.
633
634
637 -* ks/submodule-cleanup (2021-06-28) 1 commit
638 - (merged to 'next' on 2021-07-08 at 03ba93067f)
639 - + submodule: remove unnecessary `prefix` based option logic
640 -
641 - Code cleanup.
642 -
643 - Will merge to 'master'.
644 -
645 -
646 -* tb/midx-use-checksum (2021-06-28) 4 commits
647 - (merged to 'next' on 2021-07-08 at bbaac9c721)
648 - + midx: report checksum mismatches during 'verify'
649 - + midx: don't reuse corrupt MIDXs when writing
650 - + commit-graph: rewrite to use checksum_valid()
651 - + csum-file: introduce checksum_valid()
652 -
653 - When rebuilding the multi-pack index file reusing an existing one,
654 - we used to blindly trust the existing file and ended up carrying
655 - corrupted data into the updated file, which has been corrected.
656 -
657 - Will merge to 'master'.
658 -
659 -
660 -* ab/bundle-updates (2021-07-06) 3 commits
661 - (merged to 'next' on 2021-07-08 at 0c9c54fad7)
662 - + bundle: remove "ref_list" in favor of string-list.c API
663 - + bundle.c: use a temporary variable for OIDs and names
664 - + bundle cmd: stop leaking memory from parse_options_cmd_bundle()
665 -
666 - Code clean-up and leak plugging in "git bundle".
667 -
668 - Will merge to 'master'.
669 -
670 -
671 -* ab/fetch-negotiate-segv-fix (2021-07-08) 3 commits
672 - (merged to 'next' on 2021-07-08 at 30dcd90ea6)
673 - + fetch: fix segfault in --negotiate-only without --negotiation-tip=*
674 - + fetch: document the --negotiate-only option
675 - + send-pack.c: move "no refs in common" abort earlier
676 -
677 - Code recently added to support common ancestry negotiation during
678 - "git push" did not sanity check its arguments carefully enough.
679 -
680 - Will merge to 'master'.
681 -
682 -
683 -* ab/make-delete-on-error (2021-06-29) 1 commit
684 - (merged to 'next' on 2021-07-08 at 787d70d2d6)
685 - + Makefile: add and use the ".DELETE_ON_ERROR" flag
686 -
687 - Use ".DELETE_ON_ERROR" pseudo target to simplify our Makefile.
688 -
689 - Will merge to 'master'.
690 -
691 -
635 * ab/make-tags-cleanup (2021-06-29) 5 commits
636 - Makefile: normalize clobbering & xargs for tags targets
637 - Makefile: don't use "FORCE" for tags targets
@@ -704,15 +647,6 @@ Release tarballs are available at:
647 cf. <67c45b13-df8f-8065-377a-fbd2f80992ee@ramsayjones.plus.com>
648
649
707 -* ew/mmap-failures (2021-06-29) 1 commit
708 - (merged to 'next' on 2021-07-08 at e0e19d5d26)
709 - + xmmap: inform Linux users of tuning knobs on ENOMEM
710 -
711 - Error message update.
712 -
713 - Will merge to 'master'.
714 -
715 -
650 * tb/multi-pack-bitmaps (2021-06-28) 24 commits
651 - p5326: perf tests for MIDX bitmaps
652 - p5310: extract full and partial bitmap tests
@@ -746,7 +680,8 @@ Release tarballs are available at:
680 Comments?
681
682
749 -* ds/status-with-sparse-index (2021-07-12) 15 commits
683 +* ds/status-with-sparse-index (2021-07-14) 16 commits
684 + - t1092: document bad sparse-checkout behavior
685 - fsmonitor: integrate with sparse index
686 - wt-status: expand added sparse directory entries
687 - status: use sparse-index throughout
@@ -767,8 +702,7 @@ Release tarballs are available at:
702 "git status" codepath learned to work with sparsely populated index
703 without hydrating it fully.
704
770 - Expecting a final reroll.
771 - cf. <e7199fc6-bc7b-f556-c10c-12dee04af287@gmail.com>
705 + Will merge to 'next'.
706
707
708 * ab/config-based-hooks-base (2021-06-29) 33 commits
@@ -830,19 +764,6 @@ Release tarballs are available at:
764 that do not call for Eve).
765
766
833 -* en/ort-perf-batch-13 (2021-06-28) 5 commits
834 - (merged to 'next' on 2021-07-08 at 39aad121d3)
835 - + merge-ort: add prefetching for content merges
836 - + diffcore-rename: use a different prefetch for basename comparisons
837 - + diffcore-rename: allow different missing_object_cb functions
838 - + t6421: add tests checking for excessive object downloads during merge
839 - + promisor-remote: output trace2 statistics for number of objects fetched
840 -
841 - Performance tweaks of "git merge -sort" around lazy fetching of objects.
842 -
843 - Will merge to 'master'.
844 -
845 -
767 * ab/serve-cleanup (2021-06-28) 8 commits
768 - upload-pack.c: convert to new serve.c "startup" config cb
769 - serve: add support for a "startup" git_config() callback
@@ -859,46 +780,6 @@ Release tarballs are available at:
780 cf. <cover-0.8-00000000000-20210628T191634Z-avarab@gmail.com>
781
782
862 -* jt/partial-clone-submodule-1 (2021-06-28) 5 commits
863 - (merged to 'next' on 2021-07-09 at 2bc8c2c4dd)
864 - + promisor-remote: teach lazy-fetch in any repo
865 - + run-command: refactor subprocess env preparation
866 - + submodule: refrain from filtering GIT_CONFIG_COUNT
867 - + promisor-remote: support per-repository config
868 - + repository: move global r_f_p_c to repo struct
869 -
870 - Prepare the internals for lazily fetching objects in submodules
871 - from their promisor remotes.
872 -
873 - Will merge to 'master'.
874 -
875 -
876 -* ab/mktag-tests (2021-06-28) 6 commits
877 - (merged to 'next' on 2021-07-08 at bfd55b0a38)
878 - + mktag tests: test fast-export
879 - + mktag tests: test for-each-ref
880 - + mktag tests: test update-ref and reachable fsck
881 - + mktag tests: test hash-object --literally and unreachable fsck
882 - + mktag tests: invert --no-strict test
883 - + mktag tests: parse out options in helper
884 -
885 - Fill test gaps.
886 -
887 - Will merge to 'master'.
888 -
889 -
890 -* ab/show-branch-tests (2021-06-28) 4 commits
891 - (merged to 'next' on 2021-07-08 at 47f90868cf)
892 - + show-branch tests: add missing tests
893 - + show-branch: don't <COLOR></RESET> for space characters
894 - + show-branch tests: modernize test code
895 - + show-branch tests: rename the one "show-branch" test file
896 -
897 - Fill test gaps.
898 -
899 - Will merge to 'master'.
900 -
901 -
783 * es/superproject-aware-submodules (2021-06-16) 5 commits
784 - SQUASH???
785 - submodule: cache superproject gitdir during 'update'
@@ -941,19 +822,20 @@ Release tarballs are available at:
822 cf. <094f5e5f-d447-8867-a9a7-be5c8827bba6@gmail.com>
823
824
944 -* hn/refs-errno-cleanup (2021-07-07) 6 commits
825 +* hn/refs-errno-cleanup (2021-07-19) 7 commits
826 - refs: make errno output explicit for refs_resolve_ref_unsafe
827 - refs: explicitly return failure_errno from parse_loose_ref_contents
828 - refs: add failure_errno to refs_read_raw_ref() signature
829 - refs: make errno output explicit for read_raw_ref_fn
830 - refs/files-backend: stop setting errno from lock_ref_oid_basic
831 - refs: remove EINVAL errno output from specification of read_raw_ref_fn
832 + - refs file backend: move raceproof_create_file() here
833 + (this branch uses ab/refs-files-cleanup.)
834
835 Futz with the way 'errno' is relied on in the refs API to carry the
836 failure modes up the callchain.
837
955 - Expecting a (hopefully final) reroll.
956 - cf. <CAFQ2z_NzykfcBSvtHQ10RZWxLP48+qArZk9HbDJQB4tNX-GtYA@mail.gmail.com>
838 + Will merge to 'next' once 'ab/refs-files-cleanup' gets cleaned up.
839
840
841 * ab/test-tool-cache-cleanup (2021-06-08) 4 commits
@@ -988,27 +870,12 @@ Release tarballs are available at:
870 Will merge to 'next'.
871
872
991 -* ds/gender-neutral-doc (2021-06-16) 3 commits
992 - (merged to 'next' on 2021-07-09 at 57bb445576)
993 - + *: fix typos
994 - + comments: avoid using the gender of our users
995 - + doc: avoid using the gender of other people
996 - (this branch is used by ds/gender-neutral-doc-guidelines.)
997 -
998 - Update the documentation not to assume users are of certain gender
999 - and adds to guidelines to do so.
1000 -
1001 - Will merge to 'master'.
1002 -
1003 -
1004 -* ds/gender-neutral-doc-guidelines (2021-06-16) 2 commits
1005 - - SQUASH??? replace neutering tips with that of Æver
1006 - - CodingGuidelines: recommend singular they
1007 - (this branch uses ds/gender-neutral-doc.)
873 +* ds/gender-neutral-doc-guidelines (2021-07-16) 1 commit
874 + - CodingGuidelines: recommend gender-neutral description
875
876 Attempt to give a guideline for gender neutral documentation.
877
1011 - Comments?
878 + Will merge to 'next'?
879
880
881 * gh/gitweb-branch-sort (2021-06-10) 1 commit
@@ -1055,29 +922,17 @@ Release tarballs are available at:
922 cf. <nycvar.QRO.7.76.6.2106072346560.55@tvgsbejvaqbjf.bet>
923
924
1058 -* en/ort-perf-batch-12 (2021-06-09) 4 commits
1059 - (merged to 'next' on 2021-07-08 at 4807694598)
1060 - + merge-ort: miscellaneous touch-ups
1061 - + Fix various issues found in comments
1062 - + diffcore-rename: avoid unnecessary strdup'ing in break_idx
1063 - + merge-ort: replace string_list_df_name_compare with faster alternative
1064 -
1065 - More fix-ups and optimization to "merge -sort".
1066 -
1067 - Will merge to 'master'.
1068 -
1069 -
1070 -* zh/ref-filter-raw-data (2021-07-12) 18 commits
925 +* zh/ref-filter-raw-data (2021-07-15) 18 commits
926 - cat-file: use fast path when using default_format
1072 - - cat-file: create p1006-cat-file.sh
927 - ref-filter: remove grab_oid() function
928 - cat-file: re-implement --textconv, --filters options
929 - cat-file: reuse err buf in batch_object_write()
930 - cat-file: reuse ref-filter logic
931 + - cat-file: create p1006-cat-file.sh
932 - cat-file: change batch_objects parameter name
933 - cat-file: add has_object_file() check
934 - ref-filter: modify the error message and value in get_object
1080 - - ref-filter: introduce reject_atom()
935 + - ref-filter: add cat_file_mode to ref_format
936 - ref-filter: introduce free_ref_array_item_value() function
937 - ref-filter: pass get_object() return value to their callers
938 - ref-filter: add %(rest) atom
@@ -1134,6 +989,8 @@ Release tarballs are available at:
989 An attempt to write and ship with a watchman equivalent tailored
990 for our use.
991
992 + So, where are we with this topic?
993 +
994
995 * es/trace2-log-parent-process-name (2021-06-09) 1 commit
996 - tr2: log parent process name