What's cooking (2018/09 #01)

Junio C Hamano committed Sep 4, 2018 at 15:25 UTC eba066b486d6b76e06e1f43ea1379bdef174b472
1 file changed +326 -367
whats-cooking.txt
+326 -367
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2018, #06; Wed, 29)
4 -X-master-at: 2f743933341f276111103550fbf383a34dfcfd38
5 -X-next-at: b1634b371dc2e46f9b43c45fd1857c2e2688f96e
3 +Subject: What's cooking in git.git (Sep 2018, #01; Tue, 4)
4 +X-master-at: c05048d43925ab8edcb36663752c2b4541911231
5 +X-next-at: 5ba43deb5a82c56b2533ebd026d15666a2ce5c5a
6
7 -What's cooking in git.git (Aug 2018, #06; Wed, 29)
7 +What's cooking in git.git (Sep 2018, #01; Tue, 4)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,7 +12,7 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' 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 -Git 2.19-rc1 is out. Hopefully the tip of 'master' is more or less
15 +Git 2.19-rc2 is out. Hopefully the tip of 'master' is more or less
16 identical to the final one without needing much updates.
17
18 You can find the changes described here in the integration branches
@@ -23,172 +23,282 @@ of the repositories listed at
23 --------------------------------------------------
24 [Graduated to "master"]
25
26 -* ab/test-must-be-empty-for-master (2018-08-22) 1 commit
27 - (merged to 'next' on 2018-08-22 at 580dfd1024)
28 - + t6018-rev-list-glob: fix 'empty stdin' test
29 - (this branch is used by jk/rev-list-stdin-noop-is-ok.)
26 +* ab/portable (2018-08-27) 6 commits
27 + (merged to 'next' on 2018-08-27 at 37640e66ef)
28 + + tests: fix and add lint for non-portable grep --file
29 + + tests: fix version-specific portability issue in Perl JSON
30 + + tests: use shorter labels in chainlint.sed for AIX sed
31 + + tests: fix comment syntax in chainlint.sed for AIX sed
32 + + tests: fix and add lint for non-portable seq
33 + + tests: fix and add lint for non-portable head -c N
34 + (this branch is used by ab/portable-more.)
35
31 - Test fixes.
36 + Portability fix.
37
38
34 -* ab/unconditional-free-and-null (2018-08-17) 1 commit
35 - (merged to 'next' on 2018-08-22 at 2661a3cb96)
36 - + refactor various if (x) FREE_AND_NULL(x) to just FREE_AND_NULL(x)
39 +* ab/portable-more (2018-08-29) 2 commits
40 + (merged to 'next' on 2018-08-31 at d7b44993e4)
41 + + tests: fix non-portable iconv invocation
42 + + tests: fix non-portable "${var:-"str"}" construct
43 + (this branch uses ab/portable.)
44
38 - Code clean-up.
45 + Portability fix.
46
47
41 -* ds/commit-graph-fsck (2018-08-23) 1 commit
42 - (merged to 'next' on 2018-08-23 at cb27eada82)
43 - + config: fix commit-graph related config docs
48 +* ds/commit-graph-lockfile-fix (2018-08-30) 1 commit
49 + (merged to 'next' on 2018-09-04 at 0876e6ddcc)
50 + + commit: don't use generation numbers if not needed
51
45 - Finishing touches to doc.
52 + "git merge-base" in 2.19-rc1 has performance regression when the
53 + (experimental) commit-graph feature is in use, which has been
54 + mitigated.
55
56
48 -* ep/worktree-quiet-option (2018-08-17) 1 commit
49 - (merged to 'next' on 2018-08-22 at 4a0a85e907)
50 - + worktree: add --quiet option
57 +* en/directory-renames-nothanks (2018-08-30) 3 commits
58 + (merged to 'next' on 2018-08-31 at 91d663d688)
59 + + am: avoid directory rename detection when calling recursive merge machinery
60 + + merge-recursive: add ability to turn off directory rename detection
61 + + t3401: add another directory rename testcase for rebase and am
62
52 - "git worktree" command learned "--quiet" option to make it less
53 - verbose.
63 + Recent addition of "directory rename" heuristics to the
64 + merge-recursive backend makes the command susceptible to false
65 + positives and false negatives. In the context of "git am -3",
66 + which does not know about surrounding unmodified paths and thus
67 + cannot inform the merge machinery about the full trees involved,
68 + this risk is particularly severe. As such, the heuristic is
69 + disabled for "git am -3" to keep the machinery "more stupid but
70 + predictable".
71
72
56 -* ja/i18n-message-fixes (2018-08-23) 1 commit
57 - (merged to 'next' on 2018-08-23 at 907c1f69a2)
58 - + i18n: fix mistakes in translated strings
73 +* es/chain-lint-more (2018-08-29) 1 commit
74 + (merged to 'next' on 2018-08-31 at d456090b62)
75 + + chainlint: match "quoted" here-doc tags
76
60 - Messages fix.
77 + The test linter code has learned that the end of here-doc mark
78 + "EOF" can be quoted in a double-quote pair, not just in a
79 + single-quote pair.
80
81
63 -* jk/hashcmp-optim-for-2.19 (2018-08-23) 1 commit
64 - (merged to 'next' on 2018-08-23 at e7e8abe0e3)
65 - + hashcmp: assert constant hash size
82 +* es/freebsd-iconv-portability (2018-08-31) 1 commit
83 + (merged to 'next' on 2018-09-04 at 52baa37dd7)
84 + + config.mak.uname: resolve FreeBSD iconv-related compilation warning
85
67 - Partially revert the support for multiple hash functions to regain
68 - hash comparison performance; we'd think of a way to do this better
69 - in the next cycle.
86 + Build fix.
87
88
72 -* jk/use-compat-util-in-test-tool (2018-08-21) 1 commit
73 - (merged to 'next' on 2018-08-22 at 98c3acd8df)
74 - + test-tool.h: include git-compat-util.h
89 +* pw/rebase-i-author-script-fix (2018-08-07) 2 commits
90 + (merged to 'next' on 2018-08-31 at 7b9f485407)
91 + + sequencer: fix quoting in write_author_script
92 + + sequencer: handle errors from read_author_ident()
93
76 - Dev tool update.
94 + Recent "git rebase -i" update started to write bogusly formatted
95 + author-script, with a matching broken reading code. These are
96 + fixed.
97
98 +--------------------------------------------------
99 +[New Topics]
100
79 -* js/larger-timestamps (2018-08-21) 1 commit
80 - (merged to 'next' on 2018-08-22 at 23a3d5bcf8)
81 - + commit: use timestamp_t for author_date_slab
101 +* ab/fetch-tags-noclobber (2018-08-31) 9 commits
102 + - fetch: stop clobbering existing tags without --force
103 + - fetch: document local ref updates with/without --force
104 + - push doc: correct lies about how push refspecs work
105 + - push doc: move mention of "tag <tag>" later in the prose
106 + - push doc: remove confusing mention of remote merger
107 + - fetch tests: add a test for clobbering tag behavior
108 + - push tests: use spaces in interpolated string
109 + - push tests: make use of unused $1 in test description
110 + - fetch: change "branch" to "reference" in --force -h output
111 +
112 + The rules used by "git push" and "git fetch" to determine if a ref
113 + can or cannot be updated were inconsistent; specifically, fetching
114 + to update existing tags were allowed even though tags are supposed
115 + to be unmoving anchoring points. "git fetch" was taught to forbid
116 + updates to existing tags without the "--force" option.
117 +
118 + Will merge to and cook in 'next'.
119 + This is a backward incompatible change but in a good way; it may
120 + still need to be treated carefully.
121 +
122 +
123 +* es/worktree-forced-ops-fix (2018-08-30) 9 commits
124 + - worktree: delete .git/worktrees if empty after 'remove'
125 + - worktree: teach 'remove' to override lock when --force given twice
126 + - worktree: teach 'move' to override lock when --force given twice
127 + - worktree: teach 'add' to respect --force for registered but missing path
128 + - worktree: disallow adding same path multiple times
129 + - worktree: prepare for more checks of whether path can become worktree
130 + - worktree: generalize delete_git_dir() to reduce code duplication
131 + - worktree: move delete_git_dir() earlier in file for upcoming new callers
132 + - worktree: don't die() in library function find_worktree()
133 +
134 + Various subcommands of "git worktree" take '--force' but did not
135 + behave sensibly, which has been corrected.
136 +
137 +
138 +* jk/patch-corrupted-delta-fix (2018-08-30) 6 commits
139 + - t5303: use printf to generate delta bases
140 + - patch-delta: handle truncated copy parameters
141 + - patch-delta: consistently report corruption
142 + - patch-delta: fix oob read
143 + - t5303: test some corrupt deltas
144 + - test-delta: read input into a heap buffer
145 +
146 + Malformed or crafted data in packstream can make our code attempt
147 + to read or write past the allocated buffer and abort, instead of
148 + reporting an error, which has been fixed.
149
83 - Portability fix.
150 + Will merge to 'next'.
151
152
86 -* js/range-diff (2018-08-27) 1 commit
87 - (merged to 'next' on 2018-08-27 at ca29413b20)
88 - + range-diff: update stale summary of --no-dual-color
153 +* jc/rebase-in-c-9-fixes (2018-09-04) 1 commit
154 + - rebase: re-add forgotten -k that stands for --keep-empty
155 + (this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
156
90 - Finishing touched to help string.
157
158 +* jk/pack-objects-with-bitmap-fix (2018-09-04) 4 commits
159 + - pack-bitmap: drop "loaded" flag
160 + - traverse_bitmap_commit_list(): don't free result
161 + - t5310: test delta reuse with bitmaps
162 + - bitmap_has_sha1_in_uninteresting(): drop BUG check
163 + (this branch uses jk/pack-delta-reuse-with-bitmap.)
164
93 -* nd/complete-config-vars (2018-08-21) 1 commit
94 - (merged to 'next' on 2018-08-22 at 758f937bef)
95 - + generate-cmdlist.sh: collect config from all config.txt files
165 + Hotfix of the base topic. It may not be a bad idea to squash these
166 + in when the next development cycle opens.
167
97 - "git help --config" (which is used in command line completion)
98 - missed the configuration variables not described in the main
99 - config.txt file but are described in another file that is included
100 - by it, which has been corrected.
168
169 +* js/rebase-i-autosquash-fix (2018-09-04) 2 commits
170 + - rebase -i: be careful to wrap up fixup/squash chains
171 + - rebase -i --autosquash: demonstrate a problem skipping the last squash
172
103 -* nd/config-core-checkstat-doc (2018-08-17) 1 commit
104 - (merged to 'next' on 2018-08-22 at 3663026a41)
105 - + config.txt: clarify core.checkStat
173 + "git rebase -i" did not clear the state files correctly when a run
174 + of "squash/fixup" is aborted and then the user manually amended the
175 + commit instead, which has been corrected.
176
107 - The meaning of the possible values the "core.checkStat"
108 - configuration variable can take were not adequately documented,
109 - which has been fixed.
177 + Will merge to 'next'.
178
179
112 -* nd/pack-deltify-regression-fix (2018-07-23) 1 commit
113 - (merged to 'next' on 2018-08-02 at f3b2bf0fef)
114 - + pack-objects: fix performance issues on packing large deltas
180 +* nd/bisect-show-list-fix (2018-09-04) 1 commit
181 + - bisect.c: make show_list() build again
182
116 - In a recent update in 2.18 era, "git pack-objects" started
117 - producing a larger than necessary packfiles by missing
118 - opportunities to use large deltas, which has been fixed.
183 + Debugging aid update.
184
185 + Will merge to and cook in 'next'.
186
121 -* rs/opt-updates (2018-08-21) 3 commits
122 - (merged to 'next' on 2018-08-22 at 1703b9b489)
123 - + parseopt: group literal string alternatives in argument help
124 - + remote: improve argument help for add --mirror
125 - + checkout-index: improve argument help for --stage
187
127 - "git cmd -h" updates.
188 +* nd/optim-reading-index-v4 (2018-09-04) 1 commit
189 + - read-cache.c: optimize reading index format v4
190
191 + The v4 format of the index file uses prefix compression to store
192 + the pathnames to save file size. The codepath to read such a file
193 + has been optimized.
194
130 -* sg/t0020-conversion-fix (2018-08-22) 1 commit
131 - (merged to 'next' on 2018-08-22 at 79508284c0)
132 - + t0020-crlf: check the right file
195 + Will merge to and cook in 'next'.
196
134 - Test fixes.
197
198 +* sg/doc-trace-appends (2018-09-04) 1 commit
199 + - Documentation/git.txt: clarify that GIT_TRACE=/path appends
200
137 -* sg/t3420-autostash-fix (2018-08-22) 1 commit
138 - (merged to 'next' on 2018-08-22 at 569cf2dc3d)
139 - + t3420-rebase-autostash: don't try to grep non-existing files
201 + Docfix.
202
141 - Test fixes.
203 + Will merge to 'next'.
204
205 +--------------------------------------------------
206 +[Stalled]
207
144 -* sg/t3903-missing-fix (2018-08-22) 1 commit
145 - (merged to 'next' on 2018-08-22 at 22f1240ed5)
146 - + t3903-stash: don't try to grep non-existing file
208 +* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
209 + . commit: fix exit code when doing a dry run
210 + . wt-status: teach wt_status_collect about merges in progress
211 + . wt-status: rename commitable to committable
212 + . t7501: add coverage for flags which imply dry runs
213
148 - Test fixes.
214 + "git commit --dry-run" gave a correct exit status even during a
215 + conflict resolution toward a merge, but it did not with the
216 + "--short" option, which has been corrected.
217
218 + Seems to break 7512, 3404 and 7060 in 'pu'.
219
151 -* sg/t4051-fix (2018-08-22) 1 commit
152 - (merged to 'next' on 2018-08-22 at e1c9adcc14)
153 - + t4051-diff-function-context: read the right file
220
155 - Test fixes.
221 +* ma/wrapped-info (2018-05-28) 2 commits
222 + - usage: prefix all lines in `vreportf()`, not just the first
223 + - usage: extract `prefix_suffix_lines()` from `advise()`
224
225 + An attempt to help making multi-line messages fed to warning(),
226 + error(), and friends more easily translatable.
227
158 -* sg/t7501-thinkofix (2018-08-22) 1 commit
159 - (merged to 'next' on 2018-08-22 at 69a9b472c7)
160 - + t7501-commit: drop silly command substitution
228 + Will discard and wait for a cleaned-up rewrite.
229 + cf. <20180529213957.GF7964@sigill.intra.peff.net>
230
162 - Test fixes.
231
232 +* hn/bisect-first-parent (2018-04-21) 1 commit
233 + - bisect: create 'bisect_flags' parameter in find_bisection()
234 + (this branch is used by tb/bisect-first-parent.)
235
165 -* sg/test-must-be-empty (2018-08-21) 4 commits
166 - (merged to 'next' on 2018-08-22 at a376680200)
167 - + tests: use 'test_must_be_empty' instead of 'test_cmp <empty> <out>'
168 - + tests: use 'test_must_be_empty' instead of 'test_cmp /dev/null <out>'
169 - + tests: use 'test_must_be_empty' instead of 'test ! -s'
170 - + tests: use 'test_must_be_empty' instead of '! test -s'
236 + Preliminary code update to allow passing more flags down the
237 + bisection codepath in the future.
238
172 - Test fixes.
239 + We do not add random code that does not have real users to our
240 + codebase, so let's have it wait until such a real code materializes
241 + before too long.
242
243
175 -* sg/test-rebase-editor-fix (2018-08-23) 1 commit
176 - (merged to 'next' on 2018-08-23 at 504538d005)
177 - + t/lib-rebase.sh: support explicit 'pick' commands in 'fake_editor.sh'
244 +* av/fsmonitor-updates (2018-01-04) 6 commits
245 + - fsmonitor: use fsmonitor data in `git diff`
246 + - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
247 + - fsmonitor: make output of test-dump-fsmonitor more concise
248 + - fsmonitor: update helper tool, now that flags are filled later
249 + - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
250 + - dir.c: update comments to match argument name
251
179 - Test fix.
252 + Code clean-up on fsmonitor integration, plus optional utilization
253 + of the fsmonitor data in diff-files.
254
255 + Waiting for an update.
256 + cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
257
182 -* sm/branch-sort-config (2018-08-16) 1 commit
183 - (merged to 'next' on 2018-08-22 at 86d26afa1e)
184 - + branch: support configuring --sort via .gitconfig
258
186 - "git branch --list" learned to take the default sort order from the
187 - 'branch.sort' configuration variable, just like "git tag --list"
188 - pays attention to 'tag.sort'.
259 +* pb/bisect-helper-2 (2018-07-23) 8 commits
260 + - t6030: make various test to pass GETTEXT_POISON tests
261 + - bisect--helper: `bisect_start` shell function partially in C
262 + - bisect--helper: `get_terms` & `bisect_terms` shell function in C
263 + - bisect--helper: `bisect_next_check` shell function in C
264 + - bisect--helper: `check_and_set_terms` shell function in C
265 + - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
266 + - bisect--helper: `bisect_write` shell function in C
267 + - bisect--helper: `bisect_reset` shell function in C
268 +
269 + Expecting a reroll.
270 + cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
271 +
272 + I just rebased the topic to a newer base as it did not build
273 + standalone with the base I originally queued the topic on, but
274 + otherwise there is no update to address any of the review comments
275 + in the thread above---we are still waiting for a reroll.
276 +
277 +
278 +* jk/drop-ancient-curl (2017-08-09) 5 commits
279 + - http: #error on too-old curl
280 + - curl: remove ifdef'd code never used with curl >=7.19.4
281 + - http: drop support for curl < 7.19.4
282 + - http: drop support for curl < 7.16.0
283 + - http: drop support for curl < 7.11.1
284 +
285 + Some code in http.c that has bitrot is being removed.
286 +
287 + Expecting a reroll.
288 +
289 +
290 +* mk/use-size-t-in-zlib (2017-08-10) 1 commit
291 + . zlib.c: use size_t for size
292 +
293 + The wrapper to call into zlib followed our long tradition to use
294 + "unsigned long" for sizes of regions in memory, which have been
295 + updated to use "size_t".
296 +
297 + Needs resurrecting by making sure the fix is good and still applies
298 + (or adjusted to today's codebase).
299
300 --------------------------------------------------
191 -[New Topics]
301 +[Cooking]
302
303 * ds/format-commit-graph-docs (2018-08-21) 2 commits
304 - commit-graph.txt: improve formatting for asciidoc
@@ -198,13 +308,17 @@ of the repositories listed at
308 well as text.
309
310
201 -* jk/diff-rendered-docs (2018-08-21) 1 commit
311 +* jk/diff-rendered-docs (2018-08-31) 5 commits
312 + - doc/Makefile: drop doc-diff worktree and temporary files on "make clean"
313 + - doc-diff: add --clean mode to remove temporary working gunk
314 + - doc-diff: fix non-portable 'man' invocation
315 + - doc-diff: always use oids inside worktree
316 (merged to 'next' on 2018-08-22 at dd7a2b71cd)
317 + SubmittingPatches: mention doc-diff
318
319 Dev doc update.
320
207 - Will cook in 'next'.
321 + Will merge to 'next'.
322
323
324 * jk/pack-delta-reuse-with-bitmap (2018-08-21) 6 commits
@@ -215,6 +329,7 @@ of the repositories listed at
329 + t/perf: add infrastructure for measuring sizes
330 + t/perf: factor out percent calculations
331 + t/perf: factor boilerplate out of test_perf
332 + (this branch is used by jk/pack-objects-with-bitmap-fix.)
333
334 When creating a thin pack, which allows objects to be made into a
335 delta against another object that is not in the resulting pack but
@@ -240,28 +355,13 @@ of the repositories listed at
355 * js/rebase-in-c-5.5-work-with-rebase-i-in-c (2018-08-29) 2 commits
356 - builtin rebase: prepare for builtin rebase -i
357 - Merge branch 'ag/rebase-i-in-c' into js/rebase-in-c-5.5-work-with-rebase-i-in-c
243 - (this branch is used by pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
358 + (this branch is used by jc/rebase-in-c-9-fixes and pk/rebase-in-c-6-final; uses ag/rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
359
360 "rebase" that has been rewritten learns the new calling convention
361 used by "rebase -i" that was rewritten in C, tying the loose end
362 between two GSoC topics that stomped on each other's toes.
363
364
250 -* ab/portable (2018-08-27) 6 commits
251 - (merged to 'next' on 2018-08-27 at 37640e66ef)
252 - + tests: fix and add lint for non-portable grep --file
253 - + tests: fix version-specific portability issue in Perl JSON
254 - + tests: use shorter labels in chainlint.sed for AIX sed
255 - + tests: fix comment syntax in chainlint.sed for AIX sed
256 - + tests: fix and add lint for non-portable seq
257 - + tests: fix and add lint for non-portable head -c N
258 - (this branch is used by ab/portable-more.)
259 -
260 - Portability fix.
261 -
262 - Will cook in 'next'.
263 -
264 -
365 * jk/trailer-fixes (2018-08-23) 8 commits
366 (merged to 'next' on 2018-08-27 at 93b671b8c6)
367 + append_signoff: use size_t for string offsets
@@ -282,23 +382,14 @@ of the repositories listed at
382
383
384 * tg/rerere-doc-updates (2018-08-29) 2 commits
285 - - rerere: add note about files with existing conflict markers
286 - - rerere: mention caveat about unmatched conflict markers
385 + (merged to 'next' on 2018-08-31 at ce4fef1a97)
386 + + rerere: add note about files with existing conflict markers
387 + + rerere: mention caveat about unmatched conflict markers
388 (this branch uses tg/rerere.)
389
390 Clarify a part of technical documentation for rerere.
391
291 - Will merge to 'next'.
292 -
293 -
294 -* ab/portable-more (2018-08-29) 2 commits
295 - - tests: fix non-portable iconv invocation
296 - - tests: fix non-portable "${var:-"str"}" construct
297 - (this branch uses ab/portable.)
298 -
299 - Portability fix.
300 -
301 - Will merge to 'next'.
392 + Will cook in 'next'.
393
394
395 * ds/commit-graph-tests (2018-08-29) 1 commit
@@ -309,49 +400,23 @@ of the repositories listed at
400 Will merge to 'next'.
401
402
312 -* en/directory-renames-nothanks (2018-08-29) 4 commits
313 - - SQUASH???
314 - - am: avoid directory rename detection when calling recursive merge machinery
315 - - merge-recursive: add ability to turn off directory rename detection
316 - - t3401: add another directory rename testcase for rebase and am
317 -
318 - Recent addition of "directory rename" heuristics to the
319 - merge-recursive backend makes the command susceptible to false
320 - positives and false negatives, but the risk is even more grave when
321 - used in the context of "git am -3", which does not know about any
322 - surrounding unmodified paths while inspecting a patch. The
323 - heuristic is disabled to keep the machinery "more stupid but
324 - predicable".
325 -
326 - Will merge to 'next' after squashing the fix in.
327 -
328 -
329 -* es/chain-lint-more (2018-08-29) 1 commit
330 - - chainlint: match "quoted" here-doc tags
331 -
332 - The test linter code has learned that the end of here-doc mark
333 - "EOF" can be quoted in a double-quote pair, not just in a
334 - single-quote pair.
335 -
336 - Will merge to 'next'.
337 -
338 -
403 * jk/cocci (2018-08-29) 9 commits
340 - - show_dirstat: simplify same-content check
341 - - read-cache: use oideq() in ce_compare functions
342 - - convert hashmap comparison functions to oideq()
343 - - convert "hashcmp() != 0" to "!hasheq()"
344 - - convert "oidcmp() != 0" to "!oideq()"
345 - - convert "hashcmp() == 0" to hasheq()
346 - - convert "oidcmp() == 0" to oideq()
347 - - introduce hasheq() and oideq()
348 - - coccinelle: use <...> for function exclusion
404 + (merged to 'next' on 2018-08-31 at 914b4f17ce)
405 + + show_dirstat: simplify same-content check
406 + + read-cache: use oideq() in ce_compare functions
407 + + convert hashmap comparison functions to oideq()
408 + + convert "hashcmp() != 0" to "!hasheq()"
409 + + convert "oidcmp() != 0" to "!oideq()"
410 + + convert "hashcmp() == 0" to hasheq()
411 + + convert "oidcmp() == 0" to oideq()
412 + + introduce hasheq() and oideq()
413 + + coccinelle: use <...> for function exclusion
414
415 spatch transformation to replace boolean uses of !hashcmp() to
416 newly introduced oideq() is added, and applied, to regain
417 performance lost due to support of multiple hash algorithms.
418
354 - Will merge to 'next'.
419 + Will cook in 'next'.
420
421
422 * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit
@@ -360,17 +425,19 @@ of the repositories listed at
425 Applicability check after a patch is edited in a "git add -i/p"
426 session has been improved.
427
363 - Will merge to 'next'.
428 + Will hold.
429 + cf. <e5b2900a-0558-d3bf-8ea1-d526b078bbc2@talktalk.net>
430
431
432 * rs/mailinfo-format-flowed (2018-08-29) 1 commit
367 - - mailinfo: support format=flowed
433 + (merged to 'next' on 2018-08-31 at 9e8b92176c)
434 + + mailinfo: support format=flowed
435
436 "git mailinfo" used in "git am" learned to make a best-effort
437 recovery of a patch corrupted by MUA that sends text/plain with
438 format=flawed option.
439
373 - Will merge to 'next'.
440 + Will cook in 'next'.
441
442
443 * sb/submodule-move-head-with-corruption (2018-08-28) 2 commits
@@ -384,117 +451,22 @@ of the repositories listed at
451
452
453 * tg/conflict-marker-size (2018-08-29) 1 commit
387 - - .gitattributes: add conflict-marker-size for relevant files
454 + (merged to 'next' on 2018-08-31 at 12099161f0)
455 + + .gitattributes: add conflict-marker-size for relevant files
456
457 Developer aid.
458
391 - Will merge to 'next'.
459 + Will cook in 'next'.
460
461
462 * ts/doc-build-manpage-xsl-quietly (2018-08-29) 1 commit
395 - - Documentation/Makefile: make manpage-base-url.xsl generation quieter
463 + (merged to 'next' on 2018-08-31 at 7527e0f8d3)
464 + + Documentation/Makefile: make manpage-base-url.xsl generation quieter
465
466 Build tweak.
467
399 - Will merge to 'next'.
400 -
401 ---------------------------------------------------
402 -[Stalled]
403 -
404 -* sl/commit-dry-run-with-short-output-fix (2018-07-30) 4 commits
405 - . commit: fix exit code when doing a dry run
406 - . wt-status: teach wt_status_collect about merges in progress
407 - . wt-status: rename commitable to committable
408 - . t7501: add coverage for flags which imply dry runs
409 -
410 - "git commit --dry-run" gave a correct exit status even during a
411 - conflict resolution toward a merge, but it did not with the
412 - "--short" option, which has been corrected.
413 -
414 - Seems to break 7512, 3404 and 7060 in 'pu'.
415 -
416 -
417 -* ma/wrapped-info (2018-05-28) 2 commits
418 - - usage: prefix all lines in `vreportf()`, not just the first
419 - - usage: extract `prefix_suffix_lines()` from `advise()`
420 -
421 - An attempt to help making multi-line messages fed to warning(),
422 - error(), and friends more easily translatable.
423 -
424 - Will discard and wait for a cleaned-up rewrite.
425 - cf. <20180529213957.GF7964@sigill.intra.peff.net>
426 -
427 -
428 -* hn/bisect-first-parent (2018-04-21) 1 commit
429 - - bisect: create 'bisect_flags' parameter in find_bisection()
430 - (this branch is used by tb/bisect-first-parent.)
431 -
432 - Preliminary code update to allow passing more flags down the
433 - bisection codepath in the future.
434 -
435 - We do not add random code that does not have real users to our
436 - codebase, so let's have it wait until such a real code materializes
437 - before too long.
438 -
439 -
440 -* av/fsmonitor-updates (2018-01-04) 6 commits
441 - - fsmonitor: use fsmonitor data in `git diff`
442 - - fsmonitor: remove debugging lines from t/t7519-status-fsmonitor.sh
443 - - fsmonitor: make output of test-dump-fsmonitor more concise
444 - - fsmonitor: update helper tool, now that flags are filled later
445 - - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
446 - - dir.c: update comments to match argument name
447 -
448 - Code clean-up on fsmonitor integration, plus optional utilization
449 - of the fsmonitor data in diff-files.
450 -
451 - Waiting for an update.
452 - cf. <alpine.DEB.2.21.1.1801042335130.32@MININT-6BKU6QN.europe.corp.microsoft.com>
453 -
454 -
455 -* pb/bisect-helper-2 (2018-07-23) 8 commits
456 - - t6030: make various test to pass GETTEXT_POISON tests
457 - - bisect--helper: `bisect_start` shell function partially in C
458 - - bisect--helper: `get_terms` & `bisect_terms` shell function in C
459 - - bisect--helper: `bisect_next_check` shell function in C
460 - - bisect--helper: `check_and_set_terms` shell function in C
461 - - wrapper: move is_empty_file() and rename it as is_empty_or_missing_file()
462 - - bisect--helper: `bisect_write` shell function in C
463 - - bisect--helper: `bisect_reset` shell function in C
464 -
465 - Expecting a reroll.
466 - cf. <0102015f5e5ee171-f30f4868-886f-47a1-a4e4-b4936afc545d-000000@eu-west-1.amazonses.com>
467 -
468 - I just rebased the topic to a newer base as it did not build
469 - standalone with the base I originally queued the topic on, but
470 - otherwise there is no update to address any of the review comments
471 - in the thread above---we are still waiting for a reroll.
472 -
473 -
474 -* jk/drop-ancient-curl (2017-08-09) 5 commits
475 - - http: #error on too-old curl
476 - - curl: remove ifdef'd code never used with curl >=7.19.4
477 - - http: drop support for curl < 7.19.4
478 - - http: drop support for curl < 7.16.0
479 - - http: drop support for curl < 7.11.1
480 -
481 - Some code in http.c that has bitrot is being removed.
482 -
483 - Expecting a reroll.
484 -
485 -
486 -* mk/use-size-t-in-zlib (2017-08-10) 1 commit
487 - . zlib.c: use size_t for size
488 -
489 - The wrapper to call into zlib followed our long tradition to use
490 - "unsigned long" for sizes of regions in memory, which have been
491 - updated to use "size_t".
492 -
493 - Needs resurrecting by making sure the fix is good and still applies
494 - (or adjusted to today's codebase).
468 + Will cook in 'next'.
469
496 ---------------------------------------------------
497 -[Cooking]
470
471 * bp/checkout-new-branch-optim (2018-08-16) 1 commit
472 (merged to 'next' on 2018-08-27 at e69bfd115f)
@@ -537,7 +509,8 @@ of the repositories listed at
509 the submodule name. URLencode the submodule name before computing
510 the name of the directory to make sure they form a flat namespace.
511
540 - Will cook in 'next'.
512 + Expecting further work on the topic.
513 + cf. <CAGZ79kYnbjaPoWdda0SM_-_X77mVyYC7JO61OV8nm2yj3Q1OvQ@mail.gmail.com>
514
515
516 * cc/delta-islands (2018-08-16) 7 commits
@@ -557,8 +530,9 @@ of the repositories listed at
530 Will cook in 'next'.
531
532
560 -* md/filter-trees (2018-08-16) 6 commits
533 +* md/filter-trees (2018-09-04) 7 commits
534 - list-objects-filter: implement filter tree:0
535 + - list-objects-filter: use BUG rather than die
536 - revision: mark non-user-given objects instead
537 - rev-list: handle missing tree objects properly
538 - list-objects: always parse trees gently
@@ -568,7 +542,7 @@ of the repositories listed at
542 The "rev-list --filter" feature learned to exclude all trees via
543 "tree:0" filter.
544
571 - What's the status of this one?
545 + Will merge to 'next'.
546
547
548 * ng/status-i-short-for-ignored (2018-08-09) 1 commit
@@ -592,7 +566,7 @@ of the repositories listed at
566 - builtin rebase: handle the pre-rebase hook (and add --no-verify)
567 - builtin rebase: support `git rebase --onto A...B`
568 - builtin rebase: support --onto
595 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
569 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c.)
570
571
572 * pk/rebase-in-c-3-acts (2018-08-10) 7 commits
@@ -603,7 +577,7 @@ of the repositories listed at
577 - builtin rebase: support --abort
578 - builtin rebase: support --skip
579 - builtin rebase: support --continue
606 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
580 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c and pk/rebase-in-c-2-basic.)
581
582
583 * pk/rebase-in-c-4-opts (2018-08-10) 18 commits
@@ -625,7 +599,7 @@ of the repositories listed at
599 - builtin rebase: support --rerere-autoupdate
600 - builtin rebase: support --signoff
601 - builtin rebase: allow selecting the rebase "backend"
628 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
602 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic and pk/rebase-in-c-3-acts.)
603
604
605 * pk/rebase-in-c-5-test (2018-08-10) 6 commits
@@ -635,41 +609,35 @@ of the repositories listed at
609 - builtin rebase: fast-forward to onto if it is a proper descendant
610 - builtin rebase: optionally pass custom reflogs to reset_head()
611 - builtin rebase: optionally auto-detect the upstream
638 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
612 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final; uses pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts and pk/rebase-in-c-4-opts.)
613
614
615 * pk/rebase-in-c-6-final (2018-08-29) 1 commit
616 - rebase: default to using the builtin rebase
643 - (this branch uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
617 + (this branch is used by jc/rebase-in-c-9-fixes; uses ag/rebase-i-in-c, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts and pk/rebase-in-c-5-test.)
618
619
646 -* ps/stash-in-c (2018-08-08) 26 commits
647 - - stash: replace all "git apply" child processes with API calls
620 +* ps/stash-in-c (2018-08-31) 20 commits
621 - stash: replace all `write-tree` child processes with API calls
622 - stash: optimize `get_untracked_files()` and `check_changes()`
623 - stash: convert `stash--helper.c` into `stash.c`
624 - stash: convert save to builtin
652 - - stash: replace spawning `git ls-files` child process
653 - - stash: add tests for `git stash push -q`
654 - - stash: make push to be quiet
625 + - stash: make push -q quiet
626 - stash: convert push to builtin
656 - - stash: avoid spawning a "diff-index" process
657 - - stash: replace spawning a "read-tree" process
627 - stash: convert create to builtin
628 - stash: convert store to builtin
660 - - stash: update `git stash show` documentation
661 - - stash: refactor `show_stash()` to use the diff API
662 - - stash: change `git stash show` usage text and documentation
629 + - stash: mention options in `show` synopsis
630 - stash: convert show to builtin
664 - - stash: implement the "list" command in the builtin
631 + - stash: convert list to builtin
632 - stash: convert pop to builtin
633 - stash: convert branch to builtin
634 - stash: convert drop and clear to builtin
635 - stash: convert apply to builtin
669 - - stash: renamed test cases to be more descriptive
636 + - stash: add tests for `git stash show` config
637 + - stash: rename test cases to be more descriptive
638 - stash: update test cases conform to coding guidelines
639 - stash: improve option parsing test coverage
672 - - sha1-name.c: added 'get_oidf', which acts like 'get_oid'
640 + - sha1-name.c: add `get_oidf()` which acts like `get_oid()`
641
642
643 * nd/clone-case-smashing-warning (2018-08-17) 1 commit
@@ -737,17 +705,6 @@ of the repositories listed at
705 Will cook in 'next'.
706
707
740 -* pw/rebase-i-author-script-fix (2018-08-07) 2 commits
741 - - sequencer: fix quoting in write_author_script
742 - - sequencer: handle errors from read_author_ident()
743 -
744 - Recent "git rebase -i" update started to write bogusly formatted
745 - author-script, with a matching broken reading code. These are
746 - being fixed.
747 -
748 - Will merge to 'next'.
749 -
750 -
708 * pw/add-p-select (2018-07-26) 4 commits
709 - add -p: optimize line selection for short hunks
710 - add -p: allow line selection to be inverted
@@ -814,72 +771,41 @@ of the repositories listed at
771
772
773 * es/format-patch-interdiff (2018-07-23) 6 commits
817 - - format-patch: allow --interdiff to apply to a lone-patch
818 - - log-tree: show_log: make commentary block delimiting reusable
819 - - interdiff: teach show_interdiff() to indent interdiff
820 - - format-patch: teach --interdiff to respect -v/--reroll-count
821 - - format-patch: add --interdiff option to embed diff in cover letter
822 - - format-patch: allow additional generated content in make_cover_letter()
774 + (merged to 'next' on 2018-08-31 at 63927e0227)
775 + + format-patch: allow --interdiff to apply to a lone-patch
776 + + log-tree: show_log: make commentary block delimiting reusable
777 + + interdiff: teach show_interdiff() to indent interdiff
778 + + format-patch: teach --interdiff to respect -v/--reroll-count
779 + + format-patch: add --interdiff option to embed diff in cover letter
780 + + format-patch: allow additional generated content in make_cover_letter()
781 (this branch is used by es/format-patch-rangediff.)
782
783 "git format-patch" learned a new "--interdiff" option to explain
784 the difference between this version and the previous atttempt in
785 the cover letter (or after the tree-dashes as a comment).
786
829 - What's the doneness of this one?
830 - cf. <CAPig+cSuYUYSPTuKx08wcmQM-G12_-W2T4BS07fA=6grM1b8Gw@mail.gmail.com>
787 + Will cook in 'next'.
788
789
790 * es/format-patch-rangediff (2018-08-14) 10 commits
834 - - format-patch: allow --range-diff to apply to a lone-patch
835 - - format-patch: add --creation-factor tweak for --range-diff
836 - - format-patch: teach --range-diff to respect -v/--reroll-count
837 - - format-patch: extend --range-diff to accept revision range
838 - - format-patch: add --range-diff option to embed diff in cover letter
839 - - range-diff: relieve callers of low-level configuration burden
840 - - range-diff: publish default creation factor
841 - - range-diff: respect diff_option.file rather than assuming 'stdout'
842 - - Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff
843 - - Merge branch 'js/range-diff' into es/format-patch-rangediff
791 + (merged to 'next' on 2018-08-31 at 65627afece)
792 + + format-patch: allow --range-diff to apply to a lone-patch
793 + + format-patch: add --creation-factor tweak for --range-diff
794 + + format-patch: teach --range-diff to respect -v/--reroll-count
795 + + format-patch: extend --range-diff to accept revision range
796 + + format-patch: add --range-diff option to embed diff in cover letter
797 + + range-diff: relieve callers of low-level configuration burden
798 + + range-diff: publish default creation factor
799 + + range-diff: respect diff_option.file rather than assuming 'stdout'
800 + + Merge branch 'es/format-patch-interdiff' into es/format-patch-rangediff
801 + + Merge branch 'js/range-diff' into es/format-patch-rangediff
802 (this branch uses es/format-patch-interdiff.)
803
804 "git format-patch" learned a new "--range-diff" option to explain
847 - the difference between this version and the previous atttempt in
805 + the difference between this version and the previous attempt in
806 the cover letter (or after the tree-dashes as a comment).
807
850 - What's the doneness of this one?
851 -
852 -
853 -* jh/structured-logging (2018-08-28) 26 commits
854 - - SQUASH??? spatch fix
855 - - structured-logging: add config data facility
856 - - structured-logging: t0420 tests for interacitve child_summary
857 - - structured-logging: t0420 tests for child process detail events
858 - - structured-logging: add child process classification
859 - - structured-logging: add detail-events for child processes
860 - - structured-logging: add structured logging to remote-curl
861 - - structured-logging: t0420 tests for aux-data
862 - - structured-logging: add aux-data for size of sparse-checkout file
863 - - structured-logging: add aux-data for index size
864 - - structured-logging: add aux-data facility
865 - - structured-logging: t0420 tests for timers
866 - - structured-logging: add timer around preload_index
867 - - structured-logging: add timer around wt-status functions
868 - - structured-logging: add timer around do_write_index
869 - - structured-logging: add timer around do_read_index
870 - - structured-logging: add timer facility
871 - - structured-logging: add detail-event for lazy_init_name_hash
872 - - structured-logging: add detail-event facility
873 - - structured-logging: t0420 basic tests
874 - - structured-logging: set sub_command field for checkout command
875 - - structured-logging: set sub_command field for branch command
876 - - structured-logging: add session-id to log events
877 - - structured-logging: add structured logging framework
878 - - structured-logging: add STRUCTURED_LOGGING=1 to Makefile
879 - - structured-logging: design document
880 -
881 - Expecting a reroll.
882 - cf. <4bc19d36-1242-9e83-a9ed-ed58a681b499@jeffhostetler.com>
808 + Will cook in 'next'.
809
810
811 * jn/gc-auto (2018-07-17) 3 commits
@@ -955,7 +881,7 @@ of the repositories listed at
881 - editor: add a function to launch the sequence editor
882 - rebase -i: rewrite append_todo_help() in C
883 - sequencer: make three functions and an enum from sequencer.c public
958 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
884 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c and pk/rebase-in-c-6-final.)
885
886 Rewrite of the remaining "rebase -i" machinery in C.
887
@@ -974,12 +900,14 @@ of the repositories listed at
900 - builtin/rebase: support running "git rebase <upstream>"
901 - rebase: refactor common shell functions into their own file
902 - rebase: start implementing it as a builtin
977 - (this branch is used by js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
903 + (this branch is used by jc/rebase-in-c-9-fixes, js/rebase-in-c-5.5-work-with-rebase-i-in-c, pk/rebase-in-c-2-basic, pk/rebase-in-c-3-acts, pk/rebase-in-c-4-opts, pk/rebase-in-c-5-test and pk/rebase-in-c-6-final.)
904
905 Rewrite of the "rebase" machinery in C.
906
907
982 -* jk/branch-l-1-repurpose (2018-06-22) 1 commit
908 +* jk/branch-l-1-repurpose (2018-08-30) 2 commits
909 + (merged to 'next' on 2018-08-31 at cfa73bbfcb)
910 + + doc/git-branch: remove obsolete "-l" references
911 (merged to 'next' on 2018-08-08 at d2a08dd08e)
912 + branch: make "-l" a synonym for "--list"
913
@@ -1077,3 +1005,34 @@ of the repositories listed at
1005 as long as it is cleanly made and it is clear that the feature
1006 won't negatively affect those who do not use it, so a review from
1007 that point of view may also be appropriate.
1008 +
1009 +
1010 +* jh/structured-logging (2018-08-28) 26 commits
1011 + . SQUASH??? spatch fix
1012 + . structured-logging: add config data facility
1013 + . structured-logging: t0420 tests for interacitve child_summary
1014 + . structured-logging: t0420 tests for child process detail events
1015 + . structured-logging: add child process classification
1016 + . structured-logging: add detail-events for child processes
1017 + . structured-logging: add structured logging to remote-curl
1018 + . structured-logging: t0420 tests for aux-data
1019 + . structured-logging: add aux-data for size of sparse-checkout file
1020 + . structured-logging: add aux-data for index size
1021 + . structured-logging: add aux-data facility
1022 + . structured-logging: t0420 tests for timers
1023 + . structured-logging: add timer around preload_index
1024 + . structured-logging: add timer around wt-status functions
1025 + . structured-logging: add timer around do_write_index
1026 + . structured-logging: add timer around do_read_index
1027 + . structured-logging: add timer facility
1028 + . structured-logging: add detail-event for lazy_init_name_hash
1029 + . structured-logging: add detail-event facility
1030 + . structured-logging: t0420 basic tests
1031 + . structured-logging: set sub_command field for checkout command
1032 + . structured-logging: set sub_command field for branch command
1033 + . structured-logging: add session-id to log events
1034 + . structured-logging: add structured logging framework
1035 + . structured-logging: add STRUCTURED_LOGGING=1 to Makefile
1036 + . structured-logging: design document
1037 +
1038 + Being rerolled with an updated tracing API.