What's cooking (2016/06 #03)

Junio C Hamano committed Jun 9, 2016 at 10:21 UTC 2d30c169da9a8b402b36a0b24689330559ca8943
1 file changed +217 -256
whats-cooking.txt
+217 -256
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2016, #02; Mon, 6)
3 +Subject: What's cooking in git.git (Jun 2016, #03; Thu, 9)
4 X-master-at: 49fa3dc76179e04b0833542fa52d0f287a4955ac
5 X-next-at: 3cd93d08f085fd56ac81614bd2e920c3b50eacec
6
7 -What's cooking in git.git (Jun 2016, #02; Mon, 6)
7 +What's cooking in git.git (Jun 2016, #03; Thu, 9)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,271 +12,45 @@ 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 -The hopefully final release candidate 2.9-rc2 together with 2.8.4
16 -has been pushed out.
17 -
18 -By the way, the tip of 'pu' is not expected to pass its own test
19 -suite, due to multiple broken topics queued near its tip. Earlier
20 -there was a talk about automatically bisecting breakage on 'pu', but
21 -tonight's pushout is a good illustration why that would not be very
22 -useful. What would be useful is (1) enumeration of commits on the
23 -first parent chain on master..pu, (2) test of the second parent of
24 -each of the commits found in (1), and (3) bisection between the
25 -broken commits in (2) and 'master', which would highlight broken
26 -topics and the commit(s) that might be responsible for each broken
27 -topic.
15 +The tip of 'pu' is not expected to pass its own test suite, due to
16 +multiple broken topics queued near its tip. Earlier there was a talk
17 +about automatically bisecting breakage on 'pu', but tonight's
18 +pushout is a good illustration why that would not be very useful.
19 +What would be useful is (1) enumeration of commits on the first
20 +parent chain on master..pu, (2) test of the second parent of each of
21 +the commits found in (1), and (3) bisection between the broken
22 +commits in (2) and 'master', which would highlight broken topics and
23 +the commit(s) that might be responsible for each broken topic.
24
25 You can find the changes described here in the integration branches
26 of the repositories listed at
27
28 http://git-blame.blogspot.com/p/git-public-repositories.html
29
34 ---------------------------------------------------
35 -[Graduated to "master"]
36 -
37 -* bd/readme.markdown-more (2016-05-31) 1 commit
38 - (merged to 'next' on 2016-06-02 at 1de7554)
39 - + README.md: format CLI commands with code syntax
40 -
41 - The mark-up in the top-level README.md file has been updated to
42 - typeset CLI command names differently from the body text.
43 -
44 -
45 -* em/man-bold-literal (2016-05-31) 1 commit
46 - (merged to 'next' on 2016-06-02 at efb4156)
47 - + Documentation: bold literals in man
48 -
49 - The manpage output of our documentation did not render well in
50 - terminal; typeset literals in bold by default to make them stand
51 - out more.
52 -
53 -
54 -* js/perf-rebase-i (2016-05-31) 1 commit
55 - (merged to 'next' on 2016-05-31 at 39d8dc8)
56 - + perf: make the tests work without a worktree
57 -
58 - The one in 'master' has a brown-paper-bag bug that breaks the perf
59 - test when used inside a usual Git repository with a working tree.
60 -
61 -
62 -* js/rebase-i-dedup-call-to-rerere (2016-05-31) 1 commit
63 - (merged to 'next' on 2016-05-31 at db1f9e3)
64 - + rebase -i: remove an unnecessary 'rerere' invocation
65 -
66 - "git rebase -i", after it fails to auto-resolve the conflict, had
67 - an unnecessary call to "git rerere" from its very early days, which
68 - was spotted recently; the call has been removed.
69 -
70 -
71 -* mm/makefile-developer-can-be-in-config-mak (2016-06-01) 2 commits
72 - (merged to 'next' on 2016-06-02 at f3a0678)
73 - + Makefile: add $(DEVELOPER_CFLAGS) variable
74 - + Makefile: move 'ifdef DEVELOPER' after config.mak* inclusion
75 -
76 - "make DEVELOPER=1" worked as expected; setting DEVELOPER=1 in
77 - config.mak didn't.
78 -
79 -
80 -* mr/send-email-doc-gmail-2fa (2016-06-01) 1 commit
81 - (merged to 'next' on 2016-06-02 at cd2ade8)
82 - + Documentation/git-send-email: fix typo in gmail 2FA section
83 -
84 - Typofix.
85 -
86 -
87 -* pa/cherry-pick-doc-typo (2016-05-29) 1 commit
88 - (merged to 'next' on 2016-06-02 at e2c2457)
89 - + git-cherry-pick.txt: correct a small typo
90 -
91 - "git cherry-pick --help" had three instances of word "behavior",
92 - one of which was spelled "behaviour", which is updated to match the
93 - other two.
94 -
95 -
96 -* rs/apply-name-terminate (2016-05-29) 1 commit
97 - (merged to 'next' on 2016-06-02 at 8df9332)
98 - + apply: remove unused parameters from name_terminate()
99 -
100 - Code clean-up.
101 -
102 -
103 -* rs/patch-id-use-skip-prefix (2016-05-29) 1 commit
104 - (merged to 'next' on 2016-06-02 at c993de3)
105 - + patch-id: use starts_with() and skip_prefix()
106 -
107 - Code clean-up.
108 -
109 -
110 -* sb/submodule-helper-list-signal-unmatch-via-exit-status (2016-06-01) 1 commit
111 - (merged to 'next' on 2016-06-02 at 29064a2)
112 - + submodule--helper: offer a consistent API
113 - (this branch is used by sb/submodule-helper-relative-path.)
114 -
115 - The way how "submodule--helper list" signals unmatch error to its
116 - callers has been updated.
117 -
118 -
119 -* sb/submodule-helper-relative-path (2016-06-01) 1 commit
120 - (merged to 'next' on 2016-06-02 at 8a191e1)
121 - + submodule: remove bashism from shell script
122 - (this branch uses sb/submodule-helper-list-signal-unmatch-via-exit-status.)
123 -
124 - A bash-ism "local" has been removed from "git submodule" scripted
125 - Porcelain.
126 -
30 --------------------------------------------------
31 [New Topics]
32
130 -* wd/userdiff-css (2016-06-03) 1 commit
131 - (merged to 'next' on 2016-06-06 at 536102f)
132 - + userdiff: add built-in pattern for CSS
133 -
134 - Update the funcname definition to support css files.
135 -
136 - Will merge to 'master' after 2.9 final.
137 -
138 -
139 -* jc/attr-more (2016-06-03) 2 commits
140 - - attr.c: pass struct git_attr_check down the callchain
141 - - attr.c: add push_stack() helper
142 - (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
143 -
144 - The beginning of long and tortuous journey to clean-up attribute
145 - subsystem implementation.
146 -
147 -
148 -* jk/rev-list-count-with-bitmap (2016-06-03) 2 commits
149 - (merged to 'next' on 2016-06-06 at dd9b30f)
150 - + rev-list: disable bitmaps when "-n" is used with listing objects
151 - + rev-list: "adjust" results of "--count --use-bitmap-index -n"
152 -
153 - "git rev-list --count" whose walk-length is limited with "-n"
154 - option did not work well with the counting optimized to look at the
155 - bitmap index.
156 -
157 - Will merge to 'master' after 2.9 final.
158 -
159 -
160 -* mh/ref-iterators (2016-06-03) 13 commits
161 - (merged to 'next' on 2016-06-06 at c8e79dc)
162 - + for_each_reflog(): reimplement using iterators
163 - + dir_iterator: new API for iterating over a directory tree
164 - + for_each_reflog(): don't abort for bad references
165 - + do_for_each_ref(): reimplement using reference iteration
166 - + refs: introduce an iterator interface
167 - + ref_resolves_to_object(): new function
168 - + entry_resolves_to_object(): rename function from ref_resolves_to_object()
169 - + get_ref_cache(): only create an instance if there is a submodule
170 - + remote rm: handle symbolic refs correctly
171 - + delete_refs(): add a flags argument
172 - + refs: use name "prefix" consistently
173 - + do_for_each_ref(): move docstring to the header file
174 - + refs: remove unnecessary "extern" keywords
175 - (this branch uses mh/split-under-lock.)
176 -
177 - The API to iterate over all the refs (i.e. for_each_ref(), etc.)
178 - has been revamped.
33 +* jk/avoid-unbounded-alloca (2016-06-07) 1 commit
34 + - tree-diff: avoid alloca for large allocations
35
180 - Will merge to 'master' after 2.9 final.
181 -
182 -
183 -* ew/mboxrd-format-am (2016-06-06) 3 commits
184 - - am: support --patch-format=mboxrd
185 - - mailsplit: support unescaping mboxrd messages
186 - - pretty: support "mboxrd" output format
187 -
188 - Teach format-patch and mailsplit (hence "am") how a line that
189 - happens to begin with "From " in the e-mail message is quoted with
190 - ">", so that these lines can be restored to their original shape.
191 -
192 -
193 -* lf/receive-pack-auto-gc-to-client (2016-06-06) 1 commit
194 - - receive-pack: send auto-gc output over sideband 2
195 -
196 - Allow messages that are generated by auto gc during "git push" on
197 - the receiving end to be explicitly passed back to the sending end
198 - over sideband, so that they are shown with "remote: " prefix to
199 - avoid confusing the users.
200 -
201 -
202 -* mg/cherry-pick-multi-on-unborn (2016-06-06) 1 commit
203 - - cherry-pick: allow to pick to unborn branches
204 -
205 - "git cherry-pick A" worked on an unborn branch, but "git
206 - cherry-pick A..B" didn't.
207 -
208 -
209 -* mj/log-show-signature-conf (2016-06-06) 2 commits
210 - - log: "--no-show-signature" commmand-line option
211 - - log: add "log.showsignature" configuration variable
212 -
213 - "git log" learns log.showSignature configuration variable, and a
214 - command line option "--no-show-signature" to countermand it.
215 -
216 - The order of the commits in the topic need to be reversed.
217 -
218 -
219 -* nd/i-t-a-commitable (2016-06-06) 3 commits
220 - - commit: don't count i-t-a entries when checking if the new commit is empty
221 - - Resurrect "diff-lib.c: adjust position of i-t-a entries in diff"
222 - - diff.h: extend "flags" field to 64 bits because we're out of bits
223 -
224 -
225 -* sg/reflog-past-root (2016-06-06) 1 commit
226 - - reflog: continue walking the reflog past root commits
227 -
228 - "git reflog" stopped upon seeing an entry that denotes a branch
229 - creation event (aka "unborn"), which made it appear as if the
230 - reflog was truncated.
231 -
232 -
233 -* tb/complete-status (2016-06-06) 3 commits
234 - - completion: add git status
235 - - completion: add __git_get_option_value helper
236 - - completion: factor out untracked file modes into a variable
237 -
238 - The completion script (in contrib/) learned to complete "git
239 - status" options.
240 -
241 -
242 -* tr/doc-tt (2016-06-06) 3 commits
243 - - doc: change configuration variables format
244 - - doc: change environment variables format
245 - - doc: clearer rule about formatting literals
36 + Will merge to 'next'.
37
247 - The documentation set has been updated so that literal commands,
248 - configuration variables and environment variables are consistently
249 - typeset in fixed-width font and bold in manpages.
38
39 +* jk/send-pack-stdio (2016-06-08) 1 commit
40 + - send-pack: use buffered I/O to talk to pack-objects
41
252 -* vs/prompt-avoid-unset-variable (2016-06-06) 1 commit
253 - - git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
42 + Code clean-up.
43
255 - The git-prompt scriptlet (in contrib/) was not friendly with those
256 - who uses "set -u", which has been fixed.
44 + Will merge to 'next'.
45
46
259 -* rj/compat-regex-size-max-fix (2016-06-06) 1 commit
260 - - regex: fix a SIZE_MAX macro redefinition warning
47 +* pb/commit-editmsg-path (2016-06-09) 1 commit
48 + - builtin/commit.c: memoize git-path for COMMIT_EDITMSG
49
262 - A compilation fix.
50 + Code clean-up.
51
52 Will merge to 'next'.
53
266 -
267 -* bc/cocci-object-id (2016-06-06) 8 commits
268 - - merge-recursive: convert merge_recursive_generic to object_id
269 - - merge-recursive: convert leaf functions to use struct object_id
270 - - merge-recursive: convert struct merge_file_info to object_id
271 - - merge-recursive: convert struct stage_data to use object_id
272 - - Rename struct diff_filespec's sha1_valid member.
273 - - Convert struct diff_filespec to struct object_id
274 - - Apply standard object_id Coccinelle transformations.
275 - - Add basic Coccinelle transforms.
276 -
277 - Move from "unsigned char [20]" to "struct object_id" continues,
278 - with help from an automated tool.
279 -
54 --------------------------------------------------
55 [Stalled]
56
@@ -495,16 +269,184 @@ of the repositories listed at
269 --------------------------------------------------
270 [Cooking]
271
498 -* et/add-chmod-x (2016-06-01) 2 commits
499 - - SQUASH??? add: add --chmod=+x / --chmod=-x options
272 +* wd/userdiff-css (2016-06-03) 1 commit
273 + (merged to 'next' on 2016-06-06 at 536102f)
274 + + userdiff: add built-in pattern for CSS
275 +
276 + Update the funcname definition to support css files.
277 +
278 + Will merge to 'master' after 2.9 final.
279 +
280 +
281 +* jc/attr-more (2016-06-08) 5 commits
282 + - attr.c: always pass check[] to collect_some_attrs()
283 + - attr.c: correct ugly hack for git_all_attrs()
284 + - fixup! d5ad6c13
285 + - attr.c: pass struct git_attr_check down the callchain
286 + - attr.c: add push_stack() helper
287 + (this branch uses jc/attr; is tangled with sb/pathspec-label and sb/submodule-default-paths.)
288 +
289 + The beginning of long and tortuous journey to clean-up attribute
290 + subsystem implementation.
291 +
292 +
293 +* jk/rev-list-count-with-bitmap (2016-06-03) 2 commits
294 + (merged to 'next' on 2016-06-06 at dd9b30f)
295 + + rev-list: disable bitmaps when "-n" is used with listing objects
296 + + rev-list: "adjust" results of "--count --use-bitmap-index -n"
297 +
298 + "git rev-list --count" whose walk-length is limited with "-n"
299 + option did not work well with the counting optimized to look at the
300 + bitmap index.
301 +
302 + Will merge to 'master' after 2.9 final.
303 +
304 +
305 +* mh/ref-iterators (2016-06-03) 13 commits
306 + (merged to 'next' on 2016-06-06 at c8e79dc)
307 + + for_each_reflog(): reimplement using iterators
308 + + dir_iterator: new API for iterating over a directory tree
309 + + for_each_reflog(): don't abort for bad references
310 + + do_for_each_ref(): reimplement using reference iteration
311 + + refs: introduce an iterator interface
312 + + ref_resolves_to_object(): new function
313 + + entry_resolves_to_object(): rename function from ref_resolves_to_object()
314 + + get_ref_cache(): only create an instance if there is a submodule
315 + + remote rm: handle symbolic refs correctly
316 + + delete_refs(): add a flags argument
317 + + refs: use name "prefix" consistently
318 + + do_for_each_ref(): move docstring to the header file
319 + + refs: remove unnecessary "extern" keywords
320 + (this branch is used by mh/ref-store; uses mh/split-under-lock; is tangled with mh/update-ref-errors.)
321 +
322 + The API to iterate over all the refs (i.e. for_each_ref(), etc.)
323 + has been revamped.
324 +
325 + Will merge to 'master' after 2.9 final.
326 +
327 +
328 +* ew/mboxrd-format-am (2016-06-06) 3 commits
329 + - am: support --patch-format=mboxrd
330 + - mailsplit: support unescaping mboxrd messages
331 + - pretty: support "mboxrd" output format
332 +
333 + Teach format-patch and mailsplit (hence "am") how a line that
334 + happens to begin with "From " in the e-mail message is quoted with
335 + ">", so that these lines can be restored to their original shape.
336 +
337 +
338 +* lf/receive-pack-auto-gc-to-client (2016-06-06) 1 commit
339 + - receive-pack: send auto-gc output over sideband 2
340 +
341 + Allow messages that are generated by auto gc during "git push" on
342 + the receiving end to be explicitly passed back to the sending end
343 + over sideband, so that they are shown with "remote: " prefix to
344 + avoid confusing the users.
345 +
346 +
347 +* mg/cherry-pick-multi-on-unborn (2016-06-06) 1 commit
348 + - cherry-pick: allow to pick to unborn branches
349 +
350 + "git cherry-pick A" worked on an unborn branch, but "git
351 + cherry-pick A..B" didn't.
352 +
353 +
354 +* mj/log-show-signature-conf (2016-06-06) 2 commits
355 + - log: "--no-show-signature" commmand-line option
356 + - log: add "log.showsignature" configuration variable
357 +
358 + "git log" learns log.showSignature configuration variable, and a
359 + command line option "--no-show-signature" to countermand it.
360 +
361 + The order of the commits in the topic need to be reversed.
362 +
363 +
364 +* nd/i-t-a-commitable (2016-06-06) 3 commits
365 + - commit: don't count i-t-a entries when checking if the new commit is empty
366 + - Resurrect "diff-lib.c: adjust position of i-t-a entries in diff"
367 + - diff.h: extend "flags" field to 64 bits because we're out of bits
368 +
369 + "rm .git/index && git add -N * && git commit" allows you to create
370 + an empty commit without --allow-empty; attempt to forbid it.
371 +
372 + Breaks many tests by completely butchering "git commit", it seems.
373 +
374 +
375 +* sg/reflog-past-root (2016-06-06) 1 commit
376 + - reflog: continue walking the reflog past root commits
377 +
378 + "git reflog" stopped upon seeing an entry that denotes a branch
379 + creation event (aka "unborn"), which made it appear as if the
380 + reflog was truncated.
381 +
382 +
383 +* tb/complete-status (2016-06-06) 3 commits
384 + - completion: add git status
385 + - completion: add __git_get_option_value helper
386 + - completion: factor out untracked file modes into a variable
387 +
388 + The completion script (in contrib/) learned to complete "git
389 + status" options.
390 +
391 + Breaks t9902.
392 +
393 +
394 +* tr/doc-tt (2016-06-08) 4 commits
395 + - doc: change configuration variables format
396 + - doc: more consistency in environment variables format
397 + - doc: change environment variables format
398 + - doc: clearer rule about formatting literals
399 +
400 + The documentation set has been updated so that literal commands,
401 + configuration variables and environment variables are consistently
402 + typeset in fixed-width font and bold in manpages.
403 +
404 + Will merge to 'next'.
405 +
406 +
407 +* vs/prompt-avoid-unset-variable (2016-06-06) 1 commit
408 + - git-prompt.sh: Don't error on null ${ZSH,BASH}_VERSION, $short_sha
409 +
410 + The git-prompt scriptlet (in contrib/) was not friendly with those
411 + who uses "set -u", which has been fixed.
412 +
413 +
414 +* rj/compat-regex-size-max-fix (2016-06-06) 1 commit
415 + - regex: fix a SIZE_MAX macro redefinition warning
416 +
417 + A compilation fix.
418 +
419 + Will merge to 'next'.
420 +
421 +
422 +* bc/cocci-object-id (2016-06-06) 8 commits
423 + - merge-recursive: convert merge_recursive_generic to object_id
424 + - merge-recursive: convert leaf functions to use struct object_id
425 + - merge-recursive: convert struct merge_file_info to object_id
426 + - merge-recursive: convert struct stage_data to use object_id
427 + - Rename struct diff_filespec's sha1_valid member.
428 + - Convert struct diff_filespec to struct object_id
429 + - Apply standard object_id Coccinelle transformations.
430 + - Add basic Coccinelle transforms.
431 +
432 + Move from "unsigned char [20]" to "struct object_id" continues,
433 + with help from an automated tool.
434 +
435 +
436 +* et/add-chmod-x (2016-06-07) 1 commit
437 - add: add --chmod=+x / --chmod=-x options
438
502 - Waiting for a reroll (or ack for proposed fixup).
439 + "git update-index --add --chmod=+x file" may be usable as an escape
440 + hatch, but not a friendly thing to force for people who do need to
441 + use it regularly. "git add --chmod=+x file" can be used instead.
442 +
443 + Will merge to 'next'.
444
445
446 * jc/t2300-setup (2016-06-01) 1 commit
447 (merged to 'next' on 2016-06-06 at 20f7f83)
448 + t2300: run git-sh-setup in an environment that better mimics the real life
449 + (this branch is used by va/i18n-even-more.)
450
451 A test fix.
452
@@ -570,14 +512,30 @@ of the repositories listed at
512 Will merge to 'master' after 2.9 final.
513
514
573 -* tb/convert-peek-in-index (2016-05-24) 2 commits
574 - - convert: ce_compare_data() checks for a sha1 of a path
515 +* tb/convert-peek-in-index (2016-06-07) 3 commits
516 + - correct ce_compare_data() in a middle of a merge
517 - read-cache: factor out get_sha1_from_index() helper
518 + - convert: unify the "auto" handling of CRLF
519
577 - The motivation is rather iffy.
520 + Needs review.
521
522
580 -* va/i18n-even-more (2016-05-26) 22 commits
523 +* va/i18n-even-more (2016-06-07) 38 commits
524 + - i18n: branch: mark comment when editing branch description for translation
525 + - i18n: unmark die messages for translation
526 + - i18n: submodule: escape shell variables inside eval_gettext
527 + - i18n: submodule: join strings marked for translation
528 + - i18n: init-db: join message pieces
529 + - i18n: remote: allow translations to reorder message
530 + - i18n: remote: mark URL fallback text for translation
531 + - i18n: standardise messages
532 + - i18n: sequencer: add period to error message
533 + - i18n: merge: change command option help to lowercase
534 + - i18n: merge: mark messages for translation
535 + - i18n: notes: mark options for translation
536 + - i18n: notes: mark strings for translation
537 + - i18n: transport-helper.c: change N_() call to _()
538 + - i18n: bisect: mark strings for translation
539 - t5523: use test_i18ngrep for negation
540 - t4153: fix negated test_i18ngrep call
541 - t9003: become resilient to GETTEXT_POISON
@@ -600,11 +558,14 @@ of the repositories listed at
558 - i18n: advice: internationalize message for conflicts
559 - i18n: advice: mark string about detached head for translation
560 - i18n: builtin/remote.c: fix mark for translation
561 + - Merge branch 'jc/t2300-setup' into HEAD
562 + (this branch uses jc/t2300-setup.)
563
564 More markings of messages for i18n, with updates to various tests
565 to pass GETTEXT_POISON tests.
566
607 - Is everybody happy with this version?
567 + One patch from the original submission dropped due to conflicts
568 + with other topics in flight.
569
570
571 * jg/dash-is-last-branch-in-worktree-add (2016-05-31) 1 commit
@@ -920,7 +881,7 @@ of the repositories listed at
881 + read_raw_ref(): don't get confused by an empty directory
882 + commit_ref(): if there is an empty dir in the way, delete it
883 + t1404: demonstrate a bug resolving references
923 - (this branch is used by mh/ref-iterators.)
884 + (this branch is used by mh/ref-iterators, mh/ref-store and mh/update-ref-errors.)
885
886 Further preparatory work on the refs API before the pluggable
887 backend series can land.