What's cooking (2023/12 #03)

Junio C Hamano committed Dec 18, 2023 at 14:40 UTC a36bff70061ea18d10fd533774f4bc2a961584f0
1 file changed +465 -488
whats-cooking.txt
+465 -488
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Dec 2023, #02; Mon, 11)
3 -X-master-at: 1a87c842ece327d03d08096395969aca5e0a6996
4 -X-next-at: 7e679a4c4d5a908dba9a9861daa4163557cf570c
2 +Subject: What's cooking in git.git (Dec 2023, #03; Mon, 18)
3 +X-master-at: 624eb90fa8f65a79396615f3c2842ac5a3743350
4 +X-next-at: 073fad21af32d0c37efae35e0e1830b9bd151fcd
5 Bcc: lwn@lwn.net, gitster@pobox.com
6
7 -What's cooking in git.git (Dec 2023, #02; Mon, 11)
7 +What's cooking in git.git (Dec 2023, #03; Mon, 18)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking in my tree. Commits
@@ -60,271 +60,346 @@ Release tarballs are available at:
60 --------------------------------------------------
61 [Graduated to 'master']
62
63 -* ak/rebase-autosquash (2023-11-16) 3 commits
64 - (merged to 'next' on 2023-11-17 at 3ed6e79445)
65 - + rebase: rewrite --(no-)autosquash documentation
66 - + rebase: support --autosquash without -i
67 - + rebase: fully ignore rebase.autoSquash without -i
63 +* ac/fuzz-show-date (2023-11-20) 1 commit
64 + (merged to 'next' on 2023-12-11 at f36795a896)
65 + + fuzz: add new oss-fuzz fuzzer for date.c / date.h
66 +
67 + Subject approxidate() and show_date() machinery to OSS-Fuzz.
68 + source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>
69 +
70 +
71 +* ad/merge-file-diff-algo (2023-11-22) 1 commit
72 + (merged to 'next' on 2023-12-11 at ab43a54c43)
73 + + merge-file: add --diff-algorithm option
74 +
75 + "git merge-file" learned to take the "--diff-algorithm" option to
76 + use algorithm different from the default "myers" diff.
77 + source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>
78 +
79 +
80 +* cc/git-replay (2023-11-26) 14 commits
81 + (merged to 'next' on 2023-12-11 at 6f7d123578)
82 + + replay: stop assuming replayed branches do not diverge
83 + + replay: add --contained to rebase contained branches
84 + + replay: add --advance or 'cherry-pick' mode
85 + + replay: use standard revision ranges
86 + + replay: make it a minimal server side command
87 + + replay: remove HEAD related sanity check
88 + + replay: remove progress and info output
89 + + replay: add an important FIXME comment about gpg signing
90 + + replay: change rev walking options
91 + + replay: introduce pick_regular_commit()
92 + + replay: die() instead of failing assert()
93 + + replay: start using parse_options API
94 + + replay: introduce new builtin
95 + + t6429: remove switching aspects of fast-rebase
96 +
97 + Introduce "git replay", a tool meant on the server side without
98 + working tree to recreate a history.
99 + cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
100 + source: <20231124111044.3426007-1-christian.couder@gmail.com>
101 +
102 +
103 +* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
104 + (merged to 'next' on 2023-12-11 at c7e9846963)
105 + + builtin/reflog.c: fix dry-run option short name
106 +
107 + Command line parsing fix for "git reflog".
108 + source: <20231126000514.85509-1-josh@brob.st>
109 +
110 +
111 +* jh/trace2-redact-auth (2023-11-23) 4 commits
112 + (merged to 'next' on 2023-12-11 at 7e679a4c4d)
113 + + t0212: test URL redacting in EVENT format
114 + + t0211: test URL redacting in PERF format
115 + + trace2: redact passwords from https:// URLs by default
116 + + trace2: fix signature of trace2_def_param() macro
117 +
118 + trace2 streams used to record the URLs that potentially embed
119 + authentication material, which has been corrected.
120 + source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>
121 +
122 +
123 +* js/packfile-h-typofix (2023-11-20) 1 commit
124 + (merged to 'next' on 2023-12-11 at 328399439a)
125 + + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
126
69 - "git rebase --autosquash" is now enabled for non-interactive rebase,
70 - but it is still incompatible with the apply backend.
71 - source: <20231114214339.10925-1-andy.koppe@gmail.com>
127 + Typofix.
128 + source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>
129 +
130 +
131 +* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
132 + (merged to 'next' on 2023-12-11 at 3cda3f2a03)
133 + + doc: refer to internet archive
134 + + doc: update links for andre-simon.de
135 + + doc: switch links to https
136 + + doc: update links to current pages
137 +
138 + Stale URLs have been updated to their current counterparts (or
139 + archive.org) and HTTP links are replaced with working HTTPS links.
140 + source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>
141
142
74 -* jk/chunk-bounds-more (2023-11-09) 9 commits
75 - (merged to 'next' on 2023-11-13 at 3df4b18bea)
76 - + commit-graph: mark chunk error messages for translation
77 - + commit-graph: drop verify_commit_graph_lite()
78 - + commit-graph: check order while reading fanout chunk
79 - + commit-graph: use fanout value for graph size
80 - + commit-graph: abort as soon as we see a bogus chunk
81 - + commit-graph: clarify missing-chunk error messages
82 - + commit-graph: drop redundant call to "lite" verification
83 - + midx: check consistency of fanout table
84 - + commit-graph: handle overflow in chunk_size checks
85 - (this branch is used by tb/pair-chunk-expect.)
86 -
87 - Code clean-up for jk/chunk-bounds topic.
88 - source: <20231109070310.GA2697602@coredump.intra.peff.net>
89 -
90 -
91 -* js/ci-discard-prove-state (2023-11-14) 1 commit
92 - (merged to 'next' on 2023-11-14 at fade3ba143)
93 - + ci: avoid running the test suite _twice_
94 - (this branch uses ps/ci-gitlab.)
95 -
96 - The way CI testing used "prove" could lead to running the test
97 - suite twice needlessly, which has been corrected.
98 - source: <pull.1613.git.1699894837844.gitgitgadget@gmail.com>
143 +* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
144 + (merged to 'next' on 2023-12-11 at 618bd08fa1)
145 + + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
146 +
147 + Earlier we stopped relying on commit-graph that (still) records
148 + information about commits that are lost from the object store,
149 + which has negative performance implications. The default has been
150 + flipped to disable this pessimization.
151 + source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>
152
153
101 -* js/doc-unit-tests (2023-11-10) 3 commits
102 - (merged to 'next' on 2023-11-10 at 7d00ffd06b)
103 - + ci: run unit tests in CI
104 - + unit tests: add TAP unit test framework
105 - + unit tests: add a project plan document
106 - (this branch is used by js/doc-unit-tests-with-cmake.)
107 -
108 - Process to add some form of low-level unit tests has started.
109 - source: <cover.1699555664.git.steadmon@google.com>
154 +* ps/ref-deletion-updates (2023-11-17) 4 commits
155 + (merged to 'next' on 2023-12-11 at ca551a0c36)
156 + + refs: remove `delete_refs` callback from backends
157 + + refs: deduplicate code to delete references
158 + + refs/files: use transactions to delete references
159 + + t5510: ensure that the packed-refs file needs locking
160
161 + Simplify API implementation to delete references by eliminating
162 + duplication.
163 + source: <cover.1699951815.git.ps@pks.im>
164
112 -* js/doc-unit-tests-with-cmake (2023-11-10) 7 commits
113 - (merged to 'next' on 2023-11-10 at b4503c9c8c)
114 - + cmake: handle also unit tests
115 - + cmake: use test names instead of full paths
116 - + cmake: fix typo in variable name
117 - + artifacts-tar: when including `.dll` files, don't forget the unit-tests
118 - + unit-tests: do show relative file paths
119 - + unit-tests: do not mistake `.pdb` files for being executable
120 - + cmake: also build unit tests
121 - (this branch uses js/doc-unit-tests.)
122 -
123 - Update the base topic to work with CMake builds.
124 - source: <pull.1579.v3.git.1695640836.gitgitgadget@gmail.com>
125 -
126 -
127 -* jw/git-add-attr-pathspec (2023-11-04) 1 commit
128 - (merged to 'next' on 2023-11-13 at b61be94e4d)
129 - + attr: enable attr pathspec magic for git-add and git-stash
130 -
131 - "git add" and "git stash" learned to support the ":(attr:...)"
132 - magic pathspec.
133 - source: <20231103163449.1578841-1-jojwang@google.com>
134 -
135 -
136 -* ps/ban-a-or-o-operator-with-test (2023-11-11) 4 commits
137 - (merged to 'next' on 2023-11-14 at d84471baab)
138 - + Makefile: stop using `test -o` when unlinking duplicate executables
139 - + contrib/subtree: convert subtree type check to use case statement
140 - + contrib/subtree: stop using `-o` to test for number of args
141 - + global: convert trivial usages of `test <expr> -a/-o <expr>`
142 -
143 - Test and shell scripts clean-up.
144 - source: <cover.1699609940.git.ps@pks.im>
145 -
146 -
147 -* ps/ci-gitlab (2023-11-09) 8 commits
148 - (merged to 'next' on 2023-11-10 at ea7ed67945)
149 - + ci: add support for GitLab CI
150 - + ci: install test dependencies for linux-musl
151 - + ci: squelch warnings when testing with unusable Git repo
152 - + ci: unify setup of some environment variables
153 - + ci: split out logic to set up failed test artifacts
154 - + ci: group installation of Docker dependencies
155 - + ci: make grouping setup more generic
156 - + ci: reorder definitions for grouping functions
157 - (this branch is used by js/ci-discard-prove-state.)
158 -
159 - Add support for GitLab CI.
160 - source: <cover.1699514143.git.ps@pks.im>
161 -
162 -
163 -* ps/httpd-tests-on-nixos (2023-11-11) 3 commits
164 - (merged to 'next' on 2023-11-13 at 81bd6f5334)
165 - + t9164: fix inability to find basename(1) in Subversion hooks
166 - + t/lib-httpd: stop using legacy crypt(3) for authentication
167 - + t/lib-httpd: dynamically detect httpd and modules path
168 -
169 - Portability tweak.
170 - source: <cover.1699596457.git.ps@pks.im>
171 -
172 -
173 -* ps/ref-tests-update (2023-11-03) 10 commits
174 - (merged to 'next' on 2023-11-13 at dc26e55d6f)
175 - + t: mark several tests that assume the files backend with REFFILES
176 - + t7900: assert the absence of refs via git-for-each-ref(1)
177 - + t7300: assert exact states of repo
178 - + t4207: delete replace references via git-update-ref(1)
179 - + t1450: convert tests to remove worktrees via git-worktree(1)
180 - + t: convert tests to not access reflog via the filesystem
181 - + t: convert tests to not access symrefs via the filesystem
182 - + t: convert tests to not write references via the filesystem
183 - + t: allow skipping expected object ID in `ref-store update-ref`
184 - + Merge branch 'ps/show-ref' into ps/ref-tests-update
185 -
186 - Update ref-related tests.
187 - source: <cover.1698914571.git.ps@pks.im>
188 -
189 -
190 -* ss/format-patch-use-encode-headers-for-cover-letter (2023-11-10) 1 commit
191 - (merged to 'next' on 2023-11-14 at 1a4bd59e15)
192 - + format-patch: fix ignored encode_email_headers for cover letter
193 -
194 - "git format-patch --encode-email-headers" ignored the option when
195 - preparing the cover letter, which has been corrected.
196 - source: <20231109111950.387219-1-contact@emersion.fr>
197 -
198 -
199 -* tz/send-email-negatable-options (2023-11-17) 2 commits
200 - (merged to 'next' on 2023-11-17 at f09e533e43)
201 - + send-email: avoid duplicate specification warnings
202 - + perl: bump the required Perl version to 5.8.1 from 5.8.0
203 -
204 - Newer versions of Getopt::Long started giving warnings against our
205 - (ab)use of it in "git send-email". Bump the minimum version
206 - requirement for Perl to 5.8.1 (from September 2002) to allow
207 - simplifying our implementation.
208 - source: <20231116193014.470420-1-tmz@pobox.com>
209 -
210 -
211 -* vd/for-each-ref-unsorted-optimization (2023-11-16) 10 commits
212 - (merged to 'next' on 2023-11-17 at ff99420bf6)
213 - + t/perf: add perf tests for for-each-ref
214 - + ref-filter.c: use peeled tag for '*' format fields
215 - + for-each-ref: clean up documentation of --format
216 - + ref-filter.c: filter & format refs in the same callback
217 - + ref-filter.c: refactor to create common helper functions
218 - + ref-filter.c: rename 'ref_filter_handler()' to 'filter_one()'
219 - + ref-filter.h: add functions for filter/format & format-only
220 - + ref-filter.h: move contains caches into filter
221 - + ref-filter.h: add max_count and omit_empty to ref_format
222 - + ref-filter.c: really don't sort when using --no-sort
223 -
224 - "git for-each-ref --no-sort" still sorted the refs alphabetically
225 - which paid non-trivial cost. It has been redefined to show output
226 - in an unspecified order, to allow certain optimizations to take
227 - advantage of.
228 - source: <pull.1609.v2.git.1699991638.gitgitgadget@gmail.com>
165 +
166 +* rs/column-leakfix (2023-11-27) 1 commit
167 + (merged to 'next' on 2023-12-11 at 9ac1707337)
168 + + column: release strbuf and string_list after use
169 +
170 + Leakfix.
171 + source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>
172 +
173 +
174 +* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
175 + (merged to 'next' on 2023-12-11 at a44e1c84c9)
176 + + i18n: factorize even more 'incompatible options' messages
177 +
178 + Clean-up code that handles combinations of incompatible options.
179 + source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>
180
181 --------------------------------------------------
182 [New Topics]
183
233 -* jc/bisect-doc (2023-12-09) 1 commit
234 - - bisect: document "terms" subcommand more fully
184 +* jk/mailinfo-oob-read-fix (2023-12-12) 1 commit
185 + (merged to 'next' on 2023-12-14 at 0dcfcb0d02)
186 + + mailinfo: fix out-of-bounds memory reads in unquote_quoted_pair()
187 + (this branch is used by jk/mailinfo-iterative-unquote-comment.)
188 +
189 + OOB read fix.
190 +
191 + Will merge to 'master'.
192 + source: <20231212221243.GA1656116@coredump.intra.peff.net>
193 +
194 +
195 +* ps/pseudo-refs (2023-12-14) 4 commits
196 + - bisect: consistently write BISECT_EXPECTED_REV via the refdb
197 + - refs: complete list of special refs
198 + - refs: propagate errno when reading special refs fails
199 + - wt-status: read HEAD and ORIG_HEAD via the refdb
200 +
201 + Assorted changes around pseudoref handling.
202 + source: <cover.1702560829.git.ps@pks.im>
203 +
204 +
205 +* rs/t6300-compressed-size-fix (2023-12-13) 2 commits
206 + - test-lib-functions: add object size functions
207 + - t6300: avoid hard-coding object sizes
208 +
209 + Test fix.
210 +
211 + Will merge to 'next'?
212 + source: <9feeb6cf-aabf-4002-917f-3f6c27547bc8@web.de>
213 + source: <ff735aac-b60b-4d52-a6dc-180ab504fc8d@web.de>
214 +
215 +
216 +* es/add-doc-list-short-form-of-all-in-synopsis (2023-12-15) 1 commit
217 + (merged to 'next' on 2023-12-18 at a4f20da2bf)
218 + + git-add.txt: add missing short option -A to synopsis
219
220 Doc update.
221
238 - Needs review.
239 - source: <xmqqzfyjmk02.fsf@gitster.g>
222 + Will merge to 'master'.
223 + source: <20231215204333.1253-1-ericsunshine@charter.net>
224
225
242 -* rs/show-ref-incompatible-options (2023-12-11) 1 commit
243 - - show-ref: use die_for_incompatible_opt3()
226 +* jc/doc-misspelt-refs-fix (2023-12-18) 1 commit
227 + (merged to 'next' on 2023-12-18 at e7799fd5c9)
228 + + doc: format.notes specify a ref under refs/notes/ hierarchy
229
245 - source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
230 + Doc update.
231
247 ---------------------------------------------------
248 -[Stalled]
232 + Will merge to 'master'.
233 + source: <xmqqjzpfje33.fsf_-_@gitster.g>
234
250 -* pw/rebase-sigint (2023-09-07) 1 commit
251 - - rebase -i: ignore signals when forking subprocesses
235
253 - If the commit log editor or other external programs (spawned via
254 - "exec" insn in the todo list) receive internactive signal during
255 - "git rebase -i", it caused not just the spawned program but the
256 - "Git" process that spawned them, which is often not what the end
257 - user intended. "git" learned to ignore SIGINT and SIGQUIT while
258 - waiting for these subprocesses.
236 +* jc/doc-most-refs-are-not-that-special (2023-12-15) 5 commits
237 + (merged to 'next' on 2023-12-18 at aead30fcc8)
238 + + docs: MERGE_AUTOSTASH is not that special
239 + + docs: AUTO_MERGE is not that special
240 + + refs.h: HEAD is not that special
241 + + git-bisect.txt: BISECT_HEAD is not that special
242 + + git.txt: HEAD is not that special
243
260 - Expecting a reroll.
261 - cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
262 - source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
244 + Doc updates.
245
246 + Will merge to 'master'.
247 + source: <20231215203245.3622299-1-gitster@pobox.com>
248
265 -* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
266 - - cherry-pick: refuse cherry-pick sequence if index is dirty
249
268 - "git cherry-pick A" that replays a single commit stopped before
269 - clobbering local modification, but "git cherry-pick A..B" did not,
270 - which has been corrected.
250 +* jk/mailinfo-iterative-unquote-comment (2023-12-14) 2 commits
251 + (merged to 'next' on 2023-12-18 at 92363605fd)
252 + + mailinfo: avoid recursion when unquoting From headers
253 + + t5100: make rfc822 comment test more careful
254 + (this branch uses jk/mailinfo-oob-read-fix.)
255
272 - Expecting a reroll.
273 - cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
274 - source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>
256 + The code to parse the From e-mail header has been updated to avoid
257 + recursion.
258
259 + Will merge to 'master'.
260 + source: <20231214214444.GB2297853@coredump.intra.peff.net>
261
277 -* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
278 - - diff-lib: fix check_removed() when fsmonitor is active
279 - - Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
280 - - Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
281 - (this branch uses jc/fake-lstat.)
262
283 - The optimization based on fsmonitor in the "diff --cached"
284 - codepath is resurrected with the "fake-lstat" introduced earlier.
263 +* ps/chainlint-self-check-update (2023-12-15) 1 commit
264 + (merged to 'next' on 2023-12-18 at 0de2e1807f)
265 + + tests: adjust whitespace in chainlint expectations
266
286 - It is unknown if the optimization is worth resurrecting, but in case...
287 - source: <xmqqr0n0h0tw.fsf@gitster.g>
267 + Test framework update.
268 +
269 + Will merge to 'master'.
270 + source: <fb312f559de7b99244e4c86a995250599cd9be06.1702622508.git.ps@pks.im>
271 +
272 +
273 +* tb/multi-pack-verbatim-reuse (2023-12-14) 26 commits
274 + - t/perf: add performance tests for multi-pack reuse
275 + - pack-bitmap: enable reuse from all bitmapped packs
276 + - pack-objects: allow setting `pack.allowPackReuse` to "single"
277 + - t/test-lib-functions.sh: implement `test_trace2_data` helper
278 + - pack-objects: add tracing for various packfile metrics
279 + - pack-bitmap: prepare to mark objects from multiple packs for reuse
280 + - pack-revindex: implement `midx_pair_to_pack_pos()`
281 + - pack-revindex: factor out `midx_key_to_pack_pos()` helper
282 + - midx: implement `midx_preferred_pack()`
283 + - git-compat-util.h: implement checked size_t to uint32_t conversion
284 + - pack-objects: include number of packs reused in output
285 + - pack-objects: prepare `write_reused_pack_verbatim()` for multi-pack reuse
286 + - pack-objects: prepare `write_reused_pack()` for multi-pack reuse
287 + - pack-objects: pass `bitmapped_pack`'s to pack-reuse functions
288 + - pack-objects: keep track of `pack_start` for each reuse pack
289 + - pack-objects: parameterize pack-reuse routines over a single pack
290 + - pack-bitmap: return multiple packs via `reuse_partial_packfile_from_bitmap()`
291 + - pack-bitmap: simplify `reuse_partial_packfile_from_bitmap()` signature
292 + - ewah: implement `bitmap_is_empty()`
293 + - pack-bitmap: pass `bitmapped_pack` struct to pack-reuse functions
294 + - midx: implement `midx_locate_pack()`
295 + - midx: implement `BTMP` chunk
296 + - midx: factor out `fill_pack_info()`
297 + - pack-bitmap: plug leak in find_objects()
298 + - pack-bitmap-write: deep-clear the `bb_commit` slab
299 + - pack-objects: free packing_data in more places
300 +
301 + Streaming spans of packfile data used to be done only from a
302 + single, primary, pack in a repository with multiple packfiles. It
303 + has been extended to allow reuse from other packfiles, too.
304 +
305 + Will merge to 'next'?
306 + source: <cover.1702592603.git.me@ttaylorr.com>
307 +
308 +
309 +* rs/c99-stdbool-test-balloon (2023-12-18) 1 commit
310 + (merged to 'next' on 2023-12-18 at 5a62aaa127)
311 + + git-compat-util: convert skip_{prefix,suffix}{,_mem} to bool
312 +
313 + Test balloon to use C99 "bool" type from <stdbool.h>.
314 +
315 + Will merge to 'master'.
316 + source: <2d30dc36-6091-4b47-846f-92d3f4a8b135@web.de>
317 +
318 +
319 +* sp/test-i18ngrep (2023-12-18) 1 commit
320 + (merged to 'next' on 2023-12-18 at d54442693a)
321 + + test-lib-functions.sh: fix test_grep fail message wording
322 +
323 + Error message fix in the test framework.
324 +
325 + Will merge to 'master'.
326 + source: <20231203171956.771-1-shreyanshpaliwalcmsmn@gmail.com>
327
328 --------------------------------------------------
329 [Cooking]
330
331 +* jx/fetch-atomic-error-message-fix (2023-12-18) 2 commits
332 + (merged to 'next' on 2023-12-18 at a1988b00e5)
333 + + fetch: no redundant error message for atomic fetch
334 + + t5574: test porcelain output of atomic fetch
335 +
336 + "git fetch --atomic" issued an unnecessary empty error message,
337 + which has been corrected.
338 +
339 + Will merge to 'master'.
340 + cf. <ZX__e7VjyLXIl-uV@tanuki>
341 + source: <cover.1702821462.git.zhiyou.jx@alibaba-inc.com>
342 +
343 +
344 +* jc/bisect-doc (2023-12-09) 1 commit
345 + - bisect: document "terms" subcommand more fully
346 +
347 + Doc update.
348 +
349 + Needs review.
350 + source: <xmqqzfyjmk02.fsf@gitster.g>
351 +
352 +
353 +* rs/show-ref-incompatible-options (2023-12-11) 1 commit
354 + (merged to 'next' on 2023-12-18 at 5a092285f7)
355 + + show-ref: use die_for_incompatible_opt3()
356 +
357 + Code clean-up for sanity checking of command line options for "git
358 + show-ref".
359 +
360 + Will merge to 'master'.
361 + source: <e5304253-3347-4900-bbf2-d3c6ee3fb976@web.de>
362 +
363 +
364 * jp/use-diff-index-in-pre-commit-sample (2023-12-03) 1 commit
293 - - hooks--pre-commit: detect non-ASCII when renaming
365 + (merged to 'next' on 2023-12-12 at 4771ea61b9)
366 + + hooks--pre-commit: detect non-ASCII when renaming
367
368 The sample pre-commit hook that tries to catch introduction of new
369 paths that use potentially non-portable characters did not notice
370 an existing path getting renamed to such a problematic path, when
371 rename detection was enabled.
372
300 - Will merge to 'next'.
373 + Will merge to 'master'.
374 source: <pull.1291.v2.git.git.1701360836307.gitgitgadget@gmail.com>
375
376
377 * mk/doc-gitfile-more (2023-12-03) 1 commit
305 - - doc: make the gitfile syntax easier to discover
378 + (merged to 'next' on 2023-12-12 at 7990e4a163)
379 + + doc: make the gitfile syntax easier to discover
380
381 Doc update.
382
309 - Will merge to 'next'.
383 + Will merge to 'master'.
384 source: <20231128065558.1061206-1-mk+copyleft@pimpmybyte.de>
385
386
387 * ps/ref-tests-update-more (2023-12-03) 10 commits
314 - - t6301: write invalid object ID via `test-tool ref-store`
315 - - t5551: stop writing packed-refs directly
316 - - t5401: speed up creation of many branches
317 - - t4013: simplify magic parsing and drop "failure"
318 - - t3310: stop checking for reference existence via `test -f`
319 - - t1417: make `reflog --updateref` tests backend agnostic
320 - - t1410: use test-tool to create empty reflog
321 - - t1401: stop treating FETCH_HEAD as real reference
322 - - t1400: split up generic reflog tests from the reffile-specific ones
323 - - t0410: mark tests to require the reffiles backend
388 + (merged to 'next' on 2023-12-12 at 3d4004fe3b)
389 + + t6301: write invalid object ID via `test-tool ref-store`
390 + + t5551: stop writing packed-refs directly
391 + + t5401: speed up creation of many branches
392 + + t4013: simplify magic parsing and drop "failure"
393 + + t3310: stop checking for reference existence via `test -f`
394 + + t1417: make `reflog --updateref` tests backend agnostic
395 + + t1410: use test-tool to create empty reflog
396 + + t1401: stop treating FETCH_HEAD as real reference
397 + + t1400: split up generic reflog tests from the reffile-specific ones
398 + + t0410: mark tests to require the reffiles backend
399
400 Tests update.
401
327 - Will merge to 'next'.
402 + Will merge to 'master'.
403 source: <cover.1701242407.git.ps@pks.im>
404
405
@@ -360,74 +435,80 @@ Release tarballs are available at:
435
436
437 * jc/revision-parse-int (2023-12-09) 1 commit
363 - - revision: parse integer arguments to --max-count, --skip, etc., more carefully
438 + (merged to 'next' on 2023-12-12 at 6209b4c97c)
439 + + revision: parse integer arguments to --max-count, --skip, etc., more carefully
440
441 The command line parser for the "log" family of commands was too
442 loose when parsing certain numbers, e.g., silently ignoring the
443 extra 'q' in "git log -n 1q" without complaining, which has been
444 tightened up.
445
370 - Will merge to 'next'.
446 + Will merge to 'master'.
447 source: <xmqq5y181fx0.fsf_-_@gitster.g>
448
449
450 * jk/bisect-reset-fix (2023-12-09) 1 commit
375 - - bisect: always clean on reset
451 + (merged to 'next' on 2023-12-12 at 8f946eafb6)
452 + + bisect: always clean on reset
453
454 "git bisect reset" has been taught to clean up state files and refs
455 even when BISECT_START file is gone.
456
380 - Will merge to 'next'.
457 + Will merge to 'master'.
458 source: <20231207065341.GA778781@coredump.intra.peff.net>
459
460
461 * jk/implicit-true (2023-12-09) 7 commits
385 - - fsck: handle NULL value when parsing message config
386 - - trailer: handle NULL value when parsing trailer-specific config
387 - - submodule: handle NULL value when parsing submodule.*.branch
388 - - help: handle NULL value for alias.* config
389 - - trace2: handle NULL values in tr2_sysenv config callback
390 - - setup: handle NULL value when parsing extensions
391 - - config: handle NULL value when parsing non-bools
462 + (merged to 'next' on 2023-12-12 at 2a42fdc998)
463 + + fsck: handle NULL value when parsing message config
464 + + trailer: handle NULL value when parsing trailer-specific config
465 + + submodule: handle NULL value when parsing submodule.*.branch
466 + + help: handle NULL value for alias.* config
467 + + trace2: handle NULL values in tr2_sysenv config callback
468 + + setup: handle NULL value when parsing extensions
469 + + config: handle NULL value when parsing non-bools
470 (this branch is used by jk/config-cleanup.)
471
472 Some codepaths did not correctly parse configuration variables
473 specified with valueless "true", which has been corrected.
474
397 - Will merge to 'next'.
475 + Will merge to 'master'.
476 source: <20231207071030.GA1275835@coredump.intra.peff.net>
477
478
479 * jk/config-cleanup (2023-12-09) 9 commits
402 - - sequencer: simplify away extra git_config_string() call
403 - - gpg-interface: drop pointless config_error_nonbool() checks
404 - - push: drop confusing configset/callback redundancy
405 - - config: use git_config_string() for core.checkRoundTripEncoding
406 - - diff: give more detailed messages for bogus diff.* config
407 - - config: use config_error_nonbool() instead of custom messages
408 - - imap-send: don't use git_die_config() inside callback
409 - - git_xmerge_config(): prefer error() to die()
410 - - config: reject bogus values for core.checkstat
480 + (merged to 'next' on 2023-12-12 at 44ee006c25)
481 + + sequencer: simplify away extra git_config_string() call
482 + + gpg-interface: drop pointless config_error_nonbool() checks
483 + + push: drop confusing configset/callback redundancy
484 + + config: use git_config_string() for core.checkRoundTripEncoding
485 + + diff: give more detailed messages for bogus diff.* config
486 + + config: use config_error_nonbool() instead of custom messages
487 + + imap-send: don't use git_die_config() inside callback
488 + + git_xmerge_config(): prefer error() to die()
489 + + config: reject bogus values for core.checkstat
490 (this branch uses jk/implicit-true.)
491
492 Code clean-up around use of configuration variables.
493
415 - Will merge to 'next'.
494 + Will merge to 'master'.
495 source: <20231207071030.GA1275835@coredump.intra.peff.net>
496 source: <20231207072338.GA1277727@coredump.intra.peff.net>
497
498
499 * jk/end-of-options (2023-12-09) 1 commit
421 - - parse-options: decouple "--end-of-options" and "--"
500 + (merged to 'next' on 2023-12-12 at 4ae454b26d)
501 + + parse-options: decouple "--end-of-options" and "--"
502
423 - "git log --end-of-options --rev -- --path" learned to interpret
424 - "--rev" as a rev, and "--path" as a path, as expected.
503 + "git $cmd --end-of-options --rev -- --path" for some $cmd failed
504 + to interpret "--rev" as a rev, and "--path" as a path. This was
505 + fixed for many programs like "reset" and "checkout".
506
426 - Will merge to 'next'.
507 + Will merge to 'master'.
508 source: <20231206222145.GA136253@coredump.intra.peff.net>
509
510
430 -* ps/clone-into-reftable-repository (2023-12-09) 7 commits
511 +* ps/clone-into-reftable-repository (2023-12-12) 7 commits
512 - builtin/clone: create the refdb with the correct object format
513 - builtin/clone: skip reading HEAD when retrieving remote
514 - builtin/clone: set up sparse checkout later
@@ -440,48 +521,30 @@ Release tarballs are available at:
521 non-default hash function into a repository that uses the reftable
522 backend.
523
443 - Fails t5550 under SHA-256 mode.
444 - cf. <xmqq7clmn3w1.fsf@gitster.g>
445 - source: <cover.1701863960.git.ps@pks.im>
524 + Will merge to 'next'?
525 + source: <cover.1702361370.git.ps@pks.im>
526
527
528 * rs/incompatible-options-messages (2023-12-09) 7 commits
449 - - worktree: simplify incompatibility message for --orphan and commit-ish
450 - - worktree: standardize incompatibility messages
451 - - clean: factorize incompatibility message
452 - - revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
453 - - revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
454 - - repack: use die_for_incompatible_opt3() for -A/-k/--cruft
455 - - push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
529 + (merged to 'next' on 2023-12-12 at a13847a7f6)
530 + + worktree: simplify incompatibility message for --orphan and commit-ish
531 + + worktree: standardize incompatibility messages
532 + + clean: factorize incompatibility message
533 + + revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
534 + + revision: use die_for_incompatible_opt3() for - -graph/--reverse/--walk-reflogs
535 + + repack: use die_for_incompatible_opt3() for -A/-k/--cruft
536 + + push: use die_for_incompatible_opt4() for - -delete/--tags/--all/--mirror
537
538 Clean-up code that handles combinations of incompatible options.
539
459 - Will merge to 'next'.
460 - source: <20231206115215.94467-1-l.s.r@web.de>
461 -
462 -
463 -* ad/merge-file-diff-algo (2023-11-22) 1 commit
464 - (merged to 'next' on 2023-12-11 at ab43a54c43)
465 - + merge-file: add --diff-algorithm option
466 -
467 - "git merge-file" learned to take the "--diff-algorithm" option to
468 - use algorithm different from the default "myers" diff.
469 -
540 Will merge to 'master'.
471 - source: <pull.1606.v2.git.git.1700507932937.gitgitgadget@gmail.com>
472 -
473 -
474 -* ak/p4-initial-empty-commits (2023-11-23) 1 commit
475 - - git-p4: fix fast import when empty commit is first
476 -
477 - Expecting a reroll.
478 - source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>
541 + source: <20231206115215.94467-1-l.s.r@web.de>
542
543
481 -* jc/checkout-B-branch-in-use (2023-12-09) 3 commits
482 - - fixup! checkout: forbid "-B <branch>" from touching a branch used elsewhere
483 - - checkout: forbid "-B <branch>" from touching a branch used elsewhere
484 - - checkout: refactor die_if_checked_out() caller
544 +* jc/checkout-B-branch-in-use (2023-12-13) 2 commits
545 + (merged to 'next' on 2023-12-14 at 0a3998619e)
546 + + checkout: forbid "-B <branch>" from touching a branch used elsewhere
547 + + checkout: refactor die_if_checked_out() caller
548
549 "git checkout -B <branch> [<start-point>]" allowed a branch that is
550 in use in another worktree to be updated and checked out, which
@@ -490,78 +553,43 @@ Release tarballs are available at:
553 unbreak you, if you are used to the current behaviour that "-B"
554 overrides the safety.
555
493 - Needs review.
494 - source: <xmqqjzq9cl70.fsf@gitster.g>
495 -
496 -
497 -* jh/trace2-redact-auth (2023-11-23) 4 commits
498 - (merged to 'next' on 2023-12-11 at 7e679a4c4d)
499 - + t0212: test URL redacting in EVENT format
500 - + t0211: test URL redacting in PERF format
501 - + trace2: redact passwords from https:// URLs by default
502 - + trace2: fix signature of trace2_def_param() macro
503 -
504 - trace2 streams used to record the URLs that potentially embed
505 - authentication material, which has been corrected.
506 -
507 - Will merge to 'master'.
508 - source: <pull.1616.git.1700680717.gitgitgadget@gmail.com>
509 -
510 -
511 -* ps/commit-graph-less-paranoid (2023-11-26) 1 commit
512 - (merged to 'next' on 2023-12-11 at 618bd08fa1)
513 - + commit-graph: disable GIT_COMMIT_GRAPH_PARANOIA by default
514 -
515 - Earlier we stopped relying on commit-graph that (still) records
516 - information about commits that are lost from the object store,
517 - which has negative performance implications. The default has been
518 - flipped to disable this pessimization.
519 -
556 Will merge to 'master'.
521 - source: <17e08289cd59d20de0de9b4e18f5e6bf77987351.1700823746.git.ps@pks.im>
557 + source: <xmqqjzq9cl70.fsf@gitster.g>
558
559
560 * ps/reftable-fixes (2023-12-11) 11 commits
525 - - reftable/block: reuse buffer to compute record keys
526 - - reftable/block: introduce macro to initialize `struct block_iter`
527 - - reftable/merged: reuse buffer to compute record keys
528 - - reftable/stack: fix use of unseeded randomness
529 - - reftable/stack: fix stale lock when dying
530 - - reftable/stack: reuse buffers when reloading stack
531 - - reftable/stack: perform auto-compaction with transactional interface
532 - - reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
533 - - reftable: handle interrupted writes
534 - - reftable: handle interrupted reads
535 - - reftable: wrap EXPECT macros in do/while
561 + (merged to 'next' on 2023-12-15 at ebba966016)
562 + + reftable/block: reuse buffer to compute record keys
563 + + reftable/block: introduce macro to initialize `struct block_iter`
564 + + reftable/merged: reuse buffer to compute record keys
565 + + reftable/stack: fix use of unseeded randomness
566 + + reftable/stack: fix stale lock when dying
567 + + reftable/stack: reuse buffers when reloading stack
568 + + reftable/stack: perform auto-compaction with transactional interface
569 + + reftable/stack: verify that `reftable_stack_add()` uses auto-compaction
570 + + reftable: handle interrupted writes
571 + + reftable: handle interrupted reads
572 + + reftable: wrap EXPECT macros in do/while
573
574 Bunch of small fix-ups to the reftable code.
575
539 - Will merge to 'next'?
576 + Will merge to 'master'.
577 source: <cover.1702285387.git.ps@pks.im>
578
579
580 * en/complete-sparse-checkout (2023-12-03) 4 commits
544 - - completion: avoid user confusion in non-cone mode
545 - - completion: avoid misleading completions in cone mode
546 - - completion: fix logic for determining whether cone mode is active
547 - - completion: squelch stray errors in sparse-checkout completion
581 + (merged to 'next' on 2023-12-12 at 3de75bd6af)
582 + + completion: avoid user confusion in non-cone mode
583 + + completion: avoid misleading completions in cone mode
584 + + completion: fix logic for determining whether cone mode is active
585 + + completion: squelch stray errors in sparse-checkout completion
586
587 Command line completion (in contrib/) learned to complete path
588 arguments to the "add/set" subcommands of "git sparse-checkout"
589 better.
590
553 - Will merge to 'next'.
554 - source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>
555 -
556 -
557 -* jb/reflog-expire-delete-dry-run-options (2023-11-26) 1 commit
558 - (merged to 'next' on 2023-12-11 at c7e9846963)
559 - + builtin/reflog.c: fix dry-run option short name
560 -
561 - Command line parsing fix for "git reflog".
562 -
591 Will merge to 'master'.
564 - source: <20231126000514.85509-1-josh@brob.st>
592 + source: <pull.1349.v3.git.1701583024.gitgitgadget@gmail.com>
593
594
595 * jc/orphan-unborn (2023-11-24) 2 commits
@@ -574,47 +602,8 @@ Release tarballs are available at:
602 source: <xmqq4jhb977x.fsf@gitster.g>
603
604
577 -* rs/column-leakfix (2023-11-27) 1 commit
578 - (merged to 'next' on 2023-12-11 at 9ac1707337)
579 - + column: release strbuf and string_list after use
580 -
581 - Leakfix.
582 -
583 - Will merge to 'master'.
584 - source: <f087137d-a5aa-487e-a1cb-0ad7117b38ed@web.de>
585 -
586 -
587 -* rs/i18n-cannot-be-used-together (2023-11-27) 1 commit
588 - (merged to 'next' on 2023-12-11 at a44e1c84c9)
589 - + i18n: factorize even more 'incompatible options' messages
590 -
591 - Clean-up code that handles combinations of incompatible options.
592 -
593 - Will merge to 'master'.
594 - source: <e6eb12e4-bb63-473c-9c2f-965a4d5981ad@web.de>
595 -
596 -
597 -* ac/fuzz-show-date (2023-11-20) 1 commit
598 - (merged to 'next' on 2023-12-11 at f36795a896)
599 - + fuzz: add new oss-fuzz fuzzer for date.c / date.h
600 -
601 - Subject approxidate() and show_date() machinery to OSS-Fuzz.
602 -
603 - Will merge to 'master'.
604 - source: <pull.1612.v4.git.1700243267653.gitgitgadget@gmail.com>
605 -
606 -
607 -* js/packfile-h-typofix (2023-11-20) 1 commit
608 - (merged to 'next' on 2023-12-11 at 328399439a)
609 - + packfile.c: fix a typo in `each_file_in_pack_dir_fn()`'s declaration
610 -
611 - Typofix.
612 -
613 - Will merge to 'master'.
614 - source: <pull.1614.git.1700226915859.gitgitgadget@gmail.com>
615 -
616 -
617 -* jw/builtin-objectmode-attr (2023-12-09) 1 commit
605 +* jw/builtin-objectmode-attr (2023-12-12) 2 commits
606 + - SQUASH??? - leakfix
607 - attr: add builtin objectmode values support
608
609 The builtin_objectmode attribute is populated for each path
@@ -622,66 +611,10 @@ Release tarballs are available at:
611 useful in magic pathspec, e.g., ":(attr:builtin_objectmode=100755)"
612 to limit to executables.
613
625 - Will merge to 'next'.
614 + Needs to get leakfix reviewed.
615 source: <20231116054437.2343549-1-jojwang@google.com>
616
617
629 -* ps/ref-deletion-updates (2023-11-17) 4 commits
630 - (merged to 'next' on 2023-12-11 at ca551a0c36)
631 - + refs: remove `delete_refs` callback from backends
632 - + refs: deduplicate code to delete references
633 - + refs/files: use transactions to delete references
634 - + t5510: ensure that the packed-refs file needs locking
635 -
636 - Simplify API implementation to delete references by eliminating
637 - duplication.
638 -
639 - Will merge to 'master'.
640 - source: <cover.1699951815.git.ps@pks.im>
641 -
642 -
643 -* jx/fetch-atomic-error-message-fix (2023-10-19) 2 commits
644 - - fetch: no redundant error message for atomic fetch
645 - - t5574: test porcelain output of atomic fetch
646 -
647 - "git fetch --atomic" issued an unnecessary empty error message,
648 - which has been corrected.
649 -
650 - Expecting an update.
651 - cf. <ZTjQIrCgSANAT8wR@tanuki>
652 - source: <ced46baeb1c18b416b4b4cc947f498bea2910b1b.1697725898.git.zhiyou.jx@alibaba-inc.com>
653 -
654 -
655 -* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
656 - - bugreport: include +i in outfile suffix as needed
657 -
658 - Instead of auto-generating a filename that is already in use for
659 - output and fail the command, `git bugreport` learned to fuzz the
660 - filename to avoid collisions with existing files.
661 -
662 - Expecting a reroll.
663 - cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
664 - source: <20231016214045.146862-2-jacob@initialcommit.io>
665 -
666 -
667 -* kh/t7900-cleanup (2023-10-17) 9 commits
668 - - t7900: fix register dependency
669 - - t7900: factor out packfile dependency
670 - - t7900: fix `print-args` dependency
671 - - t7900: fix `pfx` dependency
672 - - t7900: factor out common schedule setup
673 - - t7900: factor out inheritance test dependency
674 - - t7900: create commit so that branch is born
675 - - t7900: setup and tear down clones
676 - - t7900: remove register dependency
677 -
678 - Test clean-up.
679 -
680 - Perhaps discard?
681 - cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
682 - source: <cover.1697319294.git.code@khaugsbakk.name>
683 -
684 -
618 * tb/merge-tree-write-pack (2023-10-23) 5 commits
619 - builtin/merge-tree.c: implement support for `--write-pack`
620 - bulk-checkin: introduce `index_tree_bulk_checkin_incore()`
@@ -740,31 +673,6 @@ Release tarballs are available at:
673 source: <cover.1697653929.git.me@ttaylorr.com>
674
675
743 -* cc/git-replay (2023-11-26) 14 commits
744 - (merged to 'next' on 2023-12-11 at 6f7d123578)
745 - + replay: stop assuming replayed branches do not diverge
746 - + replay: add --contained to rebase contained branches
747 - + replay: add --advance or 'cherry-pick' mode
748 - + replay: use standard revision ranges
749 - + replay: make it a minimal server side command
750 - + replay: remove HEAD related sanity check
751 - + replay: remove progress and info output
752 - + replay: add an important FIXME comment about gpg signing
753 - + replay: change rev walking options
754 - + replay: introduce pick_regular_commit()
755 - + replay: die() instead of failing assert()
756 - + replay: start using parse_options API
757 - + replay: introduce new builtin
758 - + t6429: remove switching aspects of fast-rebase
759 -
760 - Introduce "git replay", a tool meant on the server side without
761 - working tree to recreate a history.
762 -
763 - Will merge to 'master'.
764 - cf. <6bfe1541-54dd-ca6b-e930-94d3038060f1@gmx.de>
765 - source: <20231124111044.3426007-1-christian.couder@gmail.com>
766 -
767 -
676 * ak/color-decorate-symbols (2023-10-23) 7 commits
677 - log: add color.decorate.pseudoref config variable
678 - refs: exempt pseudorefs from pattern prefixing
@@ -780,20 +688,6 @@ Release tarballs are available at:
688 source: <20231023221143.72489-1-andy.koppe@gmail.com>
689
690
783 -* js/update-urls-in-doc-and-comment (2023-11-26) 4 commits
784 - (merged to 'next' on 2023-12-11 at 3cda3f2a03)
785 - + doc: refer to internet archive
786 - + doc: update links for andre-simon.de
787 - + doc: switch links to https
788 - + doc: update links to current pages
789 -
790 - Stale URLs have been updated to their current counterparts (or
791 - archive.org) and HTTP links are replaced with working HTTPS links.
792 -
793 - Will merge to 'master'.
794 - source: <pull.1589.v3.git.1700796916.gitgitgadget@gmail.com>
795 -
796 -
691 * la/trailer-cleanups (2023-10-20) 3 commits
692 - trailer: use offsets for trailer_start/trailer_end
693 - trailer: find the end of the log message
@@ -843,7 +737,7 @@ Release tarballs are available at:
737 source: <878r8l929e.fsf@gmail.froward.int.ebiederm.org>
738
739
846 -* jx/remote-archive-over-smart-http (2023-10-04) 4 commits
740 +* jx/remote-archive-over-smart-http (2023-12-14) 4 commits
741 - archive: support remote archive from stateless transport
742 - transport-helper: call do_take_over() in connect_helper
743 - transport-helper: call do_take_over() in process_connect
@@ -853,42 +747,30 @@ Release tarballs are available at:
747 http (aka stateless) transport.
748
749 Needs review.
856 - source: <cover.1696432593.git.zhiyou.jx@alibaba-inc.com>
750 + source: <cover.1702562879.git.zhiyou.jx@alibaba-inc.com>
751
752
859 -* jx/sideband-chomp-newline-fix (2023-10-04) 3 commits
753 +* jx/sideband-chomp-newline-fix (2023-12-18) 3 commits
754 - pkt-line: do not chomp newlines for sideband messages
755 - pkt-line: memorize sideband fragment in reader
756 - test-pkt-line: add option parser for unpack-sideband
757
758 Sideband demultiplexer fixes.
759
866 - Needs review.
867 - source: <cover.1696425168.git.zhiyou.jx@alibaba-inc.com>
868 -
869 -
870 -* js/config-parse (2023-09-21) 5 commits
871 - - config-parse: split library out of config.[c|h]
872 - - config.c: accept config_parse_options in git_config_from_stdin
873 - - config: report config parse errors using cb
874 - - config: split do_event() into start and flush operations
875 - - config: split out config_parse_options
876 -
877 - The parsing routines for the configuration files have been split
878 - into a separate file.
879 -
880 - Needs review.
881 - source: <cover.1695330852.git.steadmon@google.com>
760 + Will merge to 'next'?
761 + source: <cover.1702823801.git.zhiyou.jx@alibaba-inc.com>
762
763
764 * jc/fake-lstat (2023-09-15) 1 commit
885 - - cache: add fake_lstat()
765 + (merged to 'next' on 2023-12-15 at 48e34cc0b4)
766 + + cache: add fake_lstat()
767 (this branch is used by jc/diff-cached-fsmonitor-fix.)
768
769 A new helper to let us pretend that we called lstat() when we know
770 our cache_entry is up-to-date via fsmonitor.
771
891 - Needs review.
772 + Will merge to 'master'.
773 + cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
774 source: <xmqqcyykig1l.fsf@gitster.g>
775
776
@@ -912,3 +794,98 @@ Release tarballs are available at:
794
795 Needs review.
796 source: <2e24ca9b-9c5f-f4df-b9f8-6574a714dfb2@gmail.com>
797 +
798 +--------------------------------------------------
799 +[Discarded]
800 +
801 +* ak/p4-initial-empty-commits (2023-11-23) 1 commit
802 + - git-p4: fix fast import when empty commit is first
803 +
804 + Expecting a reroll.
805 + source: <pull.1609.git.git.1700639764041.gitgitgadget@gmail.com>
806 +
807 +
808 +* js/bugreport-in-the-same-minute (2023-10-16) 1 commit
809 + - bugreport: include +i in outfile suffix as needed
810 +
811 + Instead of auto-generating a filename that is already in use for
812 + output and fail the command, `git bugreport` learned to fuzz the
813 + filename to avoid collisions with existing files.
814 +
815 + Expecting a reroll.
816 + cf. <ZTtZ5CbIGETy1ucV.jacob@initialcommit.io>
817 + source: <20231016214045.146862-2-jacob@initialcommit.io>
818 +
819 +
820 +* kh/t7900-cleanup (2023-10-17) 9 commits
821 + - t7900: fix register dependency
822 + - t7900: factor out packfile dependency
823 + - t7900: fix `print-args` dependency
824 + - t7900: fix `pfx` dependency
825 + - t7900: factor out common schedule setup
826 + - t7900: factor out inheritance test dependency
827 + - t7900: create commit so that branch is born
828 + - t7900: setup and tear down clones
829 + - t7900: remove register dependency
830 +
831 + Test clean-up.
832 +
833 + Perhaps discard?
834 + cf. <655ca147-c214-41be-919d-023c1b27b311@app.fastmail.com>
835 + source: <cover.1697319294.git.code@khaugsbakk.name>
836 +
837 +
838 +* js/config-parse (2023-09-21) 5 commits
839 + - config-parse: split library out of config.[c|h]
840 + - config.c: accept config_parse_options in git_config_from_stdin
841 + - config: report config parse errors using cb
842 + - config: split do_event() into start and flush operations
843 + - config: split out config_parse_options
844 +
845 + The parsing routines for the configuration files have been split
846 + into a separate file.
847 +
848 + Needs review.
849 + source: <cover.1695330852.git.steadmon@google.com>
850 +
851 +
852 +* jc/diff-cached-fsmonitor-fix (2023-09-15) 3 commits
853 + (merged to 'next' on 2023-12-15 at 4aa7596593)
854 + + diff-lib: fix check_removed() when fsmonitor is active
855 + + Merge branch 'jc/fake-lstat' into jc/diff-cached-fsmonitor-fix
856 + + Merge branch 'js/diff-cached-fsmonitor-fix' into jc/diff-cached-fsmonitor-fix
857 + (this branch uses jc/fake-lstat.)
858 +
859 + The optimization based on fsmonitor in the "diff --cached"
860 + codepath is resurrected with the "fake-lstat" introduced earlier.
861 +
862 + Will merge to 'master'.
863 + cf. <e5295dbe-94d2-3186-5663-2466eba4bdde@jeffhostetler.com>
864 + source: <xmqqr0n0h0tw.fsf@gitster.g>
865 +
866 +
867 +* pw/rebase-sigint (2023-09-07) 1 commit
868 + - rebase -i: ignore signals when forking subprocesses
869 +
870 + If the commit log editor or other external programs (spawned via
871 + "exec" insn in the todo list) receive internactive signal during
872 + "git rebase -i", it caused not just the spawned program but the
873 + "Git" process that spawned them, which is often not what the end
874 + user intended. "git" learned to ignore SIGINT and SIGQUIT while
875 + waiting for these subprocesses.
876 +
877 + Expecting a reroll.
878 + cf. <12c956ea-330d-4441-937f-7885ab519e26@gmail.com>
879 + source: <pull.1581.git.1694080982621.gitgitgadget@gmail.com>
880 +
881 +
882 +* tk/cherry-pick-sequence-requires-clean-worktree (2023-06-01) 1 commit
883 + - cherry-pick: refuse cherry-pick sequence if index is dirty
884 +
885 + "git cherry-pick A" that replays a single commit stopped before
886 + clobbering local modification, but "git cherry-pick A..B" did not,
887 + which has been corrected.
888 +
889 + Expecting a reroll.
890 + cf. <999f12b2-38d6-f446-e763-4985116ad37d@gmail.com>
891 + source: <pull.1535.v2.git.1685264889088.gitgitgadget@gmail.com>