What's cooking (2021/01 #06)

Junio C Hamano committed Jan 30, 2021 at 15:58 UTC 90d35879db1318d9bb9e5ed99a310dde58ca6d63
1 file changed +435 -575
whats-cooking.txt
+435 -575
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2021, #05; Mon, 25)
3 +Subject: What's cooking in git.git (Jan 2021, #06; Sat, 30)
4 X-master-at: e6362826a0409539642a5738db61827e5978e2e4
5 -X-next-at: 705c353deb6a369b8980a2bb0d65b01976f53945
5 +X-next-at: 8a0d178c013a91a4fbcc0b11ba797df4127f40be
6
7 -What's cooking in git.git (Jan 2021, #05; Mon, 25)
7 +What's cooking in git.git (Jan 2021, #06; Sat, 30)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,23 +12,6 @@ only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed
12 with '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The fourth batch of topics are now in 'master'. Dscho's "we
16 -shouldn't break our tests, or reduce coverage by them, when 'git
17 -init' starts using 'main' as the fallback default name for the
18 -initial branch topic is in. Two of the topics have especially
19 -noteworthy impact to end-users and developers, so I've added the
20 -following to the draft release notes:
21 -
22 - Backward incompatible and other important changes
23 -
24 - * The "pack-redundant" command, which has been left stale with almost
25 - unusable performance issues, now warns loudly when it gets used, as
26 - we no longer want to recommend its use (instead just "repack -d"
27 - instead).
28 -
29 - * The development community has adopted Contributor Covenant v2.0 to
30 - update from v1.4 that we have been using.
31 -
15 Copies of the source code to Git live in many repositories, and the
16 following is a list of the ones I push into or their mirrors. Some
17 repositories have only a subset of branches.
@@ -57,533 +40,192 @@ Release tarballs are available at:
40
41 https://www.kernel.org/pub/software/scm/git/
42
60 ---------------------------------------------------
61 -[Graduated to 'master']
62 -
63 -* ab/branch-sort (2021-01-07) 7 commits
64 - (merged to 'next' on 2021-01-12 at 1231feea7c)
65 - + branch: show "HEAD detached" first under reverse sort
66 - + branch: sort detached HEAD based on a flag
67 - + ref-filter: move ref_sorting flags to a bitfield
68 - + ref-filter: move "cmp_fn" assignment into "else if" arm
69 - + ref-filter: add braces to if/else if/else chain
70 - + branch tests: add to --sort tests
71 - + branch: change "--local" to "--list" in comment
72 -
73 - The implementation of "git branch --sort" wrt the detached HEAD
74 - display has always been hacky, which has been cleaned up.
75 -
76 -
77 -* ab/coc-update-to-2.0 (2021-01-13) 3 commits
78 - (merged to 'next' on 2021-01-15 at 4859c12625)
79 - + CoC: update to version 2.0 + local changes
80 - + CoC: explicitly take any whitespace breakage
81 - + CoC: Update word-wrapping to match upstream
82 -
83 - Update the Code-of-conduct to version 2.0 from the upstream (we've
84 - been using version 1.4).
85 -
86 -
87 -* ab/mailmap (2021-01-12) 22 commits
88 - (merged to 'next' on 2021-01-13 at a3ce27912f)
89 - + shortlog: remove unused(?) "repo-abbrev" feature
90 - + mailmap doc + tests: document and test for case-insensitivity
91 - + mailmap tests: add tests for empty "<>" syntax
92 - + mailmap tests: add tests for whitespace syntax
93 - + mailmap tests: add a test for comment syntax
94 - + mailmap doc + tests: add better examples & test them
95 - + tests: refactor a few tests to use "test_commit --append"
96 - + test-lib functions: add an --append option to test_commit
97 - + test-lib functions: add --author support to test_commit
98 - + test-lib functions: document arguments to test_commit
99 - + test-lib functions: expand "test_commit" comment template
100 - + mailmap: test for silent exiting on missing file/blob
101 - + mailmap tests: get rid of overly complex blame fuzzing
102 - + mailmap tests: add a test for "not a blob" error
103 - + mailmap tests: remove redundant entry in test
104 - + mailmap tests: improve --stdin tests
105 - + mailmap tests: modernize syntax & test idioms
106 - + mailmap tests: use our preferred whitespace syntax
107 - + mailmap doc: start by mentioning the comment syntax
108 - + check-mailmap doc: note config options
109 - + mailmap doc: quote config variables `like.this`
110 - + mailmap doc: create a new "gitmailmap(5)" man page
111 - (this branch is used by ab/mailmap-fixup.)
112 -
113 - Clean-up docs, codepaths and tests around mailmap.
114 -
115 -
116 -* ab/mailmap-fixup (2021-01-14) 4 commits
117 - (merged to 'next' on 2021-01-15 at ef14e2263d)
118 - + t4203: make blame output massaging more robust
119 - + mailmap doc: use correct environment variable 'GIT_WORK_TREE'
120 - + t4203: stop losing return codes of git commands
121 - + test-lib-functions.sh: fix usage for test_commit()
122 - (this branch uses ab/mailmap.)
123 -
124 - Follow-up fixes and improvements to ab/mailmap topic.
125 -
126 -
127 -* ab/mktag (2021-01-06) 23 commits
128 - (merged to 'next' on 2021-01-08 at 6f9e11ad97)
129 - + mktag: add a --[no-]strict option
130 - + mktag: mark strings for translation
131 - + mktag: convert to parse-options
132 - + mktag: allow omitting the header/body \n separator
133 - + mktag: allow turning off fsck.extraHeaderEntry
134 - + fsck: make fsck_config() re-usable
135 - + mktag: use fsck instead of custom verify_tag()
136 - + mktag: use puts(str) instead of printf("%s\n", str)
137 - + mktag: remove redundant braces in one-line body "if"
138 - + mktag: use default strbuf_read() hint
139 - + mktag tests: test verify_object() with replaced objects
140 - + mktag tests: improve verify_object() test coverage
141 - + mktag tests: test "hash-object" compatibility
142 - + mktag tests: stress test whitespace handling
143 - + mktag tests: run "fsck" after creating "mytag"
144 - + mktag tests: don't create "mytag" twice
145 - + mktag tests: don't redirect stderr to a file needlessly
146 - + mktag tests: remove needless SHA-1 hardcoding
147 - + mktag tests: use "test_commit" helper
148 - + mktag tests: don't needlessly use a subshell
149 - + mktag doc: update to explain why to use this
150 - + mktag doc: grammar fix, when exists -> when it exists
151 - + mktag doc: say <hash> not <sha1>
152 -
153 - "git mktag" validates its input using its own rules before writing
154 - a tag object---it has been updated to share the logic with "git
155 - fsck".
156 -
157 -
158 -* cc/write-promisor-file (2021-01-14) 3 commits
159 - (merged to 'next' on 2021-01-14 at 9d773d4734)
160 - + pack-write: die on error in write_promisor_file()
161 - + fetch-pack: refactor writing promisor file
162 - + fetch-pack: rename helper to create_promisor_file()
163 -
164 - A bit of code refactoring.
165 -
166 -
167 -* dl/reflog-with-single-entry (2021-01-11) 2 commits
168 - (merged to 'next' on 2021-01-13 at 09b33209c4)
169 - + refs: allow @{n} to work with n-sized reflog
170 - + refs: factor out set_read_ref_cutoffs()
171 -
172 - After expiring a reflog and making a single commit, the reflog for
173 - the branch would record a single entry that knows both @{0} and
174 - @{1}, but we failed to answer "what commit were we on?", i.e. @{1}
175 -
176 -
177 -* en/diffcore-rename (2021-01-04) 9 commits
178 - (merged to 'next' on 2021-01-12 at fa769ebc35)
179 - + diffcore-rename: remove unnecessary duplicate entry checks
180 - + diffcore-rename: accelerate rename_dst setup
181 - + diffcore-rename: simplify and accelerate register_rename_src()
182 - + t4058: explore duplicate tree entry handling in a bit more detail
183 - + t4058: add more tests and documentation for duplicate tree entry handling
184 - + diffcore-rename: reduce jumpiness in progress counters
185 - + diffcore-rename: simplify limit check
186 - + diffcore-rename: avoid usage of global in too_many_rename_candidates()
187 - + diffcore-rename: rename num_create to num_destinations
188 - (this branch is used by en/merge-ort-perf.)
189 -
190 - File-level rename detection updates.
191 -
192 -
193 -* en/merge-ort-3 (2020-12-15) 11 commits
194 - (merged to 'next' on 2021-01-08 at fe481b9627)
195 - + merge-ort: add implementation of type-changed rename handling
196 - + merge-ort: add implementation of normal rename handling
197 - + merge-ort: add implementation of rename collisions
198 - + merge-ort: add implementation of rename/delete conflicts
199 - + merge-ort: add implementation of both sides renaming differently
200 - + merge-ort: add implementation of both sides renaming identically
201 - + merge-ort: add basic outline for process_renames()
202 - + merge-ort: implement compare_pairs() and collect_renames()
203 - + merge-ort: implement detect_regular_renames()
204 - + merge-ort: add initial outline for basic rename detection
205 - + merge-ort: add basic data structures for handling renames
206 - (this branch is used by en/merge-ort-perf and en/ort-directory-rename.)
207 -
208 - Rename detection is added to the "ORT" merge strategy.
209 -
210 -
211 -* jc/deprecate-pack-redundant (2020-12-15) 1 commit
212 - (merged to 'next' on 2021-01-12 at 14034c7892)
213 - + pack-redundant: gauge the usage before proposing its removal
214 -
215 - Warn loudly when the "pack-redundant" command, which has been left
216 - stale with almost unusable performance issues, gets used, as we no
217 - longer want to recommend its use (instead just "repack -d" instead).
218 -
219 -
220 -* jk/forbid-lf-in-git-url (2021-01-07) 2 commits
221 - (merged to 'next' on 2021-01-12 at 88a1d937ae)
222 - + fsck: reject .gitmodules git:// urls with newlines
223 - + git_connect_git(): forbid newlines in host and path
224 -
225 - Newline characters in the host and path part of git:// URL are
226 - now forbidden.
227 -
228 -
229 -* jk/log-cherry-pick-duplicate-patches (2021-01-12) 1 commit
230 - (merged to 'next' on 2021-01-13 at abcfbf8603)
231 - + patch-ids: handle duplicate hashmap entries
232 -
233 - When more than one commit with the same patch ID appears on one
234 - side, "git log --cherry-pick A...B" did not exclude them all when a
235 - commit with the same patch ID appears on the other side. Now it
236 - does.
237 -
238 -
239 -* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
240 - (merged to 'next' on 2021-01-13 at 0e93f0d529)
241 - + tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
242 - + t99*: adjust the references to the default branch name "main"
243 - + tests(git-p4): transition to the default branch name `main`
244 - + t9[5-7]*: adjust the references to the default branch name "main"
245 - + t9[0-4]*: adjust the references to the default branch name "main"
246 - + t8*: adjust the references to the default branch name "main"
247 - + t7[5-9]*: adjust the references to the default branch name "main"
248 - + t7[0-4]*: adjust the references to the default branch name "main"
249 - + t6[4-9]*: adjust the references to the default branch name "main"
250 - + t64*: preemptively adjust alignment to prepare for `master` -> `main`
251 - + t6[0-3]*: adjust the references to the default branch name "main"
252 - + t5[6-9]*: adjust the references to the default branch name "main"
253 - + t55[4-9]*: adjust the references to the default branch name "main"
254 - + t55[23]*: adjust the references to the default branch name "main"
255 - + t551*: adjust the references to the default branch name "main"
256 - + t550*: adjust the references to the default branch name "main"
257 - + t5503: prepare aligned comment for replacing `master` with `main`
258 - + t5[0-4]*: adjust the references to the default branch name "main"
259 - + t5323: prepare centered comment for `master` -> `main`
260 - + t4*: adjust the references to the default branch name "main"
261 - + t3[5-9]*: adjust the references to the default branch name "main"
262 - + t34*: adjust the references to the default branch name "main"
263 - + t3416: preemptively adjust alignment in a comment
264 - + t3[0-3]*: adjust the references to the default branch name "main"
265 - + t2*: adjust the references to the default branch name "main"
266 - + t[01]*: adjust the references to the default branch name "main"
267 - + t0060: preemptively adjust alignment
268 - + tests: mark tests relying on the current default for `init.defaultBranch`
269 - + Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
270 -
271 - Prepare tests not to be affected by the name of the default branch
272 - "git init" creates.
273 -
274 -
275 -* jx/bundle (2021-01-11) 3 commits
276 - (merged to 'next' on 2021-01-14 at 749a907dd2)
277 - + bundle: arguments can be read from stdin
278 - + bundle: lost objects when removing duplicate pendings
279 - + test: add helper functions for git-bundle
280 -
281 - "git bundle" learns "--stdin" option to read its refs from the
282 - standard input. Also, it now does not lose refs whey they point
283 - at the same object.
284 -
285 -
286 -* ma/more-opaque-lock-file (2021-01-06) 5 commits
287 - (merged to 'next' on 2021-01-12 at f246e38b50)
288 - + read-cache: try not to peek into `struct {lock_,temp}file`
289 - + refs/files-backend: don't peek into `struct lock_file`
290 - + midx: don't peek into `struct lock_file`
291 - + commit-graph: don't peek into `struct lock_file`
292 - + builtin/gc: don't peek into `struct lock_file`
293 -
294 - Code clean-up.
295 -
296 -
297 -* ps/config-env-pairs (2021-01-15) 8 commits
298 - (merged to 'next' on 2021-01-15 at 4ed0341270)
299 - + config: allow specifying config entries via envvar pairs
300 - + environment: make `getenv_safe()` a public function
301 - + config: store "git -c" variables using more robust format
302 - + config: parse more robust format in GIT_CONFIG_PARAMETERS
303 - + config: extract function to parse config pairs
304 - + quote: make sq_dequote_step() a public function
305 - + config: add new way to pass config via `--config-env`
306 - + git: add `--super-prefix` to usage string
307 -
308 - Introduce two new ways to feed configuration variable-value pairs
309 - via environment variables, and tweak the way GIT_CONFIG_PARAMETERS
310 - encodes variable/value pairs to make it more robust.
311 -
312 -
313 -* ps/fetch-atomic (2021-01-12) 5 commits
314 - (merged to 'next' on 2021-01-13 at a8896d0873)
315 - + fetch: implement support for atomic reference updates
316 - + fetch: allow passing a transaction to `s_update_ref()`
317 - + fetch: refactor `s_update_ref` to use common exit path
318 - + fetch: use strbuf to format FETCH_HEAD updates
319 - + fetch: extract writing to FETCH_HEAD
320 -
321 - "git fetch" learns to treat ref updates atomically in all-or-none
322 - fashion, just like "git push" does, with the new "--atomic" option.
323 -
324 -
325 -* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-12-08) 1 commit
326 - (merged to 'next' on 2021-01-12 at 2aca21c42e)
327 - + diff: do not show submodule with untracked files as "-dirty"
328 -
329 - "git diff" showed a submodule working tree with untracked cruft as
330 - "Submodule commit <objectname>-dirty", but a natural expectation is
331 - that the "-dirty" indicator would align with "git describe --dirty",
332 - which does not consider having untracked files in the working tree
333 - as source of dirtiness. The inconsistency has been fixed.
334 -
335 -
336 -* tb/pack-revindex-api (2021-01-14) 21 commits
337 - (merged to 'next' on 2021-01-15 at 1f2997979c)
338 - + for_each_object_in_pack(): clarify pack vs index ordering
339 - + pack-revindex.c: avoid direct revindex access in 'offset_to_pack_pos()'
340 - + pack-revindex: hide the definition of 'revindex_entry'
341 - + pack-revindex: remove unused 'find_revindex_position()'
342 - + pack-revindex: remove unused 'find_pack_revindex()'
343 - + builtin/gc.c: guess the size of the revindex
344 - + for_each_object_in_pack(): convert to new revindex API
345 - + unpack_entry(): convert to new revindex API
346 - + packed_object_info(): convert to new revindex API
347 - + retry_bad_packed_offset(): convert to new revindex API
348 - + get_delta_base_oid(): convert to new revindex API
349 - + rebuild_existing_bitmaps(): convert to new revindex API
350 - + try_partial_reuse(): convert to new revindex API
351 - + get_size_by_pos(): convert to new revindex API
352 - + show_objects_for_type(): convert to new revindex API
353 - + bitmap_position_packfile(): convert to new revindex API
354 - + check_object(): convert to new revindex API
355 - + write_reused_pack_verbatim(): convert to new revindex API
356 - + write_reused_pack_one(): convert to new revindex API
357 - + write_reuse_object(): convert to new revindex API
358 - + pack-revindex: introduce a new API
359 - (this branch is used by tb/pack-revindex-on-disk.)
360 -
361 - Abstract accesses to in-core revindex that allows enumerating
362 - objects stored in a packfile in the order they appear in the pack,
363 - in preparation for introducing an on-disk precomputed revindex.
364 -
43 --------------------------------------------------
44 [New Topics]
45
368 -* cm/rebase-i (2021-01-24) 9 commits
369 - . doc/git-rebase: add documentation for fixup [-C|-c] options
370 - . rebase -i: teach --autosquash to work with amend!
371 - . t3437: test script for fixup [-C|-c] options in interactive rebase
372 - . rebase -i: add fixup [-C | -c] command
373 - . sequencer: use const variable for commit message comments
374 - . sequencer: pass todo_item to do_pick_commit()
375 - . rebase -i: comment out squash!/fixup! subjects from squash message
376 - . sequencer: factor out code to append squash message
377 - . rebase -i: only write fixup-message when it's needed
46 +* ab/lose-grep-debug (2021-01-26) 1 commit
47 + - grep/log: remove hidden --debug and --grep-debug options
48
379 - "rebase -i" is getting cleaned up and also enhanced.
380 -
381 - It seems to break t3415 when merged to 'seen'.
382 -
383 -
384 -* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
385 - - t7900: clean up some broken refs
386 - - maintenance: set log.excludeDecoration durin prefetch
387 -
388 - Test clean-up plus UI improvement by hiding extra refs that
389 - the prefetch task uses from "log --decorate" output.
49 + Lose the debugging aid that may have been useful in the past, but
50 + no longer would be.
51
52 Will merge to 'next'.
53
54
394 -* ds/more-index-cleanups (2021-01-23) 9 commits
395 - - t1092: test interesting sparse-checkout scenarios
396 - - test-lib: test_region looks for trace2 regions
397 - - sparse-checkout: load sparse-checkout patterns
398 - - name-hash: use trace2 regions for init
399 - - repository: add repo reference to index_state
400 - - fsmonitor: de-duplicate BUG()s around dirty bits
401 - - cache-tree: extract subtree_pos()
402 - - cache-tree: simplify verify_cache() prototype
403 - - cache-tree: clean up cache_tree_update()
404 - (this branch uses ds/cache-tree-basics.)
405 -
406 - Cleaning various codepaths up.
55 +* ds/chunked-file-api (2021-01-27) 17 commits
56 + - chunk-format: add technical docs
57 + - chunk-format: restore duplicate chunk checks
58 + - midx: use 64-bit multiplication for chunk sizes
59 + - midx: use chunk-format read API
60 + - commit-graph: use chunk-format read API
61 + - chunk-format: create read chunk API
62 + - midx: use chunk-format API in write_midx_internal()
63 + - midx: drop chunk progress during write
64 + - midx: return success/failure in chunk write methods
65 + - midx: add num_large_offsets to write_midx_context
66 + - midx: add pack_perm to write_midx_context
67 + - midx: add entries to write_midx_context
68 + - midx: use context in write_midx_pack_names()
69 + - midx: rename pack_info to write_midx_context
70 + - commit-graph: use chunk-format write API
71 + - chunk-format: create chunk format write API
72 + - commit-graph: anonymize data in chunk_write_fn
73 + (this branch uses ak/corrected-commit-date; is tangled with ds/merge-base-independent.)
74 +
75 +
76 +* ds/merge-base-independent (2021-01-28) 3 commits
77 + - commit-reach: use heuristic in remove_redundant()
78 + - commit-reach: move compare_commits_by_gen
79 + - commit-reach: use one walk in remove_redundant()
80 + (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api.)
81 +
82 + The code to implement "git merge-base --independent" was poorly
83 + done and was kept from the very beginning of the feature.
84
85 Will merge to 'next'.
86
87
411 -* jt/packfile-as-uri-doc (2021-01-20) 1 commit
412 - - Doc: clarify contents of packfile sent as URI
88 +* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
89 + - pretty: lazy-load commit data when expanding user-format
90
414 - Doc fix for packfile URI feature.
91 + Some pretty-format specifiers do not need the data in commit object
92 + (e.g. "%H"), but we were over-eager to load and parse it, which has
93 + been made even lazier.
94
95 Will merge to 'next'.
96
97
419 -* rs/worktree-list-verbose (2021-01-20) 7 commits
420 - - worktree: teach `list` verbose mode
421 - - worktree: teach `list` to annotate prunable worktree
422 - - worktree: teach `list --porcelain` to annotate locked worktree
423 - - t2402: ensure locked worktree is properly cleaned up
424 - - worktree: teach worktree_lock_reason() to gently handle main worktree
425 - - worktree: teach worktree to lazy-load "prunable" reason
426 - - worktree: libify should_prune_worktree()
427 -
428 - The "list" subcommand of "git worktree" learns to show more info in
429 - its verbose mode.
98 +* jk/t0000-cleanups (2021-01-28) 4 commits
99 + - t0000: consistently use single quotes for outer tests
100 + - t0000: run cleaning test inside sub-test
101 + - t0000: run prereq tests inside sub-test
102 + - t0000: keep clean-up tests together
103
431 - Expecting a reroll.
432 - cf. <gohp6kv9bq4a32.fsf@gmail.com>
433 -
434 -
435 -* tb/geometric-repack (2021-01-20) 10 commits
436 - - builtin/repack.c: add '--geometric' option
437 - - builtin/repack.c: extract loose object handling
438 - - builtin/pack-objects.c: teach '--keep-pack-stdin'
439 - - packfile: add kept-pack cache for find_kept_pack_entry()
440 - - pack-objects: rewrite honor-pack-keep logic
441 - - p5303: measure time to repack with keep
442 - - p5303: add missing &&-chains
443 - - builtin/pack-objects.c: learn '--assume-kept-packs-closed'
444 - - revision: learn '--no-kept-objects'
445 - - packfile: introduce 'find_kept_pack_entry()'
104 + Code clean-up.
105
447 - "git repack" so far has been only capable of repacking everything
448 - under the sun into a single pack (or split by size). A cleverer
449 - strategy to reduce the cost of repacking a repository has been
450 - introduced.
106 + Will merge to 'next'.
107
108
453 -* zh/ls-files-deduplicate (2021-01-23) 3 commits
454 - - ls-files.c: add --deduplicate option
455 - - ls_files.c: consolidate two for loops into one
456 - - ls_files.c: bugfix for --deleted and --modified
109 +* jk/use-oid-pos (2021-01-28) 6 commits
110 + - oid_pos(): access table through const pointers
111 + - hash_pos(): convert to oid_pos()
112 + - rerere: use strmap to store rerere directories
113 + - rerere: tighten rr-cache dirname check
114 + - rerere: check dirname format while iterating rr_cache directory
115 + - commit_graft_pos(): take an oid instead of a bare hash
116
458 - "git ls-files" can and does show multiple entries when the index is
459 - unmerged, which is a source for confusion unless -s/-u option is in
460 - use. A new option --deduplicate has been introduced.
117 + Code clean-up to ensure our use of hashtables using object names as
118 + keys use the "struct object_id" objects, not the raw hash values.
119
120 Will merge to 'next'.
121
122
465 -* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
466 - - rebase: add a config option for --no-fork-point
123 +* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
124 + - git-compat-util: always enable variadic macros
125
468 - "git rebase --[no-]fork-point" gained a configuration variable
469 - rebase.forkPoint so that users do not have to keep specifying a
470 - non-default setting.
126 + We've carried compatibility codepaths for compilers without
127 + variadic macros for quite some time, but the world may be ready for
128 + them to be removed. Force compilation failure on exotic platforms
129 + where variadic macros are not available to find out who screams in
130 + such a way that we can easily revert if the world is not ready.
131
472 - Expecting a reroll to update its tests.
473 - cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
132 + Will merge to 'next'.
133
134
476 -* jk/peel-iterated-oid (2021-01-21) 1 commit
477 - - refs: switch peel_ref() to peel_iterated_oid()
135 +* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
136 + - ci: do not cancel all jobs of a matrix if one fails
137
479 - The peel_ref() API has been replaed with peel_iterated_oid().
138 + Our setting of GitHub CI test jobs were a bit too eager to give up
139 + once there is even one failure found. Tweak the knob to let
140 + independent jobs to keep running, so that we can find more failures
141 + in a single run.
142
143 Will merge to 'next'.
144
145
484 -* jk/run-command-use-shell-doc (2021-01-22) 1 commit
485 - - run-command: document use_shell option
146 +* sg/test-stress-jobs (2021-01-26) 1 commit
147 + - test-lib: prevent '--stress-jobs=X' from being ignored
148
487 - The .use_shell flag in struct child_process that is passed to
488 - run_command() API has been clarified with a bit more documentation.
149 + Test framework fix.
150
151 Will merge to 'next'.
152
153
493 -* js/range-diff-wo-dotdot (2021-01-21) 3 commits
494 - - range-diff(docs): explain how to specify commit ranges
495 - - range-diff: handle commit ranges other than A..B
496 - - range-diff: refactor check for commit range
154 +* hv/trailer-formatting (2021-01-30) 5 commits
155 + - SQUASH???
156 + - SQUASH: fix sparse error
157 + - ref-filter: use pretty.c logic for trailers
158 + - pretty.c: capture invalid trailer argument
159 + - pretty.c: refactor trailer logic to `format_set_trailers_options()`
160
498 - There are other ways than ".." for a single token to denote a
499 - "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
500 - range-diff" did not understand them.
161 + The logic to handle "trailer" related placeholders in the
162 + "--format=" mechanisms in the "log" family and "for-each-ref"
163 + family is getting unified.
164
502 - Getting closer.
503 - cf. <xmqqzh107m5d.fsf@gitster.c.googlers.com>
165 + Expecting further work.
166
167
506 -* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
507 - - SKIP_DASHED_BUILT_INS: respect `config.mak`
168 +* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
169 + - p5303: avoid sed GNU-ism
170
509 - Build fix.
171 + A perf script was made more portable.
172
173 Will merge to 'next'.
174
175
514 -* jx/t5411-unique-filenames (2021-01-22) 2 commits
515 - - t5411: refactor check of refs using test_cmp_refs
516 - - t5411: use different out file to prevent overwriting
517 -
518 - Avoid individual tests in t5411 from getting affected by each other
519 - by forcing them to use separate output files during the test.
520 -
521 -
522 -* ph/use-delete-refs (2021-01-21) 1 commit
523 - - use delete_refs when deleting tags or branches
176 +* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
177 + - annotate-tests: quote variable expansions containing path names
178
525 - When removing many branches and tags, the code used to do so one
526 - ref at a time. There is another API it can use to delete multiple
527 - refs, and it makes quite a lot of performance difference when the
528 - refs are packed.
179 + Test fix.
180
181 Will merge to 'next'.
182
183
533 -* tb/ls-refs-optim (2021-01-22) 3 commits
534 - - ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
535 - - ls-refs.c: initialize 'prefixes' before using it
536 - - refs: expose 'for_each_fullref_in_prefixes'
537 -
538 - The ls-refs protocol operation has been optimized to narrow the
539 - sub-hiearchy of refs/ it walks to produce response.
540 -
541 - Will merge to 'next'.
184 +* sh/mergetool-hideresolved (2021-01-29) 3 commits
185 + - mergetool: add per-tool support and overrides for the hideResolved flag
186 + - mergetool: break setup_tool out into separate initialization function
187 + - mergetool: add hideResolved configuration
188
189 + "git mergetool" feeds three versions (base, local and remote) of
190 + a conflicted path unmodified. The command learned to optionally
191 + prepare these files with unconflicted parts already resolved.
192
544 -* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
545 - - grep/pcre2: better support invalid UTF-8 haystacks
546 - - grep/pcre2 tests: don't rely on invalid UTF-8 data test
193 + Getting there.
194
195
549 -* ab/retire-pcre1 (2021-01-23) 2 commits
550 - - Remove support for v1 of the PCRE library
551 - - config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
196 +* tb/precompose-prefix-too (2021-01-29) 1 commit
197 + - MacOS: precompose_argv_prefix()
198
199 + When commands are started from a subdirectory, they may have to
200 + compare the path to the subdirectory (called prefix and found out
201 + from $(pwd)) with the tracked paths. On macOS, $(pwd) and
202 + readdir() yield decomposed path, while the tracked paths are
203 + usually normalized to the precomposed form, causing mismatch. This
204 + has been fixed by taking the same approach used to normalize the
205 + command line arguments.
206
554 -* jt/transfer-fsck-across-packs (2021-01-23) 4 commits
555 - - fetch-pack: print and use dangling .gitmodules
556 - - fetch-pack: with packfile URIs, use index-pack arg
557 - - http-fetch: allow custom index-pack args
558 - - http: allow custom index-pack args
207 + Will merge to 'next'.
208
560 - The approach to "fsck" the incoming objects in "index-pack" is
561 - attractive for performance reasons (we have them already in core,
562 - inflated and ready to be inspected), but fundamentally cannot be
563 - applied fully when we receive more than one pack stream, as a tree
564 - object in one pack may refer to a blob object in another pack as
565 - ".gitmodules", when we want to inspect blobs that are used as
566 - ".gitmodules" file, for example. Teach "index-pack" to emit
567 - objects that must be inspected later and check them in the calling
568 - "fetch-pack" process.
209 +--------------------------------------------------
210 +[Stalled]
211
212 +* sg/t7800-difftool-robustify (2021-01-09) 1 commit
213 + - t7800-difftool: don't accidentally match tmp dirs
214
571 -* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
572 - - builtin/pack-objects.c: avoid iterating all refs
215 + Test fix.
216
574 - The "pack-objects" command needs to iterate over all the tags when
575 - automatic tag following is enabled, but it actually iterated over
576 - all refs and then discarded everything outside "refs/tags/"
577 - hierarchy, which was quite wasteful.
217 + Not working on Windows.
218 + cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
219
579 - Will merge to 'next'.
220
221 +* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
222 + . completion: bash: add correct suffix in variables
223 + . completion: bash: fix for multiple dash commands
224 + . completion: bash: fix for suboptions with value
225 + . completion: bash: fix prefix detection in branch.*
226
582 -* jv/upload-pack-filter-spec-quotefix (2021-01-25) 1 commit
583 - - upload-pack.c: fix filter spec quoting bug
227 + Seems to break tests on Windows
228
585 ---------------------------------------------------
586 -[Stalled]
229
230 * ss/submodule-add-in-c (2020-12-15) 3 commits
231 . t7400: add test to check 'submodule add' for tracked paths
@@ -725,7 +367,6 @@ Release tarballs are available at:
367 - update-index: move add_cacheinfo() to read-cache.c
368 - t6060: modify multiple files to expose a possible issue with merge-index
369 - t6407: modernise tests
728 - (this branch is used by ds/update-index.)
370
371 The resolve and octopus merge strategy backends have been rewritten
372 in C.
@@ -735,6 +376,250 @@ Release tarballs are available at:
376 --------------------------------------------------
377 [Cooking]
378
379 +* cm/rebase-i (2021-01-29) 9 commits
380 + - doc/git-rebase: add documentation for fixup [-C|-c] options
381 + - rebase -i: teach --autosquash to work with amend!
382 + - t3437: test script for fixup [-C|-c] options in interactive rebase
383 + - rebase -i: add fixup [-C | -c] command
384 + - sequencer: use const variable for commit message comments
385 + - sequencer: pass todo_item to do_pick_commit()
386 + - rebase -i: comment out squash!/fixup! subjects from squash message
387 + - sequencer: factor out code to append squash message
388 + - rebase -i: only write fixup-message when it's needed
389 +
390 + "rebase -i" is getting cleaned up and also enhanced.
391 +
392 + It seems to break t3415 when merged to 'seen'.
393 +
394 +
395 +* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
396 + (merged to 'next' on 2021-01-26 at 23efa6ebc3)
397 + + t7900: clean up some broken refs
398 + + maintenance: set log.excludeDecoration durin prefetch
399 +
400 + Test clean-up plus UI improvement by hiding extra refs that
401 + the prefetch task uses from "log --decorate" output.
402 +
403 + Will merge to 'master'.
404 +
405 +
406 +* ds/more-index-cleanups (2021-01-23) 9 commits
407 + - t1092: test interesting sparse-checkout scenarios
408 + - test-lib: test_region looks for trace2 regions
409 + - sparse-checkout: load sparse-checkout patterns
410 + - name-hash: use trace2 regions for init
411 + - repository: add repo reference to index_state
412 + - fsmonitor: de-duplicate BUG()s around dirty bits
413 + - cache-tree: extract subtree_pos()
414 + - cache-tree: simplify verify_cache() prototype
415 + - cache-tree: clean up cache_tree_update()
416 + (this branch uses ds/cache-tree-basics.)
417 +
418 + Cleaning various codepaths up.
419 +
420 + Will merge to 'next'.
421 +
422 +
423 +* jt/packfile-as-uri-doc (2021-01-20) 1 commit
424 + (merged to 'next' on 2021-01-26 at 50500a8982)
425 + + Doc: clarify contents of packfile sent as URI
426 +
427 + Doc fix for packfile URI feature.
428 +
429 + Will merge to 'master'.
430 +
431 +
432 +* rs/worktree-list-verbose (2021-01-30) 7 commits
433 + - worktree: teach `list` verbose mode
434 + - worktree: teach `list` to annotate prunable worktree
435 + - worktree: teach `list --porcelain` to annotate locked worktree
436 + - t2402: ensure locked worktree is properly cleaned up
437 + - worktree: teach worktree_lock_reason() to gently handle main worktree
438 + - worktree: teach worktree to lazy-load "prunable" reason
439 + - worktree: libify should_prune_worktree()
440 +
441 + `git worktree list` now annotates worktrees as prunable, shows
442 + locked and prunable attributes in --porcelain mode, and gained
443 + a --verbose option.
444 +
445 + Will merge to 'next'.
446 + cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
447 +
448 +
449 +* tb/geometric-repack (2021-01-20) 10 commits
450 + . builtin/repack.c: add '--geometric' option
451 + . builtin/repack.c: extract loose object handling
452 + . builtin/pack-objects.c: teach '--keep-pack-stdin'
453 + . packfile: add kept-pack cache for find_kept_pack_entry()
454 + . pack-objects: rewrite honor-pack-keep logic
455 + . p5303: measure time to repack with keep
456 + . p5303: add missing &&-chains
457 + . builtin/pack-objects.c: learn '--assume-kept-packs-closed'
458 + . revision: learn '--no-kept-objects'
459 + . packfile: introduce 'find_kept_pack_entry()'
460 +
461 + "git repack" so far has been only capable of repacking everything
462 + under the sun into a single pack (or split by size). A cleverer
463 + strategy to reduce the cost of repacking a repository has been
464 + introduced.
465 +
466 + Expecting further work.
467 +
468 +
469 +* zh/ls-files-deduplicate (2021-01-23) 3 commits
470 + (merged to 'next' on 2021-01-26 at af7522d2cf)
471 + + ls-files.c: add --deduplicate option
472 + + ls_files.c: consolidate two for loops into one
473 + + ls_files.c: bugfix for --deleted and --modified
474 +
475 + "git ls-files" can and does show multiple entries when the index is
476 + unmerged, which is a source for confusion unless -s/-u option is in
477 + use. A new option --deduplicate has been introduced.
478 +
479 + Will merge to 'master'.
480 +
481 +
482 +* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
483 + - rebase: add a config option for --no-fork-point
484 +
485 + "git rebase --[no-]fork-point" gained a configuration variable
486 + rebase.forkPoint so that users do not have to keep specifying a
487 + non-default setting.
488 +
489 + Expecting a reroll to update its tests.
490 + cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
491 +
492 +
493 +* jk/peel-iterated-oid (2021-01-21) 1 commit
494 + (merged to 'next' on 2021-01-26 at 023758f4ee)
495 + + refs: switch peel_ref() to peel_iterated_oid()
496 +
497 + The peel_ref() API has been replaced with peel_iterated_oid().
498 +
499 + Will merge to 'master'.
500 +
501 +
502 +* jk/run-command-use-shell-doc (2021-01-22) 1 commit
503 + (merged to 'next' on 2021-01-26 at f9df80d861)
504 + + run-command: document use_shell option
505 +
506 + The .use_shell flag in struct child_process that is passed to
507 + run_command() API has been clarified with a bit more documentation.
508 +
509 + Will merge to 'master'.
510 +
511 +
512 +* js/range-diff-wo-dotdot (2021-01-27) 3 commits
513 + - range-diff(docs): explain how to specify commit ranges
514 + - range-diff/format-patch: handle commit ranges other than A..B
515 + - range-diff/format-patch: refactor check for commit range
516 +
517 + There are other ways than ".." for a single token to denote a
518 + "commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
519 + range-diff" did not understand them.
520 +
521 + Getting there.
522 + cf. <pull.841.v3.git.1611765444.gitgitgadget@gmail.com>
523 +
524 +
525 +* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
526 + (merged to 'next' on 2021-01-26 at 2d727a37f9)
527 + + SKIP_DASHED_BUILT_INS: respect `config.mak`
528 +
529 + Build fix.
530 +
531 + Will merge to 'master'.
532 +
533 +
534 +* jx/t5411-unique-filenames (2021-01-22) 2 commits
535 + - t5411: refactor check of refs using test_cmp_refs
536 + - t5411: use different out file to prevent overwriting
537 +
538 + Avoid individual tests in t5411 from getting affected by each other
539 + by forcing them to use separate output files during the test.
540 +
541 +
542 +* ph/use-delete-refs (2021-01-21) 1 commit
543 + (merged to 'next' on 2021-01-26 at e03486152e)
544 + + use delete_refs when deleting tags or branches
545 +
546 + When removing many branches and tags, the code used to do so one
547 + ref at a time. There is another API it can use to delete multiple
548 + refs, and it makes quite a lot of performance difference when the
549 + refs are packed.
550 +
551 + Will merge to 'master'.
552 +
553 +
554 +* tb/ls-refs-optim (2021-01-22) 3 commits
555 + (merged to 'next' on 2021-01-26 at 09edbf7d9a)
556 + + ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
557 + + ls-refs.c: initialize 'prefixes' before using it
558 + + refs: expose 'for_each_fullref_in_prefixes'
559 +
560 + The ls-refs protocol operation has been optimized to narrow the
561 + sub-hierarchy of refs/ it walks to produce response.
562 +
563 + Will merge to 'master'.
564 +
565 +
566 +* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
567 + - grep/pcre2: better support invalid UTF-8 haystacks
568 + - grep/pcre2 tests: don't rely on invalid UTF-8 data test
569 +
570 + Update support for invalid UTF-8 in PCRE2.
571 +
572 + Will merge to 'next'.
573 +
574 +
575 +* ab/retire-pcre1 (2021-01-23) 2 commits
576 + - Remove support for v1 of the PCRE library
577 + - config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
578 +
579 + The support for deprecated PCRE1 library has been dropped.
580 +
581 + Will merge to 'next'.
582 +
583 +
584 +* jt/transfer-fsck-across-packs (2021-01-25) 5 commits
585 + - SQUASH??? test fix
586 + - fetch-pack: print and use dangling .gitmodules
587 + - fetch-pack: with packfile URIs, use index-pack arg
588 + - http-fetch: allow custom index-pack args
589 + - http: allow custom index-pack args
590 +
591 + The approach to "fsck" the incoming objects in "index-pack" is
592 + attractive for performance reasons (we have them already in core,
593 + inflated and ready to be inspected), but fundamentally cannot be
594 + applied fully when we receive more than one pack stream, as a tree
595 + object in one pack may refer to a blob object in another pack as
596 + ".gitmodules", when we want to inspect blobs that are used as
597 + ".gitmodules" file, for example. Teach "index-pack" to emit
598 + objects that must be inspected later and check them in the calling
599 + "fetch-pack" process.
600 +
601 +
602 +* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
603 + (merged to 'next' on 2021-01-26 at 8a0d178c01)
604 + + builtin/pack-objects.c: avoid iterating all refs
605 +
606 + The "pack-objects" command needs to iterate over all the tags when
607 + automatic tag following is enabled, but it actually iterated over
608 + all refs and then discarded everything outside "refs/tags/"
609 + hierarchy, which was quite wasteful.
610 +
611 + Will merge to 'master'.
612 +
613 +
614 +* jv/upload-pack-filter-spec-quotefix (2021-01-28) 1 commit
615 + - upload-pack.c: fix filter spec quoting bug
616 +
617 + Fix in passing custom args from "git clone" to "upload-pack" on the
618 + other side.
619 +
620 + Will merge to 'next'.
621 +
622 +
623 * ab/fsck-doc-fix (2021-01-20) 1 commit
624 (merged to 'next' on 2021-01-25 at e3db0fe96f)
625 + fsck doc: remove ancient out-of-date diagnostics
@@ -786,6 +671,8 @@ Release tarballs are available at:
671 ORT merge strategy learns to infer "renamed directory" while
672 merging.
673
674 + Will merge to 'next'.
675 +
676
677 * ab/detox-gettext-tests (2021-01-21) 3 commits
678 - tests: remove uses of GIT_TEST_GETTEXT_POISON=false
@@ -811,54 +698,33 @@ Release tarballs are available at:
698 Looking good.
699
700
814 -* ds/update-index (2021-01-09) 14 commits
815 - - update-index: remove static globals from callbacks
816 - - update-index: reduce static globals, part 2
817 - - update-index: reduce static globals, part 1
818 - - update-index: remove ce_match_stat(), all macros
819 - - update-index: replace several compatibility macros
820 - - update-index: use add_index_entry()
821 - - update-index: use remove_file_from_index()
822 - - update-index: use index_name_pos() over cache_name_pos()
823 - - update-index: use istate->cache_changed
824 - - update-index: use istate->cache_nr over active_nr
825 - - update-index: use istate->cache over active_cache
826 - - update-index: drop the_index, the_repository
827 - - rm: remove compatilibity macros
828 - - mv: remove index compatibility macros
829 - (this branch uses ag/merge-strategies-in-c.)
830 -
831 - The implementation of a few commands lost reliance of "the_index"
832 - compatibility macros by explicitly passing the index_state through
833 - the callchain.
834 -
835 - Unfortunately the base topic still needs to solidify.
836 -
837 -
838 -* js/rebase-i-commit-cleanup-fix (2021-01-12) 1 commit
701 +* js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
702 - rebase -i: do leave commit message intact in fixup! chains
703
704 When "git rebase -i" processes "fixup" insn, there is no reason to
705 clean up the commit log message, but we did the usual stripspace
706 processing. This has been corrected.
707
845 - A bit more tests to document what is still broken have been offered.
846 - cf. <20210112204939.1095-1-martin.agren@gmail.com>
708 + Will merge to 'next'.
709
710
849 -* tb/pack-revindex-on-disk (2021-01-14) 8 commits
711 +* tb/pack-revindex-on-disk (2021-01-28) 10 commits
712 + - t5325: check both on-disk and in-memory reverse index
713 - pack-revindex: ensure that on-disk reverse indexes are given precedence
714 - t: support GIT_TEST_WRITE_REV_INDEX
715 - t: prepare for GIT_TEST_WRITE_REV_INDEX
716 - Documentation/config/pack.txt: advertise 'pack.writeReverseIndex'
717 - builtin/pack-objects.c: respect 'pack.writeReverseIndex'
718 - builtin/index-pack.c: write reverse indexes
719 + - builtin/index-pack.c: allow stripping arbitrary extensions
720 - pack-write.c: prepare to write 'pack-*.rev' files
721 - packfile: prepare for the existence of '*.rev' files
722
723 Introduce an on-disk file to record revindex for packdata, which
724 traditionally was always created on the fly and only in-core.
725
726 + Looking good.
727 +
728
729 * en/merge-ort-perf (2021-01-23) 6 commits
730 - merge-ort: begin performance work; instrument with trace2_region_* calls
@@ -871,6 +737,8 @@ Release tarballs are available at:
737
738 The "ort" merge strategy.
739
740 + Will merge to 'next'.
741 +
742
743 * ds/cache-tree-basics (2021-01-15) 10 commits
744 (merged to 'next' on 2021-01-25 at 29ee74df7b)
@@ -911,54 +779,28 @@ Release tarballs are available at:
779 Will merge to 'master'.
780
781
914 -* sg/t7800-difftool-robustify (2021-01-09) 1 commit
915 - - t7800-difftool: don't accidentally match tmp dirs
916 -
917 - Test fix.
918 -
919 - Not working on Windows.
920 - cf. https://github.com/git/git/runs/1660588243?check_suite_focus=true#step:7:4186
921 -
922 -
782 * ak/corrected-commit-date (2021-01-18) 11 commits
924 - - doc: add corrected commit date info
925 - - commit-reach: use corrected commit dates in paint_down_to_common()
926 - - commit-graph: use generation v2 only if entire chain does
927 - - commit-graph: implement generation data chunk
928 - - commit-graph: implement corrected commit date
929 - - commit-graph: return 64-bit generation number
930 - - commit-graph: add a slab to store topological levels
931 - - t6600-test-reach: generalize *_three_modes
932 - - commit-graph: consolidate fill_commit_graph_info
933 - - revision: parse parent in indegree_walk_step()
934 - - commit-graph: fix regression when computing Bloom filters
783 + (merged to 'next' on 2021-01-26 at deae33ec7d)
784 + + doc: add corrected commit date info
785 + + commit-reach: use corrected commit dates in paint_down_to_common()
786 + + commit-graph: use generation v2 only if entire chain does
787 + + commit-graph: implement generation data chunk
788 + + commit-graph: implement corrected commit date
789 + + commit-graph: return 64-bit generation number
790 + + commit-graph: add a slab to store topological levels
791 + + t6600-test-reach: generalize *_three_modes
792 + + commit-graph: consolidate fill_commit_graph_info
793 + + revision: parse parent in indegree_walk_step()
794 + + commit-graph: fix regression when computing Bloom filters
795 + (this branch is used by ds/chunked-file-api and ds/merge-base-independent.)
796
797 The commit-graph learned to use corrected commit dates instead of
798 the generation number to help topological revision traversal.
799
939 - Will merge to 'next'.
940 -
941 -
942 -* fc/mergetool-automerge (2021-01-09) 8 commits
943 - . fixup! mergetool: break setup_tool out into separate initialization function
944 - . fixup! fixup! mergetool: add automerge configuration
945 - . fixup! mergetool: add automerge configuration
946 - . mergetool: add automerge_enabled tool-specific override function
947 - . mergetool: break setup_tool out into separate initialization function
948 - . mergetool: add per-tool support for the autoMerge flag
949 - . mergetool: alphabetize the mergetool config docs
950 - . mergetool: add automerge configuration
951 -
952 - "git mergetool" feeds three versions (base, local and remote) of
953 - a conflicted path unmodified. The command learned to optionally
954 - prepare these files with unconflicted parts already resolved.
955 -
956 - Breaks tests on Windows
957 - cf. https://github.com/git/git/runs/1675932107?check_suite_focus=true#step:7:10373
800 + Will merge to 'master'.
801
802
960 -* mr/bisect-in-c-4 (2021-01-23) 8 commits
961 - - SQUASH???
803 +* mr/bisect-in-c-4 (2021-01-26) 7 commits
804 - bisect--helper: retire `--check-and-set-terms` subcommand
805 - bisect--helper: reimplement `bisect_skip` shell function in C
806 - bisect--helper: retire `--bisect-auto-next` subcommand
@@ -969,29 +811,23 @@ Release tarballs are available at:
811
812 Piecemeal of rewrite of "git bisect" in C continues.
813
972 - What's the status of this thing?
814 + Will merge to 'next'.
815
816
975 -* jt/clone-unborn-head (2020-12-22) 3 commits
976 - . clone: respect remote unborn HEAD
977 - . connect, transport: add no-op arg for future patch
978 - . ls-refs: report unborn targets of symrefs
817 +* jt/clone-unborn-head (2021-01-28) 5 commits
818 + - transport-internal.h: fix a 'hdr-check' warning
819 + - ls-refs: don't peel NULL oid
820 + - clone: respect remote unborn HEAD
821 + - connect, transport: encapsulate arg in struct
822 + - ls-refs: report unborn targets of symrefs
823
824 "git clone" tries to locally check out the branch pointed at by
825 HEAD of the remote repository after it is done, but the protocol
826 did not convey the information necessary to do so when copying an
827 empty repository. The protocol v2 learned how to do so.
828
985 - What's the status of this thing?
986 -
987 -
988 -* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
989 - . completion: bash: add correct suffix in variables
990 - . completion: bash: fix for multiple dash commands
991 - . completion: bash: fix for suboptions with value
992 - . completion: bash: fix prefix detection in branch.*
993 -
994 - Seems to break tests on Windows
829 + Looking good, but the tip one from Ramsay may want to be squashed
830 + into the step that introduces the problem.
831
832
833 * mt/parallel-checkout-part-1 (2020-12-16) 9 commits
@@ -1114,19 +950,43 @@ Release tarballs are available at:
950 --------------------------------------------------
951 [Discarded]
952
1117 -* jc/config-pretend-gitdir (2020-12-15) 1 commit
1118 - . config: --pretend-git-dir for includeIf:gitdir
953 +* ds/update-index (2021-01-09) 14 commits
954 + . update-index: remove static globals from callbacks
955 + . update-index: reduce static globals, part 2
956 + . update-index: reduce static globals, part 1
957 + . update-index: remove ce_match_stat(), all macros
958 + . update-index: replace several compatibility macros
959 + . update-index: use add_index_entry()
960 + . update-index: use remove_file_from_index()
961 + . update-index: use index_name_pos() over cache_name_pos()
962 + . update-index: use istate->cache_changed
963 + . update-index: use istate->cache_nr over active_nr
964 + . update-index: use istate->cache over active_cache
965 + . update-index: drop the_index, the_repository
966 + . rm: remove compatilibity macros
967 + . mv: remove index compatibility macros
968 + (this branch uses ag/merge-strategies-in-c.)
969 +
970 + The implementation of a few commands lost reliance of "the_index"
971 + compatibility macros by explicitly passing the index_state through
972 + the callchain.
973
1120 - It turns out that the original "problem" that inspired the feature
1121 - was working as designed.
1122 - cf. <CAPQE4+rhWT9kgusNXOw5cnJ-oFq++4G1FMaXvQ3wppQ0GE0hSA@mail.gmail.com>
974 + Retracted for now.
975 + cf. <a6906459-3a93-ecad-c460-b6c763819389@gmail.com>
976
977
1125 -* bc/hashed-mailmap (2020-12-12) 1 commit
1126 - . mailmap: support hashed entries in mailmaps
978 +* fc/mergetool-automerge (2021-01-09) 8 commits
979 + . fixup! mergetool: break setup_tool out into separate initialization function
980 + . fixup! fixup! mergetool: add automerge configuration
981 + . fixup! mergetool: add automerge configuration
982 + . mergetool: add automerge_enabled tool-specific override function
983 + . mergetool: break setup_tool out into separate initialization function
984 + . mergetool: add per-tool support for the autoMerge flag
985 + . mergetool: alphabetize the mergetool config docs
986 + . mergetool: add automerge configuration
987
1128 - The mailmap database learned to take hashed value as the original
1129 - side of mapping.
988 + "git mergetool" feeds three versions (base, local and remote) of
989 + a conflicted path unmodified. The command learned to optionally
990 + prepare these files with unconflicted parts already resolved.
991
1131 - Retracted for now.
1132 - cf. <X/uvhc5Hpu792qA/@camp.crustytoothpaste.net>
992 + Superseded by the sh/mergetool-hideresolved topic.