What's cooking (2017/10 #04)

Junio C Hamano committed Oct 19, 2017 at 14:40 UTC 5d38b589ccc7a8355c62f1577865df5b8216c00d
1 file changed +197 -131
whats-cooking.txt
+197 -131
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2017, #03; Mon, 16)
4 -X-master-at: 111ef79afe185f8731920569450f6a65320f5d5f
5 -X-next-at: 2b38de12cc0e926ec9a73ad73767e578a81645ba
3 +Subject: What's cooking in git.git (Oct 2017, #04; Thu, 19)
4 +X-master-at: 660fb3dfa8f3e42b287ee7e27a36ecd2420b89c3
5 +X-next-at: 76aedb4517c834be2dc89efb5f9d15908e324422
6
7 -What's cooking in git.git (Oct 2017, #03; Mon, 16)
7 +What's cooking in git.git (Oct 2017, #04; Thu, 19)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,19 +12,12 @@ 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 -2.15-rc1 has been tagged, but 2.15-rc2 is going to slip. The topics
16 -that are cooking in 'next' that are not urgent fixes are classified
17 -as "Will cook in 'next'", and will not graduate to 'master' until
18 -the final.
15 +2.15-rc2 has slipped and will be tagged tomorrow. Expect the final
16 +near the end of the month.
17
20 -We haven't decided how to resolve the "git add -i" regression (see
21 -the thread at
22 -https://public-inbox.org/git/xmqqzi8vvht6.fsf@gitster.mtv.corp.google.com/
23 -for the two approaches), and 'next' has one of them ("demote
24 -'always' to 'auto' when given to color.ui from the configuration
25 -file"), while 'pu' has f6b2410f20 that takes a different approach
26 -("It was a mistake to allow plumbing to pay attention to color.ui
27 -config, so revert it to unbreak 'add -i'").
18 +The topics that are cooking in 'next' that are not urgent fixes are
19 +classified as "Will cook in 'next'", and will not graduate to
20 +'master' until the final.
21
22 You can find the changes described here in the integration branches
23 of the repositories listed at
@@ -32,91 +25,120 @@ of the repositories listed at
25 http://git-blame.blogspot.com/p/git-public-repositories.html
26
27 --------------------------------------------------
35 -[New Topics]
28 +[Graduated to "master"]
29
37 -* jk/ui-color-always-to-auto-maint (2017-10-13) 2 commits
38 - (merged to 'next' on 2017-10-13 at bb16e1edc8)
39 - + color: document that "git -c color.*=always" is a bit special
40 - + color: downgrade "always" to "auto" only for on-disk configuration
30 +* jc/doc-checkout (2017-10-11) 1 commit
31 + (merged to 'next' on 2017-10-13 at c000f4bd84)
32 + + checkout doc: clarify command line args for "checkout paths" mode
33
42 - It turns out that "git -c color.ui=always cmd" is relied on by many
43 - third-party tools as a way to force coloured output no matter what
44 - the end-user configuration is, and a recent attempt to downgrade
45 - 'always' to 'auto' to fix the regression to "git add -p" broke it.
34 + Doc update.
35
36
48 -* jk/ref-filter-colors-fix (2017-10-14) 4 commits
49 - - tag: respect color.ui config
50 - - Revert "color: check color.ui in git_default_config()"
51 - - Revert "t6006: drop "always" color config tests"
52 - - Revert "color: make "always" the same as "auto" in config"
37 +* jk/ref-filter-colors-fix (2017-10-17) 5 commits
38 + (merged to 'next' on 2017-10-17 at d87a6bf270)
39 + + tag: respect color.ui config
40 + + Revert "color: check color.ui in git_default_config()"
41 + + Revert "t6006: drop "always" color config tests"
42 + + Revert "color: make "always" the same as "auto" in config"
43 + + Merge branch 'jk/ui-color-always-to-auto-maint' (early part) into jk/ref-filter-colors-fix-maint
44
45 This is the "theoretically more correct" approach of simply
46 stepping back to the state before plumbing commands started paying
47 attention to "color.ui" configuration variable.
48
49
59 -* jc/branch-name-sanity (2017-10-14) 3 commits
60 - (merged to 'next' on 2017-10-16 at 174646d1c3)
61 - + branch: forbid refs/heads/HEAD
62 - + branch: split validate_new_branchname() into two
63 - + branch: streamline "attr_only" handling in validate_new_branchname()
50 +* js/rebase-i-final (2017-10-18) 2 commits
51 + (merged to 'next' on 2017-10-18 at 0bcaefbd55)
52 + + sequencer.c: unify an error message
53 + (merged to 'next' on 2017-10-16 at 72362f5f9c)
54 + + sequencer.c: fix and unify error messages in rearrange_squash()
55
65 - "git branch" and "git checkout -b" are now forbidden from creating
66 - a branch whose name is "HEAD".
56 + Error message fix.
57
68 - Will cook in 'next'.
58
59 +* sb/diff-color-move (2017-10-16) 1 commit
60 + (merged to 'next' on 2017-10-16 at 69de1bad9d)
61 + + diff: fix infinite loop with --color-moved --ignore-space-change
62
71 -* jk/revision-pruning-optim (2017-10-14) 1 commit
72 - (merged to 'next' on 2017-10-16 at 2662baa21d)
73 - + revision: quit pruning diff more quickly when possible
63 + A recently added "--color-moved" feature of "diff" fell into
64 + infinite loop when ignoring whitespace changes, which has been
65 + fixed.
66
75 - Pathspec-limited revision traversal was taught not to keep finding
76 - unneeded differences once it knows two trees are different inside
77 - given pathspec.
67 +--------------------------------------------------
68 +[New Topics]
69 +
70 +* jc/check-ref-format-oor (2017-10-18) 3 commits
71 + (merged to 'next' on 2017-10-18 at 8b17566c80)
72 + + check-ref-format doc: --branch validates and expands <branch>
73 + + check-ref-format --branch: strip refs/heads/ using skip_prefix
74 + + check-ref-format --branch: do not expand @{...} outside repository
75 +
76 + "git check-ref-format --branch @{-1}" bit a "BUG()" when run
77 + outside a repository for obvious reasons; clarify the documentation
78 + and make sure we do not even try to expand the at-mark magic in
79 + such a case, but still call the validation logic for branch names.
80
81 Will cook in 'next'.
82
83
82 -* js/rebase-i-final (2017-10-16) 1 commit
83 - (merged to 'next' on 2017-10-16 at 72362f5f9c)
84 - + sequencer.c: fix and unify error messages in rearrange_squash()
84 +* jc/fetch-refspec-doc-update (2017-10-18) 1 commit
85 + (merged to 'next' on 2017-10-18 at ac77e57f59)
86 + + fetch doc: src side of refspec could be full SHA-1
87
86 - Error message fix.
88 + "git fetch <there> <src>:<dst>" allows an object name on the <src>
89 + side when the other side accepts such a request since Git v2.5, but
90 + the documentation was left stale.
91
92 Will merge to 'master'.
93
94
91 -* wk/merge-options-gpg-sign-doc (2017-10-12) 1 commit
92 - (merged to 'next' on 2017-10-16 at ae61d824da)
93 - + Documentation/merge-options.txt: describe -S/--gpg-sign for 'pull'
95 +* kd/auto-col-with-pager-fix (2017-10-17) 1 commit
96 + (merged to 'next' on 2017-10-18 at fe89ff7e83)
97 + + column: show auto columns when pager is active
98
95 - Doc updates.
99 + "auto" as a value for the columnar output configuration ought to
100 + judge "is the output consumed by humans?" with the same criteria as
101 + "auto" for coloured output configuration, i.e. either the standard
102 + output stream is going to tty, or a pager is in use. We forgot the
103 + latter, which has been fixed.
104
105 Will cook in 'next'.
106
107
100 -* wk/pull-signoff (2017-10-13) 1 commit
101 - (merged to 'next' on 2017-10-16 at 5e48f349d9)
102 - + pull: pass --signoff/--no-signoff to "git merge"
108 +* jc/t5601-copy-workaround (2017-10-17) 1 commit
109 + (merged to 'next' on 2017-10-18 at ea1e133968)
110 + + t5601: rm the target file of cp that could still be executing
111
104 - "git pull" has been taught to accept "--[no-]signoff" option and
105 - pass it down to "git merge".
112 + A (possibly flakey) test fix.
113
114 Will cook in 'next'.
115
116
110 -* sb/diff-color-move (2017-10-16) 1 commit
111 - (merged to 'next' on 2017-10-16 at 69de1bad9d)
112 - + diff: fix infinite loop with --color-moved --ignore-space-change
117 +* dg/filter-branch-filter-order-doc (2017-10-18) 1 commit
118 + (merged to 'next' on 2017-10-18 at 46c92e5949)
119 + + doc: list filter-branch subdirectory-filter first
120
114 - A recently added "--color-moved" feature of "diff" fell into
115 - infinite loop when ignoring whitespace changes, which has been
116 - fixed.
121 + Update the documentation for "git filter-branch" so that the filter
122 + options are listed in the same order as they are applied, as
123 + described in an earlier part of the doc.
124 +
125 + Will merge to 'master'.
126 +
127 +
128 +* jc/branch-force-doc-readability-fix (2017-10-18) 1 commit
129 + (merged to 'next' on 2017-10-18 at 4ef4b064eb)
130 + + branch doc: sprinkle a few commas for readability
131 +
132 + Doc update.
133
134 Will merge to 'master'.
135
136 +
137 +* np/config-path-doc (2017-10-19) 1 commit
138 + - config doc: clarify "git config --path" example
139 +
140 + Doc update.
141 +
142 --------------------------------------------------
143 [Stalled]
144
@@ -159,6 +181,61 @@ of the repositories listed at
181 --------------------------------------------------
182 [Cooking]
183
184 +* jk/ui-color-always-to-auto-maint (2017-10-13) 2 commits
185 + (merged to 'next' on 2017-10-13 at bb16e1edc8)
186 + + color: document that "git -c color.*=always" is a bit special
187 + + color: downgrade "always" to "auto" only for on-disk configuration
188 +
189 + It turns out that "git -c color.ui=always cmd" is relied on by many
190 + third-party tools as a way to force coloured output no matter what
191 + the end-user configuration is, and a recent attempt to downgrade
192 + 'always' to 'auto' to fix the regression to "git add -p" broke it.
193 +
194 + This has been reverted from 'next'.
195 +
196 +
197 +* jc/branch-name-sanity (2017-10-14) 3 commits
198 + (merged to 'next' on 2017-10-16 at 174646d1c3)
199 + + branch: forbid refs/heads/HEAD
200 + + branch: split validate_new_branchname() into two
201 + + branch: streamline "attr_only" handling in validate_new_branchname()
202 +
203 + "git branch" and "git checkout -b" are now forbidden from creating
204 + a branch whose name is "HEAD".
205 +
206 + Will cook in 'next'.
207 +
208 +
209 +* jk/revision-pruning-optim (2017-10-14) 1 commit
210 + (merged to 'next' on 2017-10-16 at 2662baa21d)
211 + + revision: quit pruning diff more quickly when possible
212 +
213 + Pathspec-limited revision traversal was taught not to keep finding
214 + unneeded differences once it knows two trees are different inside
215 + given pathspec.
216 +
217 + Will cook in 'next'.
218 +
219 +
220 +* wk/merge-options-gpg-sign-doc (2017-10-12) 1 commit
221 + (merged to 'next' on 2017-10-16 at ae61d824da)
222 + + Documentation/merge-options.txt: describe -S/--gpg-sign for 'pull'
223 +
224 + Doc updates.
225 +
226 + Will merge to 'master'.
227 +
228 +
229 +* wk/pull-signoff (2017-10-13) 1 commit
230 + (merged to 'next' on 2017-10-16 at 5e48f349d9)
231 + + pull: pass --signoff/--no-signoff to "git merge"
232 +
233 + "git pull" has been taught to accept "--[no-]signoff" option and
234 + pass it down to "git merge".
235 +
236 + Will cook in 'next'.
237 +
238 +
239 * dm/run-command-ignored-hook-advise (2017-10-10) 1 commit
240 (merged to 'next' on 2017-10-10 at 0827814922)
241 + run-command: add hint when a hook is ignored
@@ -170,14 +247,12 @@ of the repositories listed at
247 Will cook in 'next'.
248
249
173 -* hv/fetch-moved-submodules-on-demand (2017-10-08) 5 commits
174 - - DONTMERGE: mark failing tests for now
250 +* hv/fetch-moved-submodules-on-demand (2017-10-17) 3 commits
251 - submodule: simplify decision tree whether to or not to fetch
252 - implement fetching of moved submodules
177 - - change submodule push test to use proper repository setup
253 - fetch: add test to make sure we stay backwards compatible
254
180 - WIP.
255 + Needs review.
256
257
258 * js/for-each-ref-remote-name-and-ref (2017-10-11) 3 commits
@@ -208,34 +283,37 @@ of the repositories listed at
283
284
285 * bc/object-id (2017-10-16) 25 commits
211 - - refs/files-backend: convert static functions to object_id
212 - - refs: convert read_raw_ref backends to struct object_id
213 - - refs: convert peel_object to struct object_id
214 - - refs: convert resolve_ref_unsafe to struct object_id
215 - - worktree: convert struct worktree to object_id
216 - - refs: convert resolve_gitlink_ref to struct object_id
217 - - Convert remaining callers of resolve_gitlink_ref to object_id
218 - - sha1_file: convert index_path and index_fd to struct object_id
219 - - refs: convert reflog_expire parameter to struct object_id
220 - - refs: convert read_ref_at to struct object_id
221 - - refs: convert peel_ref to struct object_id
222 - - builtin/pack-objects: convert to struct object_id
223 - - pack-bitmap: convert traverse_bitmap_commit_list to object_id
224 - - refs: convert dwim_log to struct object_id
225 - - builtin/reflog: convert remaining unsigned char uses to object_id
226 - - refs: convert dwim_ref and expand_ref to struct object_id
227 - - refs: convert read_ref and read_ref_full to object_id
228 - - refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
229 - - Convert check_connected to use struct object_id
230 - - refs: update ref transactions to use struct object_id
231 - - refs: prevent accidental NULL dereference in write_pseudoref
232 - - refs: convert update_ref and refs_update_ref to use struct object_id
233 - - refs: convert delete_ref and refs_delete_ref to struct object_id
234 - - refs/files-backend: convert struct ref_to_prune to object_id
235 - - walker: convert to struct object_id
286 + (merged to 'next' on 2017-10-18 at ef8aa2698d)
287 + + refs/files-backend: convert static functions to object_id
288 + + refs: convert read_raw_ref backends to struct object_id
289 + + refs: convert peel_object to struct object_id
290 + + refs: convert resolve_ref_unsafe to struct object_id
291 + + worktree: convert struct worktree to object_id
292 + + refs: convert resolve_gitlink_ref to struct object_id
293 + + Convert remaining callers of resolve_gitlink_ref to object_id
294 + + sha1_file: convert index_path and index_fd to struct object_id
295 + + refs: convert reflog_expire parameter to struct object_id
296 + + refs: convert read_ref_at to struct object_id
297 + + refs: convert peel_ref to struct object_id
298 + + builtin/pack-objects: convert to struct object_id
299 + + pack-bitmap: convert traverse_bitmap_commit_list to object_id
300 + + refs: convert dwim_log to struct object_id
301 + + builtin/reflog: convert remaining unsigned char uses to object_id
302 + + refs: convert dwim_ref and expand_ref to struct object_id
303 + + refs: convert read_ref and read_ref_full to object_id
304 + + refs: convert resolve_refdup and refs_resolve_refdup to struct object_id
305 + + Convert check_connected to use struct object_id
306 + + refs: update ref transactions to use struct object_id
307 + + refs: prevent accidental NULL dereference in write_pseudoref
308 + + refs: convert update_ref and refs_update_ref to use struct object_id
309 + + refs: convert delete_ref and refs_delete_ref to struct object_id
310 + + refs/files-backend: convert struct ref_to_prune to object_id
311 + + walker: convert to struct object_id
312
313 Conversion from uchar[20] to struct object_id continues.
314
315 + Will cook in 'next'.
316 +
317
318 * jc/no-cmd-as-subroutine (2017-10-11) 2 commits
319 (merged to 'next' on 2017-10-16 at 5f4ee919ac)
@@ -248,15 +326,6 @@ of the repositories listed at
326 Will cook in 'next'.
327
328
251 -* jc/doc-checkout (2017-10-11) 1 commit
252 - (merged to 'next' on 2017-10-13 at c000f4bd84)
253 - + checkout doc: clarify command line args for "checkout paths" mode
254 -
255 - Doc update.
256 -
257 - Will merge to 'master'.
258 -
259 -
329 * jc/merge-symlink-ours-theirs (2017-09-26) 1 commit
330 - merge: teach -Xours/-Xtheirs to symbolic link merge
331
@@ -416,27 +485,25 @@ of the repositories listed at
485 Will cook in 'next'.
486
487
419 -* bw/protocol-v1 (2017-10-04) 10 commits
420 - - ssh: introduce a 'simple' ssh variant
421 - - i5700: add interop test for protocol transition
422 - - http: tell server that the client understands v1
423 - - connect: tell server that the client understands v1
424 - - connect: teach client to recognize v1 server response
425 - - upload-pack, receive-pack: introduce protocol version 1
426 - - daemon: recognize hidden request arguments
427 - - protocol: introduce protocol extention mechanisms
428 - - pkt-line: add packet_write function
429 - - connect: in ref advertisement, shallows are last
488 +* bw/protocol-v1 (2017-10-17) 11 commits
489 + (merged to 'next' on 2017-10-18 at 835fe09e50)
490 + + Documentation: document Extra Parameters
491 + + ssh: introduce a 'simple' ssh variant
492 + + i5700: add interop test for protocol transition
493 + + http: tell server that the client understands v1
494 + + connect: tell server that the client understands v1
495 + + connect: teach client to recognize v1 server response
496 + + upload-pack, receive-pack: introduce protocol version 1
497 + + daemon: recognize hidden request arguments
498 + + protocol: introduce protocol extension mechanisms
499 + + pkt-line: add packet_write function
500 + + connect: in ref advertisement, shallows are last
501
502 A new mechanism to upgrade the wire protocol in place is proposed
503 and demonstrated that it works with the older versions of Git
504 without harming them.
505
435 - Expecting a reroll.
436 - cf. <20171003214206.GY19555@aiede.mtv.corp.google.com>
437 - The tip one needs to clarify that it is not just '-o' but also '-p'
438 - option in the documentation. Other than that, the approach taken
439 - by the series basically seems sane and well received.
506 + Will cook in 'next'.
507
508
509 * pc/submodule-helper (2017-10-07) 3 commits
@@ -446,7 +513,7 @@ of the repositories listed at
513 + submodule--helper: introduce get_submodule_displaypath()
514
515 GSoC.
449 - Will merge to 'master'.
516 + Will cook in 'next'.
517
518
519 * bc/hash-algo (2017-10-04) 6 commits
@@ -487,14 +554,6 @@ of the repositories listed at
554 this is better than rejecting recursive checkout, for example.
555
556
490 -* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
491 - - check-ref-format: require a repository for --branch
492 -
493 - Discussion slowly continued but then stalled.
494 - cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
495 - cf. <20170817102217.3yw7uxnkupdy3lh5@sigill.intra.peff.net>
496 -
497 -
557 * ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
558 (merged to 'next' on 2017-08-14 at 24db08a6e8)
559 + pathspec: die on empty strings as pathspec
@@ -539,7 +598,6 @@ of the repositories listed at
598 by users who know what they are doing. This would pave the way to
599 possibly turn `--force` into `--force-with-lease`.
600
542 - Will discard.
601 Independent from disabling the feature by default, this stirred up
602 a discussion to replace the DWIM heuristics with a better one, which
603 deserves to be its own topic.
@@ -572,12 +630,20 @@ of the repositories listed at
630
631
632 * mg/merge-pre-merge-hook (2017-09-24) 4 commits
575 - - t7503: add tests for pre-merge-hook
576 - - merge: --no-verify to bypass pre-merge hook
577 - - merge: do no-verify like commit
578 - - git-merge: honor pre-merge hook
633 + . t7503: add tests for pre-merge-hook
634 + . merge: --no-verify to bypass pre-merge hook
635 + . merge: do no-verify like commit
636 + . git-merge: honor pre-merge hook
637
638 "git merge" learned a 'pre-merge' hook, that would be triggered
639 before the merge commit is created by a clean auto-merge.
640
641 What's the doneness of this? Is everybody happy?
642 +
643 +
644 +* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
645 + . check-ref-format: require a repository for --branch
646 +
647 + Discussion slowly continued but then stalled.
648 + cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
649 + cf. <20170817102217.3yw7uxnkupdy3lh5@sigill.intra.peff.net>