What's cooking (2016/05 #05)

Junio C Hamano committed May 13, 2016 at 15:08 UTC 272b809aa17114f82e3896f868bdecea9a6d87a9
1 file changed +257 -170
whats-cooking.txt
+257 -170
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (May 2016, #04; Wed, 11)
4 -X-master-at: 5fe494c54ae44ae01a8efa91d00ac9d4c1c475e9
5 -X-next-at: d10caa2ddaf445fafa2323231055ded89325d69d
3 +Subject: What's cooking in git.git (May 2016, #05; Fri, 13)
4 +X-master-at: edec3709db124a96134a64d8fd1117ca50f90f7c
5 +X-next-at: 78b384c29366e199741393e56030a8384110760d
6
7 -What's cooking in git.git (May 2016, #04; Wed, 11)
7 +What's cooking in git.git (May 2016, #05; Fri, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -24,64 +24,149 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
27 -* ew/doc-split-pack-disables-bitmap (2016-04-28) 1 commit
28 - (merged to 'next' on 2016-05-06 at 6343d1e)
29 - + pack-objects: warn on split packs disabling bitmaps
30 -
31 - Doc update.
32 -
33 -
34 -* ew/normal-to-e (2016-05-02) 1 commit
35 - (merged to 'next' on 2016-05-06 at 65a2c52)
36 - + .mailmap: update to my shorter email address
27 +* jc/commit-tree-ignore-commit-gpgsign (2016-05-03) 1 commit
28 + (merged to 'next' on 2016-05-06 at 08eccb2)
29 + + commit-tree: do not pay attention to commit.gpgsign
30
31 + "git commit-tree" plumbing command required the user to always sign
32 + its result when the user sets the commit.gpgsign configuration
33 + variable, which was an ancient mistake. Rework "git rebase" that
34 + relied on this mistake so that it reads commit.gpgsign and pass (or
35 + not pass) the -S option to "git commit-tree" to keep the end-user
36 + expectation the same, while teaching "git commit-tree" to ignore
37 + the configuration variable. This will stop requiring the users to
38 + sign commit objects used internally as an implementation detail of
39 + "git stash".
40
39 -* js/close-packs-before-gc (2016-05-02) 1 commit
40 - (merged to 'next' on 2016-05-06 at bfd39bf)
41 - + t5510: run auto-gc in the foreground
41
42 +* sb/submodule-module-list-pathspec-fix (2016-05-03) 1 commit
43 + (merged to 'next' on 2016-05-06 at ab6dac3)
44 + + submodule deinit test: fix broken && chain in subshell
45
44 -* ls/p4-lfs (2016-04-28) 3 commits
45 - (merged to 'next' on 2016-05-06 at 3e1354d)
46 - + git-p4: fix Git LFS pointer parsing
47 - + travis-ci: express Linux/OS X dependency versions more clearly
48 - + travis-ci: update Git-LFS and P4 to the latest version
46 +--------------------------------------------------
47 +[New Topics]
48
50 - Recent update to Git LFS broke "git p4" by changing the output from
51 - its "lfs pointer" subcommand.
49 +* jc/rerere-multi (2016-05-11) 1 commit
50 + (merged to 'next' on 2016-05-13 at f4d1d82)
51 + + rerere: plug memory leaks upon "rerere forget" failure
52
53 + Will merge to 'master'.
54
54 -* ls/travis-submitting-patches (2016-05-02) 1 commit
55 - (merged to 'next' on 2016-05-06 at 467930e)
56 - + Documentation: add setup instructions for Travis CI
55
56 +* cc/apply-introduce-state (2016-05-12) 48 commits
57 + - builtin/apply: rename 'prefix_' parameter to 'prefix'
58 + - builtin/apply: move applying patches into apply_all_patches()
59 + - builtin/apply: move 'state' check into check_apply_state()
60 + - builtin/apply: move 'symlink_changes' global into 'struct apply_state'
61 + - builtin/apply: move 'fn_table' global into 'struct apply_state'
62 + - builtin/apply: move 'state_linenr' global into 'struct apply_state'
63 + - builtin/apply: move 'max_change' and 'max_len' into 'struct apply_state'
64 + - builtin/apply: move 'ws_ignore_action' into 'struct apply_state'
65 + - builtin/apply: move 'ws_error_action' into 'struct apply_state'
66 + - builtin/apply: move 'applied_after_fixing_ws' into 'struct apply_state'
67 + - builtin/apply: move 'squelch_whitespace_errors' into 'struct apply_state'
68 + - builtin/apply: remove whitespace_option arg from set_default_whitespace_mode()
69 + - builtin/apply: move 'whitespace_option' into 'struct apply_state'
70 + - builtin/apply: move 'whitespace_error' global into 'struct apply_state'
71 + - builtin/apply: move 'root' global into 'struct apply_state'
72 + - builtin/apply: move 'p_value_known' global into 'struct apply_state'
73 + - builtin/apply: move 'p_value' global into 'struct apply_state'
74 + - builtin/apply: move 'has_include' global into 'struct apply_state'
75 + - builtin/apply: move 'limit_by_name' global into 'struct apply_state'
76 + - builtin/apply: move 'patch_input_file' global into 'struct apply_state'
77 + - builtin/apply: move 'apply' global into 'struct apply_state'
78 + - builtin/apply: move 'p_context' global into 'struct apply_state'
79 + - builtin/apply: move 'fake_ancestor' global into 'struct apply_state'
80 + - builtin/apply: move 'line_termination' global into 'struct apply_state'
81 + - builtin/apply: move 'unsafe_paths' global into 'struct apply_state'
82 + - builtin/apply: move 'no_add' global into 'struct apply_state'
83 + - builtin/apply: move 'threeway' global into 'struct apply_state'
84 + - builtin/apply: move 'summary' global into 'struct apply_state'
85 + - builtin/apply: move 'numstat' global into 'struct apply_state'
86 + - builtin/apply: move 'diffstat' global into 'struct apply_state'
87 + - builtin/apply: move 'cached' global into 'struct apply_state'
88 + - builtin/apply: move 'allow_overlap' global into 'struct apply_state'
89 + - builtin/apply: move 'update_index' global into 'struct apply_state'
90 + - builtin/apply: move 'apply_verbosely' global into 'struct apply_state'
91 + - builtin/apply: move 'apply_with_reject' global into 'struct apply_state'
92 + - builtin/apply: move 'apply_in_reverse' global into 'struct apply_state'
93 + - builtin/apply: move 'check_index' global into 'struct apply_state'
94 + - builtin/apply: move 'check' global into 'struct apply_state'
95 + - builtin/apply: move 'unidiff_zero' global into 'struct apply_state'
96 + - builtin/apply: move 'state' init into init_apply_state()
97 + - builtin/apply: introduce 'struct apply_state' to start libifying
98 + - builtin/apply: move 'read_stdin' global into cmd_apply()
99 + - builtin/apply: move 'options' variable into cmd_apply()
100 + - builtin/apply: extract line_by_line_fuzzy_match() from match_fragment()
101 + - builtin/apply: avoid local variable shadowing 'len' parameter
102 + - builtin/apply: avoid parameter shadowing 'linenr' global
103 + - builtin/apply: avoid parameter shadowing 'p_value' global
104 + - builtin/apply: make gitdiff_verify_name() return void
105 +
106 + The "git apply" standalone program is being libified; this is the
107 + first step to move many state variables into a structure that can
108 + be explicitly (re)initialized to make the machinery callable more
109 + than once.
110 +
111 + The next step that moves some remaining state variables into the
112 + structure and turns die()s into an error return that propagates up
113 + to the caller is not queued yet but in flight. It would be good to
114 + review the above first and give the remainder of the series a solid
115 + base to build on.
116 +
117 +
118 +* jk/test-z-n-unquoted (2016-05-13) 6 commits
119 + - always quote shell arguments to test -z/-n
120 + - t9103: modernize test style
121 + - t9107: switch inverted single/double quotes in test
122 + - t9107: use "return 1" instead of "exit 1"
123 + - t9100,t3419: enclose all test code in single-quotes
124 + - t/lib-git-svn: drop $remote_git_svn and $git_svn_id
125 +
126 + t9xxx series has been updated primarily for readability, while
127 + fixing small bugs in it. A few scripted Porcelains have also been
128 + updated to fix possible bugs around their use of "test -z" and
129 + "test -n".
130 +
131 + Will merge to 'next'.
132 +
133 +
134 +* kf/gpg-sig-verification-doc (2016-05-13) 1 commit
135 + (merged to 'next' on 2016-05-13 at 2cec353)
136 + + Documentation: clarify signature verification
137 +
138 + Documentation for "git merge --verify-signatures" has been updated
139 + to clarify that the signature of only the commit at the tip is
140 + verified. Also the phrasing used for signature and key validity is
141 + adjusted to align with that used by OpenPGP.
142
59 -* rn/glossary-typofix (2016-05-02) 1 commit
60 - (merged to 'next' on 2016-05-06 at 1e73e76)
61 - + Documentation: fix typo 'In such these cases'
143 + Will merge to 'master'.
144
145
64 -* sb/clean-test-fix (2016-05-03) 1 commit
65 - (merged to 'next' on 2016-05-06 at d80c9c6)
66 - + t7300: mark test with SANITY
146 +* pb/bisect (2016-05-13) 4 commits
147 + - t6030: explicitly test for bisection cleanup
148 + - bisect--helper: `write_terms` shell function in C
149 + - bisect: rewrite `check_term_format` shell function in C
150 + - bisect--helper: use OPT_CMDMODE instead of OPT_BOOL
151
152 + Beginning of GSoC "git bisect" project.
153
69 -* sb/misc-cleanups (2016-04-28) 2 commits
70 - (merged to 'next' on 2016-05-06 at 87bc8a5)
71 - + submodule-config: don't shadow `cache`
72 - + config.c: drop local variable
154
155 +* sb/pathspec-label (2016-05-12) 5 commits
156 + - pathspec: record labels
157 + - pathspec: move prefix check out of the inner loop
158 + - pathspec: move long magic parsing out of prefix_pathspec
159 + - Documentation: correct typo in example for querying attributes
160 + - Documentation: fix a typo
161
75 -* sk/gitweb-highlight-encoding (2016-05-03) 1 commit
76 - (merged to 'next' on 2016-05-06 at 441302c)
77 - + gitweb: apply fallback encoding before highlight
162 + The pathspec mechanism learned ":(label=X)$pattern" pathspec magic
163 + to limit paths that match $pattern further by labels defined by the
164 + attributes mechanism for the paths.
165
79 - Some multi-byte encoding can have a backslash byte as a later part
80 - of one letter, which would confuse "highlight" filter used in
81 - gitweb.
166 + (RFC/WIP)
167
168 --------------------------------------------------
84 -[New Topics]
169 +[Stalled]
170
171 * es/t1500-modernize (2016-05-10) 7 commits
172 - t1500: finish preparation upfront
@@ -95,79 +180,9 @@ of the repositories listed at
180 test updates to make it more readable and maintainable.
181
182 Will be rerolled.
183 + ($gmane/294181)
184
185
100 -* ls/travis-build-doc (2016-05-10) 1 commit
101 - (merged to 'next' on 2016-05-10 at 7f63497)
102 - + travis-ci: build documentation
103 -
104 - CI test was taught to build documentation pages.
105 -
106 - Will merge to 'master'.
107 -
108 -
109 -* js/t3404-typofix (2016-05-10) 1 commit
110 - (merged to 'next' on 2016-05-10 at cbeabc0)
111 - + t3404: fix typo
112 -
113 - Will merge to 'master'.
114 -
115 -
116 -* jk/rebase-interative-eval-fix (2016-05-10) 1 commit
117 - (merged to 'next' on 2016-05-11 at 4fdf387)
118 - + rebase--interactive: avoid empty list in shell for-loop
119 -
120 - Portability enhancement for "rebase -i" to help platforms whose
121 - shell does not like "for i in <empty>" (which is not POSIX-kosher).
122 -
123 - Will merge to 'master'.
124 -
125 -
126 -* jk/test-send-sh-x-trace-elsewhere (2016-05-11) 1 commit
127 - (merged to 'next' on 2016-05-11 at 273a137)
128 - + test-lib: set BASH_XTRACEFD automatically
129 -
130 - Running tests with '-x' option to trace the individual command
131 - executions is a useful way to debug test scripts, but some tests
132 - that capture the standard error stream and check what the command
133 - said can be broken with the trace output mixed in. When running
134 - our tests under "bash", however, we can redirect the trace output
135 - to another file descriptor to keep the standard error of programs
136 - being tested intact.
137 -
138 - Will merge to 'master'.
139 -
140 -
141 -* js/perf-rebase-i (2016-05-11) 3 commits
142 - - Add a perf test for rebase -i
143 - - perf: make the tests work in worktrees
144 - - perf: let's disable symlinks when they are not available
145 -
146 - Add perf test for "rebase -i"
147 -
148 -
149 -* nd/worktree-cleanup-post-head-protection (2016-05-10) 7 commits
150 - - worktree: simplify prefixing paths
151 - - worktree: avoid 0{40}, too many zeroes, hard to read
152 - - worktree.c: add clear_worktree()
153 - - worktree.c: use is_dot_or_dotdot()
154 - - git-worktree.txt: keep subcommand listing in alphabetical order
155 - - worktree.c: rewrite mark_current_worktree() to avoid strbuf
156 - - completion: support git-worktree
157 - (this branch uses nd/worktree-various-heads.)
158 -
159 -
160 -* va/mailinfo-doc-typofix (2016-05-11) 1 commit
161 - (merged to 'next' on 2016-05-11 at 7180176)
162 - + Documentation/git-mailinfo: fix typo
163 -
164 - Typofix.
165 -
166 - Will merge to 'master'.
167 -
168 ---------------------------------------------------
169 -[Stalled]
170 -
186 * ep/http-curl-trace (2016-05-02) 2 commits
187 . imap-send.c: introduce the GIT_TRACE_CURL environment variable
188 . http.c: implement the GIT_TRACE_CURL environment variable
@@ -210,18 +225,6 @@ of the repositories listed at
225 ($gmane/291163)
226
227
213 -* ar/diff-args-osx-precompose (2016-04-05) 1 commit
214 - - diff: run arguments through precompose_argv
215 -
216 - Many commands normalize command line arguments from NFD to NFC
217 - variant of UTF-8 on OSX, but commands in the "diff" family did
218 - not, causing "git diff $path" to complain that no such path is
219 - known to Git. They have been taught to do the normalization.
220 -
221 - Will this be rerolled?
222 - ($gmane/290724)
223 -
224 -
228 * nd/shallow-deepen (2016-04-13) 26 commits
229 - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
230 - upload-pack: add get_reachable_list()
@@ -388,9 +391,112 @@ of the repositories listed at
391 The fix in this patch is broken, unfortunately.
392 Will discard.
393
394 +
395 +* jc/merge-impossible-no-commit (2016-04-26) 2 commits
396 + - merge: warn --no-commit merge when no new commit is created
397 + - merge: do not contaminate option_commit with --squash
398 +
399 + "git merge --no-commit" silently succeeded when there is no need to
400 + create any commit, either when you are more recent than the commit
401 + you tried to merge, or you can fast-forward to the commit you tried
402 + to merge. The command gives a warning message in such cases.
403 +
404 + Just tying loose ends in a discussion. Unless somebody else
405 + champions this topic, I'll drop it.
406 +
407 + Will discard.
408 +
409 --------------------------------------------------
410 [Cooking]
411
412 +* ar/diff-args-osx-precompose (2016-05-13) 1 commit
413 + - diff: run arguments through precompose_argv
414 +
415 + Many commands normalize command line arguments from NFD to NFC
416 + variant of UTF-8 on OSX, but commands in the "diff" family did
417 + not, causing "git diff $path" to complain that no such path is
418 + known to Git. They have been taught to do the normalization.
419 +
420 + Will merge to 'next'.
421 +
422 +
423 +* ls/travis-build-doc (2016-05-10) 1 commit
424 + (merged to 'next' on 2016-05-10 at 7f63497)
425 + + travis-ci: build documentation
426 +
427 + CI test was taught to build documentation pages.
428 +
429 + Will merge to 'master'.
430 +
431 +
432 +* js/t3404-typofix (2016-05-10) 1 commit
433 + (merged to 'next' on 2016-05-10 at cbeabc0)
434 + + t3404: fix typo
435 +
436 + Will merge to 'master'.
437 +
438 +
439 +* jk/rebase-interative-eval-fix (2016-05-10) 1 commit
440 + (merged to 'next' on 2016-05-11 at 4fdf387)
441 + + rebase--interactive: avoid empty list in shell for-loop
442 +
443 + Portability enhancement for "rebase -i" to help platforms whose
444 + shell does not like "for i in <empty>" (which is not POSIX-kosher).
445 +
446 + Will merge to 'master'.
447 +
448 +
449 +* jk/test-send-sh-x-trace-elsewhere (2016-05-11) 1 commit
450 + (merged to 'next' on 2016-05-11 at 273a137)
451 + + test-lib: set BASH_XTRACEFD automatically
452 +
453 + Running tests with '-x' option to trace the individual command
454 + executions is a useful way to debug test scripts, but some tests
455 + that capture the standard error stream and check what the command
456 + said can be broken with the trace output mixed in. When running
457 + our tests under "bash", however, we can redirect the trace output
458 + to another file descriptor to keep the standard error of programs
459 + being tested intact.
460 +
461 + Will merge to 'master'.
462 +
463 +
464 +* js/perf-rebase-i (2016-05-13) 3 commits
465 + (merged to 'next' on 2016-05-13 at eb51ddd)
466 + + perf: run "rebase -i" under perf
467 + + perf: make the tests work in worktrees
468 + + perf: let's disable symlinks when they are not available
469 +
470 + Add perf test for "rebase -i"
471 +
472 + Will merge to 'master'.
473 +
474 +
475 +* nd/worktree-cleanup-post-head-protection (2016-05-10) 7 commits
476 + - worktree: simplify prefixing paths
477 + - worktree: avoid 0{40}, too many zeroes, hard to read
478 + - worktree.c: add clear_worktree()
479 + - worktree.c: use is_dot_or_dotdot()
480 + - git-worktree.txt: keep subcommand listing in alphabetical order
481 + - worktree.c: rewrite mark_current_worktree() to avoid strbuf
482 + - completion: support git-worktree
483 + (this branch uses nd/worktree-various-heads.)
484 +
485 + Further preparatory clean-up for "worktree" feature.
486 +
487 + Expecting a reroll.
488 + ($gmane/294136, etc.)
489 +
490 +
491 +* va/mailinfo-doc-typofix (2016-05-11) 1 commit
492 + (merged to 'next' on 2016-05-11 at 7180176)
493 + + Documentation/git-mailinfo: fix typo
494 +
495 + Typofix.
496 +
497 + Will merge to 'master'.
498 +
499 +
500 * ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
501 (merged to 'next' on 2016-05-10 at 2ada404)
502 + wt-status.c: set commitable bit if there is a meaningful merge.
@@ -627,22 +733,12 @@ of the repositories listed at
733 Find common mistakes when writing gitlink: in our documentation and
734 drive the check from "make check-docs".
735
736 + I am not entirely happy with the way the script chooses what input
737 + file to validate, but it is not worse than not having anything, so
738 + let's move it forward and have the logic improved later when people
739 + care about it deeply.
740
631 -* jc/commit-tree-ignore-commit-gpgsign (2016-05-03) 1 commit
632 - (merged to 'next' on 2016-05-06 at 08eccb2)
633 - + commit-tree: do not pay attention to commit.gpgsign
634 -
635 - "git commit-tree" plumbing command required the user to always sign
636 - its result when the user sets the commit.gpgsign configuration
637 - variable, which was an ancient mistake. Rework "git rebase" that
638 - relied on this mistake so that it reads commit.gpgsign and pass (or
639 - not pass) the -S option to "git commit-tree" to keep the end-user
640 - expectation the same, while teaching "git commit-tree" to ignore
641 - the configuration variable. This will stop requiring the users to
642 - sign commit objects used internally as an implementation detail of
643 - "git stash".
644 -
645 - Will merge to 'master'.
741 + Will merge to 'next'.
742
743
744 * jk/push-client-deadlock-fix (2016-05-11) 2 commits
@@ -657,13 +753,6 @@ of the repositories listed at
753 Will merge to 'master'.
754
755
660 -* sb/submodule-module-list-pathspec-fix (2016-05-03) 1 commit
661 - (merged to 'next' on 2016-05-06 at ab6dac3)
662 - + submodule deinit test: fix broken && chain in subshell
663 -
664 - Will merge to 'master'.
665 -
666 -
756 * ab/hooks (2016-05-04) 4 commits
757 (merged to 'next' on 2016-05-09 at 23cf808)
758 + hooks: allow customizing where the hook directory is
@@ -677,20 +766,7 @@ of the repositories listed at
766 Will merge to 'master'.
767
768
680 -* jc/merge-impossible-no-commit (2016-04-26) 2 commits
681 - - merge: warn --no-commit merge when no new commit is created
682 - - merge: do not contaminate option_commit with --squash
683 -
684 - "git merge --no-commit" silently succeeded when there is no need to
685 - create any commit, either when you are more recent than the commit
686 - you tried to merge, or you can fast-forward to the commit you tried
687 - to merge. The command gives a warning message in such cases.
688 -
689 - Just tying loose ends in a discussion. Unless somebody else
690 - champions this topic, I'll drop it.
691 -
692 -
693 -* mh/split-under-lock (2016-05-06) 33 commits
769 +* mh/split-under-lock (2016-05-13) 33 commits
770 - lock_ref_sha1_basic(): only handle REF_NODEREF mode
771 - commit_ref_update(): remove the flags parameter
772 - lock_ref_for_update(): don't resolve symrefs
@@ -728,8 +804,8 @@ of the repositories listed at
804 Further preparatory work on the refs API before the pluggable
805 backend series can land.
806
731 - Updated. Will wait for comments for the last time, and then
732 - merge to 'next'.
807 + Updated (again). Will wait for comments for the last time, and
808 + then merge to 'next'.
809
810
811 * bn/http-cookiefile-config (2016-05-04) 2 commits
@@ -888,7 +964,9 @@ of the repositories listed at
964 Needs review.
965
966
891 -* va/i18n-misc-updates (2016-04-19) 9 commits
967 +* va/i18n-misc-updates (2016-05-12) 10 commits
968 + (merged to 'next' on 2016-05-13 at 0361b16)
969 + + i18n: unpack-trees: avoid substituting only a verb in sentences
970 (merged to 'next' on 2016-05-10 at b5dbd0d)
971 + i18n: builtin/pull.c: split strings marked for translation
972 + i18n: builtin/pull.c: mark placeholders for translation
@@ -944,7 +1022,7 @@ of the repositories listed at
1022 Will merge to 'master'.
1023
1024
947 -* dt/index-helper (2016-05-09) 19 commits
1025 +* dt/index-helper (2016-05-13) 20 commits
1026 - untracked-cache: config option
1027 - trace: measure where the time is spent in the index-heavy operations
1028 - index-helper: optionally automatically run
@@ -957,16 +1035,22 @@ of the repositories listed at
1035 - index-helper: use watchman to avoid refreshing index with lstat()
1036 - watchman: support watchman to reduce index refresh cost
1037 - read-cache: add watchman 'WAMA' extension
1038 + - index-helper: log warnings
1039 - index-helper: add --detach
1040 - daemonize(): set a flag before exiting the main process
962 - - index-helper: log warnings
1041 - index-helper: add --strict
1042 - index-helper: new daemon for caching index and related stuff
1043 + - pkt-line: add gentle version of packet_write
1044 - read-cache: allow to keep mmap'd memory after reading
1045 - read-cache.c: fix constness of verify_hdr()
1046
968 - Needs review.
969 - ($gmane/294056).
1047 + A new "index-helper" daemon has been introduced to give newly
1048 + spawned Git process a quicker access to the data in the index, and
1049 + optionally interface with the watchman daemon to further reduce the
1050 + refresh cost.
1051 +
1052 + Under review.
1053 + ($gmane/294470).
1054
1055
1056 * jc/bundle (2016-03-03) 6 commits
@@ -993,6 +1077,7 @@ of the repositories listed at
1077 which needs to be fixed before this final step can proceed.
1078 ($gmane/282594)
1079
1080 +
1081 --------------------------------------------------
1082 [Discarded]
1083
@@ -1000,3 +1085,5 @@ of the repositories listed at
1085 . diff: enable "compaction heuristics" and lose experimentation knob
1086
1087 Superseded by the tip commit on the jk/diff-compact-heuristic topic.
1088 +
1089 +