What's cooking (2023/03 #01)

Junio C Hamano committed Mar 1, 2023 at 09:06 UTC acb9ef215eb212291b08f57e7610663c6596632e
1 file changed +366 -302
whats-cooking.txt
+366 -302
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Feb 2023, #05; Fri, 24)
3 -X-master-at: c5f7ef5fdc2d60af86669931829e4da57e2eed68
4 -X-next-at: c4246ad0f009a06c1700b2eed4428c9737325f67
2 +Subject: What's cooking in git.git (Mar 2023, #01; Wed, 1)
3 +X-master-at: ef7d4f53c2fd9e8186d093dea6d45a91ce57110e
4 +X-next-at: e12885d4f5a6a5e9a900ddf12ad1635bcc81869b
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Feb 2023, #05; Fri, 24)
7 +What's cooking in git.git (Mar 2023, #01; Wed, 1)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -14,11 +14,8 @@ release). Commits prefixed with '-' are only in 'seen', and aren't
14 considered "accepted" at all. A topic without enough support may be
15 discarded after a long period of no activity.
16
17 -We are at Git 2.40-rc0 as of today. There are a handful of topics
18 -still cooking in 'next', and more topics that we have seen but
19 -haven't hit 'next' yet. Many of the former are expected to be in
20 --rc1 while many of the latter are expected to wait for the next
21 -cycle.
17 +I just tagged Git 2.40-rc1; from here on, let's concentrate on
18 +finding and fixing regressions relative to Git 2.39.
19
20 Copies of the source code to Git live in many repositories, and the
21 following is a list of the ones I push into or their mirrors. Some
@@ -49,172 +46,296 @@ Release tarballs are available at:
46 https://www.kernel.org/pub/software/scm/git/
47
48 --------------------------------------------------
52 -[Graduated to 'master']
49 +[New Topics]
50 +
51 +* ak/restore-both-incompatible-with-conflicts (2023-02-27) 1 commit
52 + - restore: fault --staged --worktree with merge opts
53 +
54 + "git restore" supports options like "--ours" that are only
55 + meaningful during a conflicted merge, but these options are only
56 + meaningful when updating the working tree files. These options are
57 + marked to be incompatible when both "--staged" and "--worktree" are
58 + in effect.
59 +
60 + Comments?
61 + source: <20230226184354.221-1-andy.koppe@gmail.com>
62
54 -* jc/genzeros-avoid-raw-write (2023-02-16) 1 commit
55 - (merged to 'next' on 2023-02-22 at a60fe69bce)
56 - + test-genzeros: avoid raw write(2)
63
58 - A test helper had a single write(2) of 256kB, which was too big for
59 - some platforms (e.g. NonStop), which has been corrected by using
60 - xwrite() wrapper appropriately.
61 - source: <xmqqo7putj1t.fsf_-_@gitster.g>
64 +* ew/fetch-hiderefs (2023-02-27) 1 commit
65 + (merged to 'next' on 2023-03-01 at 6a7eece733)
66 + + fetch: support hideRefs to speed up connectivity checks
67
68 + A new "fetch.hideRefs" option can be used to exclude specified refs
69 + from "rev-list --objects --stdin --not --all" traversal for
70 + checking object connectivity, most useful when there are many
71 + unrelated histories in a single repository.
72
64 -* js/gpg-errors (2023-02-15) 2 commits
65 - (merged to 'next' on 2023-02-16 at 510898ff10)
66 - + gpg: do show gpg's error message upon failure
67 - + t7510: add a test case that does not need gpg
73 + Will cook in 'next'.
74 + source: <20230212090426.M558990@dcvr>
75 +
76 +
77 +* zh/push-to-delete-onelevel-ref (2023-03-01) 2 commits
78 + - push: allow delete single-level ref
79 + - receive-pack: fix funny ref error messsage
80 +
81 + "git push" has been taught to allow deletion of refs with one-level
82 + names to help repairing a repository who acquired such a ref by
83 + mistake. In general, we don't encourage use of such a ref, and
84 + creation or update to such a ref is rejected as before.
85 +
86 + Comments?
87 + source: <pull.1465.v4.git.1677666029.gitgitgadget@gmail.com>
88
69 - Error messages given upon a signature verification failure used to
70 - discard the errors from underlying gpg program, which has been
71 - corrected.
72 - source: <pull.1480.git.1676440714.gitgitgadget@gmail.com>
89
90 +* fz/rebase-msg-update (2023-02-27) 1 commit
91 + (merged to 'next' on 2023-03-01 at f28c0df111)
92 + + rebase: fix capitalisation autoSquash in i18n string
93
75 -* rd/doc-default-date-format (2023-02-15) 1 commit
76 - (merged to 'next' on 2023-02-22 at 3818705ca9)
77 - + rev-list: clarify git-log default date format
94 + Message update.
95
79 - Update --date=default documentation.
80 - source: <xmqqcz6av3ta.fsf_-_@gitster.g>
96 + Will cook in 'next'.
97 + source: <pull.1462.git.git.1677434429160.gitgitgadget@gmail.com>
98 +
99 +
100 +* gm/signature-format-doc (2023-02-27) 1 commit
101 + (merged to 'next' on 2023-03-01 at 19f9ce8c40)
102 + + signature-format.txt: note SSH and X.509 signature delimiters
103 +
104 + Doc update.
105 +
106 + Will cook in 'next'.
107 + source: <20230227202718.173698-1-gwymor@tilde.club>
108 +
109 +
110 +* my/wildmatch-cleanups (2023-02-27) 5 commits
111 + - wildmatch: more cleanups after killing uchar
112 + - wildmatch: use char instead of uchar
113 + - wildmatch: remove NEGATE_CLASS(2) macros with trivial refactoring
114 + - wildmatch: remove IS*() macros
115 + - git-compat-util: add isblank() and isgraph()
116 +
117 + Code clean-up.
118 +
119 + Comments?
120 + source: <20230226115021.1681834-1-masahiroy@kernel.org>
121
122
83 -* rs/ctype-test (2023-02-13) 3 commits
84 - (merged to 'next' on 2023-02-15 at 279f198dec)
85 - + test-ctype: test iscntrl, ispunct, isxdigit and isprint
86 - + test-ctype: test islower and isupper
87 - + test-ctype: test isascii
123 +* rs/range-diff-custom-abbrev-fix (2023-02-28) 1 commit
124 + (merged to 'next' on 2023-02-28 at 82f1929a15)
125 + + range-diff: avoid compiler warning when char is unsigned
126
89 - Test safe_ctype
90 - source: <81eee04b-598e-dfe1-f954-3105bcbcb2f2@web.de>
127 + Hotfix for a topic that is already in 'master'.
128 +
129 + Will merge to 'master'.
130 + source: <1156586e-9dbe-335e-7e33-74eea7913e86@web.de>
131 +
132 +
133 +* cw/forbid-use-of-gitlink-outside-submodules (2023-02-28) 6 commits
134 + . add: reject nested repositories
135 + . tests: remove duplicate .gitmodules path
136 + . tests: use `git submodule add` and fix expected status
137 + . tests: use `git submodule add` and fix expected diffs
138 + . tests: Use `git submodule add` instead of `git add`
139 + . t4041, t4060: modernize test style
140 +
141 + Forbid "git add dir" from adding a gitlink to the index.
142 +
143 + Comments?
144 + Seems to break tests when merged to 'seen'.
145 + source: <20230228185253.2356546-1-calvinwan@google.com>
146
147 --------------------------------------------------
93 -[New Topics]
148 +[Graduated to 'master']
149
95 -* ah/rebase-merges-config (2023-02-23) 3 commits
96 - - rebase: add a config option for --rebase-merges
97 - - rebase: stop accepting --rebase-merges=""
98 - - rebase: add documentation and test for --no-rebase-merges
150 +* ap/t2015-style-update (2023-02-21) 1 commit
151 + (merged to 'next' on 2023-02-22 at 40883b85c7)
152 + + t2015-checkout-unborn.sh: changes the style for cd
153
100 - Streamline --rebase-merges command line option handling and
101 - introduce rebase.merges configuration variable.
154 + Test clean-up.
155 + source: <20230218192128.7963-1-ashutosh.pandeyhlr007@gmail.com>
156
103 - On Hold.
104 - cf. <b4be9cb3-c24b-4377-bab3-5d53035efdf8@gmx.de>
105 - source: <20230223053410.644503-3-alexhenrie24@gmail.com>
157
158 +* ar/test-lib-remove-stale-comment (2023-02-27) 1 commit
159 + (merged to 'next' on 2023-02-27 at d948667d2d)
160 + + test-lib: drop comment about test_description
161 +
162 + Test library clean-up.
163 + source: <20230226105303.55033-1-rybak.a.v@gmail.com>
164
108 -* en/dir-api-cleanup (2023-02-23) 11 commits
109 - - unpack-trees: add usage notices around df_conflict_entry
110 - - unpack-trees: special case read-tree debugging as internal usage
111 - - unpack-trees: rewrap a few overlong lines from previous patch
112 - - unpack-trees: mark fields only used internally as internal
113 - - unpack_trees: start splitting internal fields from public API
114 - - sparse-checkout: avoid using internal API of unpack-trees, take 2
115 - - sparse-checkout: avoid using internal API of unpack-trees
116 - - unpack-trees: clean up some flow control
117 - - dir: mark output only fields of dir_struct as such
118 - - dir: add a usage note to exclude_per_dir
119 - - dir: separate public from internal portion of dir_struct
165
121 - source: <pull.1149.git.1677143700.gitgitgadget@gmail.com>
166 +* if/simplify-trace-setup (2023-02-21) 1 commit
167 + (merged to 'next' on 2023-02-24 at 9c8e690f3d)
168 + + trace.c, git.c: remove unnecessary parameter to trace_repo_setup()
169
170 + Code clean-up.
171 + source: <20230219002527.84315-1-mcsm224@gmail.com>
172
124 -* en/header-cleanup (2023-02-23) 17 commits
125 - - diff.h: remove unnecessary include of object.h
126 - - Remove unnecessary includes of builtin.h
127 - - treewide: replace cache.h with more direct headers, where possible
128 - - replace-object.h: move read_replace_refs declaration from cache.h to here
129 - - object-store.h: move struct object_info from cache.h
130 - - dir.h: refactor to no longer need to include cache.h
131 - - object.h: stop depending on cache.h; make cache.h depend on object.h
132 - - ident.h: move ident-related declarations out of cache.h
133 - - pretty.h: move has_non_ascii() declaration from commit.h
134 - - cache.h: remove dependence on hex.h; make other files include it explicitly
135 - - hex.h: move some hex-related declarations from cache.h
136 - - hash.h: move some oid-related declarations from cache.h
137 - - alloc.h: move ALLOC_GROW() functions from cache.h
138 - - treewide: remove unnecessary cache.h includes in source files
139 - - treewide: remove unnecessary cache.h includes
140 - - treewide: remove unnecessary git-compat-util.h includes in headers
141 - - treewide: ensure one of the appropriate headers is sourced first
173
143 - source: <pull.1485.v2.git.1677197376.gitgitgadget@gmail.com>
174 +* jc/countermand-format-attach (2023-02-17) 1 commit
175 + (merged to 'next' on 2023-02-24 at 709ed91a7c)
176 + + format.attach: allow empty value to disable multi-part messages
177
178 + The format.attach configuration variable lacked a way to override a
179 + value defined in a lower-priority configuration file (e.g. the
180 + system one) by redefining it in a higher-priority configuration
181 + file. Now, setting format.attach to an empty string means show the
182 + patch inline in the e-mail message, without using MIME attachment.
183 +
184 + This is a backward incompatible change.
185 + source: <xmqqwn4fkgtq.fsf@gitster.g>
186
146 -* jk/http-test-fixes (2023-02-23) 16 commits
147 - - t5559: make SSL/TLS the default
148 - - t5559: fix test failures with LIB_HTTPD_SSL
149 - - t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c
150 - - t/lib-httpd: respect $HTTPD_PROTO in expect_askpass()
151 - - t5551: drop curl trace lines without headers
152 - - t5551: handle v2 protocol in cookie test
153 - - t5551: simplify expected cookie file
154 - - t5551: handle v2 protocol in upload-pack service test
155 - - t5551: handle v2 protocol when checking curl trace
156 - - t5551: stop forcing clone to run with v0 protocol
157 - - t5551: handle HTTP/2 when checking curl trace
158 - - t5551: lower-case headers in expected curl trace
159 - - t5551: drop redundant grep for Accept-Language
160 - - t5541: simplify and move "no empty path components" test
161 - - t5541: stop marking "used receive-pack service" test as v0 only
162 - - t5541: run "used receive-pack service" test earlier
187
188 +* jc/diff-algo-attribute (2023-02-21) 2 commits
189 + (merged to 'next' on 2023-02-22 at 2375640330)
190 + + diff: teach diff to read algorithm from diff driver
191 + + diff: consolidate diff algorithm option parsing
192 +
193 + The "diff" drivers specified by the "diff" attribute attached to
194 + paths can now specify which algorithm (e.g. histogram) to use.
195 + source: <pull.1452.v4.git.git.1676927082.gitgitgadget@gmail.com>
196 +
197 +
198 +* jk/http-proxy-tests (2023-02-16) 1 commit
199 + (merged to 'next' on 2023-02-22 at f1f69d188f)
200 + + add basic http proxy tests
201 +
202 + Test updates.
203 + source: <Y+6YgALh6L9m6rSX@coredump.intra.peff.net>
204 +
205 +
206 +* jk/http-test-fixes (2023-02-23) 16 commits
207 + (merged to 'next' on 2023-02-24 at 8f3d70acc4)
208 + + t5559: make SSL/TLS the default
209 + + t5559: fix test failures with LIB_HTTPD_SSL
210 + + t/lib-httpd: enable HTTP/2 "h2" protocol, not just h2c
211 + + t/lib-httpd: respect $HTTPD_PROTO in expect_askpass()
212 + + t5551: drop curl trace lines without headers
213 + + t5551: handle v2 protocol in cookie test
214 + + t5551: simplify expected cookie file
215 + + t5551: handle v2 protocol in upload-pack service test
216 + + t5551: handle v2 protocol when checking curl trace
217 + + t5551: stop forcing clone to run with v0 protocol
218 + + t5551: handle HTTP/2 when checking curl trace
219 + + t5551: lower-case headers in expected curl trace
220 + + t5551: drop redundant grep for Accept-Language
221 + + t5541: simplify and move "no empty path components" test
222 + + t5541: stop marking "used receive-pack service" test as v0 only
223 + + t5541: run "used receive-pack service" test earlier
224 +
225 + Various fix-ups on HTTP tests.
226 source: <Y/dEYYWKy/o96vBG@coredump.intra.peff.net>
227
228
229 +* jk/shorten-unambiguous-ref-wo-sscanf (2023-02-15) 3 commits
230 + (merged to 'next' on 2023-02-24 at 12ca5684f0)
231 + + shorten_unambiguous_ref(): avoid sscanf()
232 + + shorten_unambiguous_ref(): use NUM_REV_PARSE_RULES constant
233 + + shorten_unambiguous_ref(): avoid integer truncation
234 +
235 + sscanf(3) used in "git symbolic-ref --short" implementation found
236 + to be not working reliably on macOS in UTF-8 locales. Rewrite the
237 + code to avoid sscanf() altogether to work it around.
238 + source: <Y+z3MtgayoXsxaHA@coredump.intra.peff.net>
239 +
240 +
241 +* ma/fetch-parallel-use-online-cpus (2023-02-21) 1 commit
242 + (merged to 'next' on 2023-02-22 at 756d379bf0)
243 + + fetch: choose a sensible default with --jobs=0 again
244 +
245 + "git fetch --jobs=0" used to hit a BUG(), which has been corrected
246 + to use the available CPUs.
247 + source: <pull.1483.git.1676928805555.gitgitgadget@gmail.com>
248 +
249 +
250 +* mh/credential-password-expiry (2023-02-22) 1 commit
251 + (merged to 'next' on 2023-02-24 at dbff7db22a)
252 + + credential: new attribute password_expiry_utc
253 +
254 + The credential subsystem learned that a password may have an
255 + explicit expiration.
256 + source: <pull.1443.v4.git.git.1676701977347.gitgitgadget@gmail.com>
257 +
258 +
259 +* ps/free-island-marks (2023-02-21) 1 commit
260 + (merged to 'next' on 2023-02-22 at f46938bce3)
261 + + delta-islands: fix segfault when freeing island marks
262 +
263 + Fix on a previous fix already in 'master'.
264 + source: <61e490595b80b34c55fd640e093e021ff6fa9591.1676542973.git.ps@pks.im>
265 +
266 +
267 * pw/rebase-i-parse-fix (2023-02-23) 2 commits
168 - - rebase -i: fix parsing of "fixup -C<commit>"
169 - - rebase -i: match whole word in is_command()
268 + (merged to 'next' on 2023-02-24 at 5a2a2569eb)
269 + + rebase -i: fix parsing of "fixup -C<commit>"
270 + + rebase -i: match whole word in is_command()
271
272 + Fixes to code that parses the todo file used in "rebase -i".
273 source: <pull.1486.git.1677185701.gitgitgadget@gmail.com>
274
275
174 -* zy/t9700-style (2023-02-23) 3 commits
175 - - t9700: delete whitespaces after redirect operators
176 - - t9700: change indents to TAB
177 - - t9700: fix title style
276 +* pw/rebase-i-validate-labels-early (2023-02-21) 1 commit
277 + (merged to 'next' on 2023-02-22 at 9b37d42d24)
278 + + rebase -i: check labels and refs when parsing todo list
279 +
280 + An invalid label or ref in the "rebase -i" todo file used to
281 + trigger an runtime error. SUch an error is now diagnosed while the
282 + todo file is parsed.
283 + source: <pull.1482.v2.git.1676902774366.gitgitgadget@gmail.com>
284 +
285 +
286 +* rs/archive-mtime (2023-02-18) 1 commit
287 + (merged to 'next' on 2023-02-24 at 34869696a2)
288 + + archive: add --mtime
289
179 - source: <20230223141520.1967625-1-18994118902@163.com>
290 + "git archive HEAD^{tree}" records the paths with the current
291 + timestamp in the archive, making it harder to obtain a stable
292 + output. The command learned the --mtime option to specify an
293 + arbitrary timestamp (e.g. --mtime="@0 +0000" for the epoch).
294 + source: <91a73f5d-ca3e-6cb0-4ba3-38d703074ee6@web.de>
295
296
182 -* jk/fsck-indices-in-worktrees (2023-02-24) 3 commits
183 - - fsck: mention file path for index errors
184 - - fsck: check index files in all worktrees
185 - - fsck: factor out index fsck
297 +* tb/drop-dir-iterator-follow-symlink-bit (2023-02-16) 2 commits
298 + (merged to 'next' on 2023-02-22 at 785e1f323e)
299 + + t0066: drop setup of "dir5"
300 + + dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS`
301
187 - source: <Y/hv0MXAyBY3HEo9@coredump.intra.peff.net>
302 + Remove leftover and unused code.
303 + source: <9bb10b607e46f867a3f8f5c71abf13c990d1ecfe.1676572031.git.me@ttaylorr.com>
304 + source: <CAGdrTFhHBU2BNYdYr7LbOS7i1LOHGjWLw_d5ZJAXxvTKyLiFCA@mail.gmail.com>
305
306
190 -* jk/unused-post-2.39-part2 (2023-02-24) 21 commits
191 - - help: mark unused parameter in git_unknown_cmd_config()
192 - - run_processes_parallel: mark unused callback parameters
193 - - userformat_want_item(): mark unused parameter
194 - - for_each_commit_graft(): mark unused callback parameter
195 - - rewrite_parents(): mark unused callback parameter
196 - - fetch-pack: mark unused parameter in callback function
197 - - notes: mark unused callback parameters
198 - - prio-queue: mark unused parameters in comparison functions
199 - - for_each_object: mark unused callback parameters
200 - - list-objects: mark unused callback parameters
201 - - mark unused parameters in signal handlers
202 - - run-command: mark error routine parameters as unused
203 - - mark "pointless" data pointers in callbacks
204 - - ref-filter: mark unused callback parameters
205 - - http-backend: mark unused parameters in virtual functions
206 - - http-backend: mark argc/argv unused
207 - - object-name: mark unused parameters in disambiguate callbacks
208 - - serve: mark unused parameters in virtual functions
209 - - serve: use repository pointer to get config
210 - - ls-refs: drop config caching
211 - - ref-filter: drop unused atom parameter from get_worktree_path()
307 +* tl/range-diff-custom-abbrev (2023-02-21) 1 commit
308 + (merged to 'next' on 2023-02-22 at 49db7cce13)
309 + + range-diff: let '--abbrev' option takes effect
310
213 - source: <Y/habYJxDRJQg/kJ@coredump.intra.peff.net>
311 + "git range-diff" learned --abbrev=<num> option.
312 + source: <20230220142444.18739-2-tenglong.tl@alibaba-inc.com>
313 +
314 +
315 +* zy/t9700-style (2023-02-25) 1 commit
316 + (merged to 'next' on 2023-02-27 at 6c52b8ebb2)
317 + + t9700: modernize test scripts
318 +
319 + Test style fixes.
320 + source: <20230225013003.1971931-1-18994118902@163.com>
321
322 --------------------------------------------------
323 [Stalled]
324
325 +* ed/fsmonitor-inotify (2022-12-13) 6 commits
326 + - fsmonitor: update doc for Linux
327 + - fsmonitor: test updates
328 + - fsmonitor: enable fsmonitor for Linux
329 + - fsmonitor: implement filesystem change listener for Linux
330 + - fsmonitor: determine if filesystem is local or remote
331 + - fsmonitor: prepare to share code between Mac OS and Linux
332 +
333 + Bundled fsmonitor for Linux using inotify API.
334 +
335 + What's the status of this one?
336 + source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>
337 +
338 +
339 * ja/worktree-orphan (2023-01-13) 4 commits
340 - worktree add: add hint to direct users towards --orphan
341 - worktree add: add --orphan flag
@@ -229,15 +350,16 @@ Release tarballs are available at:
350 source: <20230109173227.29264-1-jacobabel@nullpo.dev>
351
352
232 -* tl/notes--blankline (2023-02-23) 3 commits
233 - . notes.c: introduce '--separator=<paragraph-break>' option
234 - . notes.c: cleanup for "designated init"
235 - . notes.c: cleanup 'strbuf_grow' call in 'append_edit'
353 +* tl/notes--blankline (2023-02-24) 4 commits
354 + - SQUASH??? leakfix
355 + - notes.c: introduce '--separator=<paragraph-break>' option
356 + - notes.c: cleanup for "designated init"
357 + - notes.c: cleanup 'strbuf_grow' call in 'append_edit'
358
359 'git notes append' was taught '--separator' to specify string to insert
360 between paragraphs.
361
240 - Leaky???
362 + Expecting further updates on -c/-C.
363 source: <cover.1677136319.git.dyroneteng@gmail.com>
364
365
@@ -257,20 +379,6 @@ Release tarballs are available at:
379 source: <cover-0.4-00000000000-20221118T113442Z-avarab@gmail.com>
380
381
260 -* ed/fsmonitor-inotify (2022-12-13) 6 commits
261 - - fsmonitor: update doc for Linux
262 - - fsmonitor: test updates
263 - - fsmonitor: enable fsmonitor for Linux
264 - - fsmonitor: implement filesystem change listener for Linux
265 - - fsmonitor: determine if filesystem is local or remote
266 - - fsmonitor: prepare to share code between Mac OS and Linux
267 -
268 - Bundled fsmonitor for Linux using inotify API.
269 -
270 - Needs review on the updated round.
271 - source: <pull.1352.v5.git.git.1670882286.gitgitgadget@gmail.com>
272 -
273 -
382 * jc/spell-id-in-both-caps-in-message-id (2022-12-17) 1 commit
383 - e-mail workflow: Message-ID is spelled with ID in both capital letters
384
@@ -305,144 +413,111 @@ Release tarballs are available at:
413 --------------------------------------------------
414 [Cooking]
415
308 -* jc/diff-algo-attribute (2023-02-21) 2 commits
309 - (merged to 'next' on 2023-02-22 at 2375640330)
310 - + diff: teach diff to read algorithm from diff driver
311 - + diff: consolidate diff algorithm option parsing
312 -
313 - The "diff" drivers specified by the "diff" attribute attached to
314 - paths can now specify which algorithm (e.g. histogram) to use.
315 -
316 - Will merge to 'master'.
317 - source: <pull.1452.v4.git.git.1676927082.gitgitgadget@gmail.com>
318 -
319 -
320 -* jk/shorten-unambiguous-ref-wo-sscanf (2023-02-15) 3 commits
321 - (merged to 'next' on 2023-02-24 at 12ca5684f0)
322 - + shorten_unambiguous_ref(): avoid sscanf()
323 - + shorten_unambiguous_ref(): use NUM_REV_PARSE_RULES constant
324 - + shorten_unambiguous_ref(): avoid integer truncation
325 -
326 - sscanf(3) used in "git symbolic-ref --short" implementation found
327 - to be not working reliably on macOS in UTF-8 locales. Rewrite the
328 - code to avoid sscanf() altogether to work it around.
329 -
330 - Will merge to 'master'.
331 - source: <Y+z3MtgayoXsxaHA@coredump.intra.peff.net>
332 -
333 -
334 -* jk/http-proxy-tests (2023-02-16) 1 commit
335 - (merged to 'next' on 2023-02-22 at f1f69d188f)
336 - + add basic http proxy tests
337 -
338 - Test updates.
339 -
340 - Will merge to 'master'.
341 - source: <Y+6YgALh6L9m6rSX@coredump.intra.peff.net>
342 -
343 -
344 -* ps/free-island-marks (2023-02-21) 1 commit
345 - (merged to 'next' on 2023-02-22 at f46938bce3)
346 - + delta-islands: fix segfault when freeing island marks
347 -
348 - Fix on a previous fix already in 'master'.
349 -
350 - Will merge to 'master'.
351 - source: <61e490595b80b34c55fd640e093e021ff6fa9591.1676542973.git.ps@pks.im>
352 -
353 -
354 -* tb/drop-dir-iterator-follow-symlink-bit (2023-02-16) 2 commits
355 - (merged to 'next' on 2023-02-22 at 785e1f323e)
356 - + t0066: drop setup of "dir5"
357 - + dir-iterator: drop unused `DIR_ITERATOR_FOLLOW_SYMLINKS`
358 -
359 - Remove leftover and unused code.
360 -
361 - Will merge to 'master'.
362 - source: <9bb10b607e46f867a3f8f5c71abf13c990d1ecfe.1676572031.git.me@ttaylorr.com>
363 - source: <CAGdrTFhHBU2BNYdYr7LbOS7i1LOHGjWLw_d5ZJAXxvTKyLiFCA@mail.gmail.com>
364 -
365 -
366 -* jc/countermand-format-attach (2023-02-17) 1 commit
367 - (merged to 'next' on 2023-02-24 at 709ed91a7c)
368 - + format.attach: allow empty value to disable multi-part messages
369 -
370 - The format.attach configuration variable lacked a way to override a
371 - value defined in a lower-priority configuration file (e.g. the
372 - system one) by redefining it in a higher-priority configuration
373 - file. Now, setting format.attach to an empty string means show the
374 - patch inline in the e-mail message, without using MIME attachment.
375 -
376 - This is a backward incompatible change.
377 -
378 - Will merge to 'master'.
379 - source: <xmqqwn4fkgtq.fsf@gitster.g>
380 -
381 -
382 -* rs/archive-mtime (2023-02-18) 1 commit
383 - (merged to 'next' on 2023-02-24 at 34869696a2)
384 - + archive: add --mtime
385 -
386 - "git archive HEAD^{tree}" records the paths with the current
387 - timestamp in the archive, making it harder to obtain a stable
388 - output. The command learned the --mtime option to specify an
389 - arbitrary timestamp (e.g. --mtime="@0 +0000" for the epoch).
390 -
391 - Will merge to 'master'.
392 - source: <91a73f5d-ca3e-6cb0-4ba3-38d703074ee6@web.de>
393 -
394 -
395 -* ap/t2015-style-update (2023-02-21) 1 commit
396 - (merged to 'next' on 2023-02-22 at 40883b85c7)
397 - + t2015-checkout-unborn.sh: changes the style for cd
398 -
399 - Test clean-up.
416 +* ah/rebase-merges-config (2023-02-25) 3 commits
417 + - rebase: add a config option for --rebase-merges
418 + - rebase: deprecate --rebase-merges=""
419 + - rebase: add documentation and test for --no-rebase-merges
420
401 - Will merge to 'master'.
402 - source: <20230218192128.7963-1-ashutosh.pandeyhlr007@gmail.com>
421 + Streamline --rebase-merges command line option handling and
422 + introduce rebase.merges configuration variable.
423
424 + On hold.
425 + cf. <b4be9cb3-c24b-4377-bab3-5d53035efdf8@gmx.de>
426 + source: <20230225180325.796624-1-alexhenrie24@gmail.com>
427
405 -* if/simplify-trace-setup (2023-02-21) 1 commit
406 - (merged to 'next' on 2023-02-24 at 9c8e690f3d)
407 - + trace.c, git.c: remove unnecessary parameter to trace_repo_setup()
428
409 - Code clean-up.
429 +* en/dir-api-cleanup (2023-02-27) 13 commits
430 + (merged to 'next' on 2023-02-27 at 434ac6b592)
431 + + unpack-trees: add usage notices around df_conflict_entry
432 + + unpack-trees: special case read-tree debugging as internal usage
433 + + unpack-trees: rewrap a few overlong lines from previous patch
434 + + unpack-trees: mark fields only used internally as internal
435 + + unpack_trees: start splitting internal fields from public API
436 + + sparse-checkout: avoid using internal API of unpack-trees, take 2
437 + + sparse-checkout: avoid using internal API of unpack-trees
438 + + unpack-trees: clean up some flow control
439 + + dir: mark output only fields of dir_struct as such
440 + + dir: add a usage note to exclude_per_dir
441 + + dir: separate public from internal portion of dir_struct
442 + + unpack-trees: heed requests to overwrite ignored files
443 + + t2021: fix platform-specific leftover cruft
444
411 - Will merge to 'master'.
412 - source: <20230219002527.84315-1-mcsm224@gmail.com>
445 + Code clean-up to clarify directory traversal API.
446
447 + Will cook in 'next'.
448 + source: <pull.1149.v3.git.1677511700.gitgitgadget@gmail.com>
449
415 -* ma/fetch-parallel-use-online-cpus (2023-02-21) 1 commit
416 - (merged to 'next' on 2023-02-22 at 756d379bf0)
417 - + fetch: choose a sensible default with --jobs=0 again
450
419 - "git fetch --jobs=0" used to hit a BUG(), which has been corrected
420 - to use the available CPUs.
421 -
422 - Will merge to 'master'.
423 - source: <pull.1483.git.1676928805555.gitgitgadget@gmail.com>
424 -
425 -
426 -* pw/rebase-i-validate-labels-early (2023-02-21) 1 commit
427 - (merged to 'next' on 2023-02-22 at 9b37d42d24)
428 - + rebase -i: check labels and refs when parsing todo list
451 +* en/header-cleanup (2023-02-23) 17 commits
452 + (merged to 'next' on 2023-02-27 at f4a3707530)
453 + + diff.h: remove unnecessary include of object.h
454 + + Remove unnecessary includes of builtin.h
455 + + treewide: replace cache.h with more direct headers, where possible
456 + + replace-object.h: move read_replace_refs declaration from cache.h to here
457 + + object-store.h: move struct object_info from cache.h
458 + + dir.h: refactor to no longer need to include cache.h
459 + + object.h: stop depending on cache.h; make cache.h depend on object.h
460 + + ident.h: move ident-related declarations out of cache.h
461 + + pretty.h: move has_non_ascii() declaration from commit.h
462 + + cache.h: remove dependence on hex.h; make other files include it explicitly
463 + + hex.h: move some hex-related declarations from cache.h
464 + + hash.h: move some oid-related declarations from cache.h
465 + + alloc.h: move ALLOC_GROW() functions from cache.h
466 + + treewide: remove unnecessary cache.h includes in source files
467 + + treewide: remove unnecessary cache.h includes
468 + + treewide: remove unnecessary git-compat-util.h includes in headers
469 + + treewide: ensure one of the appropriate headers is sourced first
470 +
471 + Code clean-up to clarify the rule that "git-compat-util.h" must be
472 + the first to be included.
473 +
474 + Will cook in 'next'.
475 + source: <pull.1485.v2.git.1677197376.gitgitgadget@gmail.com>
476
430 - An invalid label or ref in the "rebase -i" todo file used to
431 - trigger an runtime error. SUch an error is now diagnosed while the
432 - todo file is parsed.
477
434 - Will merge to 'master'.
435 - source: <pull.1482.v2.git.1676902774366.gitgitgadget@gmail.com>
478 +* jk/fsck-indices-in-worktrees (2023-02-27) 4 commits
479 + (merged to 'next' on 2023-02-27 at 6eb92abb6b)
480 + + fsck: check even zero-entry index files
481 + (merged to 'next' on 2023-02-24 at 38c0793286)
482 + + fsck: mention file path for index errors
483 + + fsck: check index files in all worktrees
484 + + fsck: factor out index fsck
485
486 + "git fsck" learned to check the index files in other worktrees,
487 + just like "git gc" honors them as anchoring points.
488
438 -* tl/range-diff-custom-abbrev (2023-02-21) 1 commit
439 - (merged to 'next' on 2023-02-22 at 49db7cce13)
440 - + range-diff: let '--abbrev' option takes effect
489 + Will cook in 'next'.
490 + source: <Y/hv0MXAyBY3HEo9@coredump.intra.peff.net>
491
442 - "git range-diff" learned --abbrev=<num> option.
492
444 - Will merge to 'master'.
445 - source: <20230220142444.18739-2-tenglong.tl@alibaba-inc.com>
493 +* jk/unused-post-2.39-part2 (2023-02-24) 21 commits
494 + (merged to 'next' on 2023-02-27 at f0ec2a81b3)
495 + + help: mark unused parameter in git_unknown_cmd_config()
496 + + run_processes_parallel: mark unused callback parameters
497 + + userformat_want_item(): mark unused parameter
498 + + for_each_commit_graft(): mark unused callback parameter
499 + + rewrite_parents(): mark unused callback parameter
500 + + fetch-pack: mark unused parameter in callback function
501 + + notes: mark unused callback parameters
502 + + prio-queue: mark unused parameters in comparison functions
503 + + for_each_object: mark unused callback parameters
504 + + list-objects: mark unused callback parameters
505 + + mark unused parameters in signal handlers
506 + + run-command: mark error routine parameters as unused
507 + + mark "pointless" data pointers in callbacks
508 + + ref-filter: mark unused callback parameters
509 + + http-backend: mark unused parameters in virtual functions
510 + + http-backend: mark argc/argv unused
511 + + object-name: mark unused parameters in disambiguate callbacks
512 + + serve: mark unused parameters in virtual functions
513 + + serve: use repository pointer to get config
514 + + ls-refs: drop config caching
515 + + ref-filter: drop unused atom parameter from get_worktree_path()
516 +
517 + More work towards -Wunused.
518 +
519 + Will cook in 'next'.
520 + source: <Y/habYJxDRJQg/kJ@coredump.intra.peff.net>
521
522
523 * ew/commit-reach-clean-up-flags-fix (2023-02-11) 1 commit
@@ -453,17 +528,6 @@ Release tarballs are available at:
528 source: <20230211111526.2028178-1-e@80x24.org>
529
530
456 -* mh/credential-password-expiry (2023-02-22) 1 commit
457 - (merged to 'next' on 2023-02-24 at dbff7db22a)
458 - + credential: new attribute password_expiry_utc
459 -
460 - The credential subsystem learned that a password may have an
461 - explicit expiration.
462 -
463 - Will merge to 'master'.
464 - source: <pull.1443.v4.git.git.1676701977347.gitgitgadget@gmail.com>
465 -
466 -
531 * tk/pull-conflict-suggest-rebase-merge-not-rebase-true (2023-02-13) 1 commit
532 - pull: conflict hint pull.rebase suggestion should offer "merges" vs "true"
533
@@ -478,28 +542,30 @@ Release tarballs are available at:
542 source: <pull.1474.git.1675614276549.gitgitgadget@gmail.com>
543
544
481 -* jc/gpg-lazy-init (2023-02-09) 1 commit
482 - - gpg-interface: lazily initialize and read the configuration
545 +* jc/gpg-lazy-init (2023-02-27) 2 commits
546 + (merged to 'next' on 2023-02-27 at e3f81cfdbc)
547 + + drop pure pass-through config callbacks
548 + + gpg-interface: lazily initialize and read the configuration
549
550 Instead of forcing each command to choose to honor GPG related
551 configuration variables, make the subsystem lazily initialize
552 itself.
553
488 - Will merge to 'next'?
554 + Will cook in 'next'.
555 source: <xmqqpmaimvtd.fsf_-_@gitster.g>
556
557
492 -* mc/credential-helper-www-authenticate (2023-02-16) 3 commits
493 - - credential: add WWW-Authenticate header to cred requests
494 - - http: read HTTP WWW-Authenticate response headers
495 - - t5563: add tests for basic and anoymous HTTP access
558 +* mc/credential-helper-www-authenticate (2023-02-27) 3 commits
559 + (merged to 'next' on 2023-02-27 at 89c9bd4b8f)
560 + + credential: add WWW-Authenticate header to cred requests
561 + + http: read HTTP WWW-Authenticate response headers
562 + + t5563: add tests for basic and anoymous HTTP access
563
564 Allow information carried on the WWW-AUthenticate header to be
565 passed to the credential helpers.
566
500 - Expecting a reroll.
501 - cf. <Y/c1+Llb/D27eWdg@coredump.intra.peff.net>
502 - source: <pull.1352.v10.git.1676586881.gitgitgadget@gmail.com>
567 + Will cook in 'next'.
568 + source: <pull.1352.v11.git.1677518420.gitgitgadget@gmail.com>
569
570
571 * ab/avoid-losing-exit-codes-in-tests (2023-02-06) 6 commits
@@ -512,7 +578,7 @@ Release tarballs are available at:
578
579 Test clean-up.
580
515 - Will merge to 'next'?
581 + Will merge to 'next'.
582 source: <cover-v5-0.6-00000000000-20230206T224200Z-avarab@gmail.com>
583
584
@@ -575,18 +641,16 @@ Release tarballs are available at:
641 source: <20230120113553.24655-1-carenas@gmail.com>
642
643
578 -* rj/avoid-switching-to-already-used-branch (2023-01-22) 3 commits
644 +* rj/avoid-switching-to-already-used-branch (2023-02-25) 4 commits
645 - switch: reject if the branch is already checked out elsewhere (test)
646 - rebase: refuse to switch to a branch already checked out elsewhere (test)
647 - branch: fix die_if_checked_out() when ignore_current_worktree
648 + - worktree: introduce is_shared_symref()
649
650 A few subcommands have been taught to stop users from working on a
651 branch that is being used in another worktree linked to the same
652 repository.
586 -
587 - Expecting a hopefully minor and final reroll.
588 - cf. <d61a2393-64c8-da49-fe13-00bc4a52d5e3@gmail.com>
589 - source: <f7f45f54-9261-45ea-3399-8ba8dee6832b@gmail.com>
653 + source: <6fed3b1b-1c4e-9298-19b6-7ad9c04c87dd@gmail.com>
654
655
656 * rj/bisect-already-used-branch (2023-01-22) 1 commit
@@ -596,7 +660,7 @@ Release tarballs are available at:
660 the original one) even when the branch is already checked out in a
661 different worktree linked to the same repository.
662
599 - Will merge to 'next'?
663 + Will merge to 'next'.
664 source: <1c36c334-9f10-3859-c92f-3d889e226769@gmail.com>
665
666