What's cooking (2017/01 #05)

Junio C Hamano committed Jan 26, 2017 at 15:17 UTC 249a8c19bdfe8368ca8323f528ae08aaa8e61843
1 file changed +175 -163
whats-cooking.txt
+175 -163
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2017, #04; Mon, 23)
3 +Subject: What's cooking in git.git (Jan 2017, #05; Thu, 26)
4 X-master-at: 4e59582ff70d299f5a88449891e78d15b4b3fabe
5 -X-next-at: a5e2989ef8dcd0c4cdb34f9e7d116c2159b8845d
5 +X-next-at: 5f4715cea687c4077e2acd25706e1369a5cb338e
6
7 -What's cooking in git.git (Jan 2017, #04; Mon, 23)
7 +What's cooking in git.git (Jan 2017, #05; Thu, 26)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -18,100 +18,123 @@ of the repositories listed at
18 http://git-blame.blogspot.com/p/git-public-repositories.html
19
20 --------------------------------------------------
21 -[Graduated to "master"]
21 +[New Topics]
22
23 -* ad/bisect-terms (2017-01-13) 1 commit
24 - (merged to 'next' on 2017-01-18 at 9f500d6cf5)
25 - + Documentation/bisect: improve on (bad|new) and (good|bad)
23 +* js/mingw-hooks-with-exe-suffix (2017-01-26) 1 commit
24 + - mingw: allow hooks to be .exe files
25
27 - Documentation fix.
26 + Names of the various hook scripts must be spelled exactly, but on
27 + Windows, an .exe binary must be named with .exe suffix; notice
28 + $GIT_DIR/hooks/<hookname>.exe as a valid <hookname> hook.
29
30 + Will merge to 'next'.
31
30 -* bw/read-blob-data-does-not-modify-index-state (2017-01-11) 1 commit
31 - (merged to 'next' on 2017-01-18 at f33363fb07)
32 - + index: improve constness for reading blob data
32
34 - Code clean-up.
33 +* js/retire-relink (2017-01-25) 2 commits
34 + - relink: really remove the command
35 + - relink: retire the command
36
37 + Cruft removal.
38
37 -* jk/grep-e-could-be-extended-beyond-posix (2017-01-11) 1 commit
38 - (merged to 'next' on 2017-01-18 at dd1b9d1fa8)
39 - + t7810: avoid assumption about invalid regex syntax
39 + Will merge to 'next'.
40
41 - Tighten a test to avoid mistaking an extended ERE regexp engine as
42 - a PRE regexp engine.
41
42 +* js/status-pre-rebase-i (2017-01-26) 1 commit
43 + - status: be prepared for not-yet-started interactive rebase
44
45 -* rh/diff-orderfile-doc (2017-01-15) 2 commits
46 - (merged to 'next' on 2017-01-18 at cc2af9c628)
47 - + diff: document the format of the -O (diff.orderFile) file
48 - + diff: document behavior of relative diff.orderFile
45 + After starting "git rebase -i", which first opens the user's editor
46 + to edit the series of patches to apply, but before saving the
47 + contents of that file, "git status" failed to show the current
48 + state (i.e. you are in an interactive rebase session, but you have
49 + applied no steps yet) correctly.
50
50 - Documentation fix.
51 + Will merge to 'next'.
52
53
53 -* sb/cd-then-git-can-be-written-as-git-c (2017-01-13) 1 commit
54 - (merged to 'next' on 2017-01-18 at 8923d2d001)
55 - + lib-submodule-update.sh: reduce use of subshell by using "git -C"
54 +* ps/urlmatch-wildcard (2017-01-26) 5 commits
55 + - SQUASH???
56 + - urlmatch: allow globbing for the URL host part
57 + - urlmatch: split host and port fields in `struct url_info`
58 + - urlmatch: enable normalization of URLs with globs
59 + - mailmap: add Patrick Steinhardt's work address
60
57 - Test clean-up.
61 + The <url> part in "http.<url>.<variable>" configuration variable
62 + can now be spelled with '*' that serves as wildcard.
63 + E.g. "http.https://*.example.com.proxy" can be used to specify the
64 + proxy used for https://a.example.com, https://b.example.com, etc.,
65 + i.e. any host in the example.com domain.
66
67
60 -* sb/submodule-config-tests (2017-01-12) 2 commits
61 - (merged to 'next' on 2017-01-18 at bd850f6ad3)
62 - + t7411: test lookup of uninitialized submodules
63 - + t7411: quote URLs
68 +* rs/absolute-pathdup (2017-01-26) 2 commits
69 + - use absolute_pathdup()
70 + - abspath: add absolute_pathdup()
71
65 - Test updates.
72 + Code cleanup.
73
74 + Will merge to 'next'.
75
68 -* sb/submodule-embed-gitdir (2017-01-12) 1 commit
69 - (merged to 'next' on 2017-01-18 at 0a5e24a3f0)
70 - + submodule absorbgitdirs: mention in docstring help
76
72 - Help-text fix.
77 +* sb/submodule-recursive-absorb (2017-01-26) 3 commits
78 + - submodule absorbing: fix worktree/gitdir pointers recursively for non-moves
79 + - cache.h: expose the dying procedure for reading gitlinks
80 + - setup: add gentle version of resolve_git_dir
81
82 + When a submodule "sub", which has another submodule "module" nested
83 + within it, is "absorbed" into the top-level superproject, the inner
84 + submodule "module" is left in a strange state.
85
75 -* sb/submodule-init (2017-01-12) 1 commit
76 - (merged to 'next' on 2017-01-18 at 2e8a38b1cc)
77 - + submodule update --init: display correct path from submodule
86 + Will merge to 'next'.
87
79 - Error message fix.
88
89 +* sb/submodule-update-initial-runs-custom-script (2017-01-26) 1 commit
90 + - submodule update: run custom update script for initial populating as well
91
82 -* sg/fix-versioncmp-with-common-suffix (2017-01-12) 8 commits
83 - (merged to 'next' on 2017-01-18 at f79c24a291)
84 - + versioncmp: generalize version sort suffix reordering
85 - + versioncmp: factor out helper for suffix matching
86 - + versioncmp: use earliest-longest contained suffix to determine sorting order
87 - + versioncmp: cope with common part overlapping with prerelease suffix
88 - + versioncmp: pass full tagnames to swap_prereleases()
89 - + t7004-tag: add version sort tests to show prerelease reordering issues
90 - + t7004-tag: use test_config helper
91 - + t7004-tag: delete unnecessary tags with test_when_finished
92 + The user can specify a custom update method that is run when
93 + "submodule update" updates an already checked out submodule. This
94 + was ignored when checking the submodule out for the first time and
95 + we instead always just checked out the commit that is bound to the
96 + path in the superproject's index.
97
93 - The prereleaseSuffix feature of version comparison that is used in
94 - "git tag -l" did not correctly when two or more prereleases for the
95 - same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
96 - are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
98 + Will merge to 'next'.
99
100
99 -* vn/diff-ihc-config (2017-01-12) 1 commit
100 - (merged to 'next' on 2017-01-18 at ac4915dbe6)
101 - + diff: add interhunk context config option
101 +* sf/putty-w-args (2017-01-26) 3 commits
102 + - connect: support GIT_SSH_VARIANT and ssh.variant
103 + - connect: rename tortoiseplink and putty variables
104 + - connect: handle putty/plink also in GIT_SSH_COMMAND
105
103 - "git diff" learned diff.interHunkContext configuration variable
104 - that gives the default value for its --inter-hunk-context option.
106 + The command line options for ssh invocation needs to be tweaked for
107 + some implementations of SSH (e.g. PuTTY plink wants "-P <port>"
108 + while OpenSSH wants "-p <port>" to specify port to connect to), and
109 + the variant was guessed when GIT_SSH environment variable is used
110 + to specify it. Extend the guess to the command specified by the
111 + newer GIT_SSH_COMMAND and also core.sshcommand configuration
112 + variable, and give an escape hatch for users to deal with
113 + misdetected cases.
114
115 + Expecting a reroll of the last step.
116
107 -* ws/request-pull-code-cleanup (2017-01-15) 1 commit
108 - (merged to 'next' on 2017-01-18 at dfcb1405de)
109 - + request-pull: drop old USAGE stuff
117 +--------------------------------------------------
118 +[Stalled]
119
111 - Code clean-up.
120 +* jc/diff-b-m (2015-02-23) 5 commits
121 + . WIPWIP
122 + . WIP: diff-b-m
123 + - diffcore-rename: allow easier debugging
124 + - diffcore-rename.c: add locate_rename_src()
125 + - diffcore-break: allow debugging
126 +
127 + "git diff -B -M" produced incorrect patch when the postimage of a
128 + completely rewritten file is similar to the preimage of a removed
129 + file; such a resulting file must not be expressed as a rename from
130 + other place.
131 +
132 + The fix in this patch is broken, unfortunately.
133 +
134 + Will discard.
135
136 --------------------------------------------------
114 -[New Topics]
137 +[Cooking]
138
139 * sh/grep-tree-obj-tweak-output (2017-01-20) 2 commits
140 - grep: use '/' delimiter for paths
@@ -133,22 +156,26 @@ of the repositories listed at
156 Waiting for the review discussion to settle, followed by a reroll.
157
158
136 -* vp/show-ref-verify-head (2017-01-23) 5 commits
137 - - show-ref: remove dead `if (verify)' check
138 - - show-ref: detect dangling refs under --verify as well
139 - - show-ref: move --quiet handling into show_one()
140 - - show-ref: allow -d to work with --verify
141 - - show-ref: accept HEAD with --verify
159 +* vp/show-ref-verify-head (2017-01-23) 6 commits
160 + (merged to 'next' on 2017-01-23 at af6dd9d239)
161 + + show-ref: remove a stale comment
162 + + show-ref: remove dead `if (verify)' check
163 + + show-ref: detect dangling refs under --verify as well
164 + + show-ref: move --quiet handling into show_one()
165 + + show-ref: allow -d to work with --verify
166 + + show-ref: accept HEAD with --verify
167
168 "git show-ref HEAD" used with "--verify" because the user is not
169 interested in seeing refs/remotes/origin/HEAD, and used with
170 "--head" because the user does not want HEAD to be filtered out,
171 i.e. "git show-ref --head --verify HEAD", did not work as expected.
172
148 - Will merge to 'next'.
173 + Will merge to 'master'.
174
175
151 -* bc/use-asciidoctor-opt (2017-01-23) 7 commits
176 +* bc/use-asciidoctor-opt (2017-01-26) 9 commits
177 + - SQUASH???
178 + - Documentation: implement linkgit macro for Asciidoctor
179 - Makefile: add a knob to enable the use of Asciidoctor
180 - Documentation: move dblatex arguments into variable
181 - Documentation: add XSLT to fix DocBook for Texinfo
@@ -174,11 +201,12 @@ of the repositories listed at
201
202
203 * rs/qsort-s (2017-01-23) 5 commits
177 - - ref-filter: use QSORT_S in ref_array_sort()
178 - - string-list: use QSORT_S in string_list_sort()
179 - - perf: add basic sort performance test
180 - - add QSORT_S
181 - - compat: add qsort_s()
204 + (merged to 'next' on 2017-01-23 at 7e2813848b)
205 + + ref-filter: use QSORT_S in ref_array_sort()
206 + + string-list: use QSORT_S in string_list_sort()
207 + + perf: add basic sort performance test
208 + + add QSORT_S
209 + + compat: add qsort_s()
210
211 A few codepaths had to rely on a global variable when sorting
212 elements of an array because sort(3) API does not allow extra data
@@ -187,29 +215,8 @@ of the repositories listed at
215 to eliminate the need, which is a prerequisite for making the
216 codepath reentrant.
217
190 - Will merge to 'next'.
191 -
192 ---------------------------------------------------
193 -[Stalled]
194 -
195 -* jc/diff-b-m (2015-02-23) 5 commits
196 - . WIPWIP
197 - . WIP: diff-b-m
198 - - diffcore-rename: allow easier debugging
199 - - diffcore-rename.c: add locate_rename_src()
200 - - diffcore-break: allow debugging
201 -
202 - "git diff -B -M" produced incorrect patch when the postimage of a
203 - completely rewritten file is similar to the preimage of a removed
204 - file; such a resulting file must not be expressed as a rename from
205 - other place.
206 -
207 - The fix in this patch is broken, unfortunately.
208 -
209 - Will discard.
218 + Will merge to 'master'.
219
211 ---------------------------------------------------
212 -[Cooking]
220
221 * jk/coding-guidelines-update (2017-01-17) 1 commit
222 (merged to 'next' on 2017-01-23 at 8c57afa288)
@@ -220,7 +227,12 @@ of the repositories listed at
227 Will merge to 'master'.
228
229
223 -* jk/fsck-connectivity-check-fix (2017-01-17) 6 commits
230 +* jk/fsck-connectivity-check-fix (2017-01-26) 9 commits
231 + (merged to 'next' on 2017-01-26 at dd03f7a17f)
232 + + fsck: lazily load types under --connectivity-only
233 + + fsck: move typename() printing to its own function
234 + (merged to 'next' on 2017-01-25 at f3d7d93785)
235 + + t1450: use "mv -f" within loose object directory
236 (merged to 'next' on 2017-01-23 at e8e9b76b84)
237 + fsck: check HAS_OBJ more consistently
238 + fsck: do not fallback "git fsck <bogus>" to "git fsck"
@@ -255,49 +267,50 @@ of the repositories listed at
267
268
269 * js/sequencer-i-countdown-3 (2017-01-17) 38 commits
258 - - sequencer (rebase -i): write out the final message
259 - - sequencer (rebase -i): write the progress into files
260 - - sequencer (rebase -i): show the progress
261 - - sequencer (rebase -i): suggest --edit-todo upon unknown command
262 - - sequencer (rebase -i): show only failed cherry-picks' output
263 - - sequencer (rebase -i): show only failed `git commit`'s output
264 - - sequencer: use run_command() directly
265 - - sequencer: update reading author-script
266 - - sequencer (rebase -i): differentiate between comments and 'noop'
267 - - sequencer (rebase -i): implement the 'drop' command
268 - - sequencer (rebase -i): allow rescheduling commands
269 - - sequencer (rebase -i): respect strategy/strategy_opts settings
270 - - sequencer (rebase -i): respect the rebase.autostash setting
271 - - sequencer (rebase -i): run the post-rewrite hook, if needed
272 - - sequencer (rebase -i): record interrupted commits in rewritten, too
273 - - sequencer (rebase -i): copy commit notes at end
274 - - sequencer (rebase -i): set the reflog message consistently
275 - - sequencer (rebase -i): refactor setting the reflog message
276 - - sequencer (rebase -i): allow fast-forwarding for edit/reword
277 - - sequencer (rebase -i): implement the 'reword' command
278 - - sequencer (rebase -i): leave a patch upon error
279 - - sequencer (rebase -i): update refs after a successful rebase
280 - - sequencer (rebase -i): the todo can be empty when continuing
281 - - sequencer (rebase -i): skip some revert/cherry-pick specific code path
282 - - sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
283 - - sequencer (rebase -i): allow continuing with staged changes
284 - - sequencer (rebase -i): write an author-script file
285 - - sequencer (rebase -i): implement the short commands
286 - - sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
287 - - sequencer (rebase -i): write the 'done' file
288 - - sequencer (rebase -i): learn about the 'verbose' mode
289 - - sequencer (rebase -i): implement the 'exec' command
290 - - sequencer (rebase -i): implement the 'edit' command
291 - - sequencer (rebase -i): implement the 'noop' command
292 - - sequencer: support a new action: 'interactive rebase'
293 - - sequencer: use a helper to find the commit message
294 - - sequencer: move "else" keyword onto the same line as preceding brace
295 - - sequencer: avoid unnecessary curly braces
270 + (merged to 'next' on 2017-01-23 at 251dd15139)
271 + + sequencer (rebase -i): write out the final message
272 + + sequencer (rebase -i): write the progress into files
273 + + sequencer (rebase -i): show the progress
274 + + sequencer (rebase -i): suggest --edit-todo upon unknown command
275 + + sequencer (rebase -i): show only failed cherry-picks' output
276 + + sequencer (rebase -i): show only failed `git commit`'s output
277 + + sequencer: use run_command() directly
278 + + sequencer: update reading author-script
279 + + sequencer (rebase -i): differentiate between comments and 'noop'
280 + + sequencer (rebase -i): implement the 'drop' command
281 + + sequencer (rebase -i): allow rescheduling commands
282 + + sequencer (rebase -i): respect strategy/strategy_opts settings
283 + + sequencer (rebase -i): respect the rebase.autostash setting
284 + + sequencer (rebase -i): run the post-rewrite hook, if needed
285 + + sequencer (rebase -i): record interrupted commits in rewritten, too
286 + + sequencer (rebase -i): copy commit notes at end
287 + + sequencer (rebase -i): set the reflog message consistently
288 + + sequencer (rebase -i): refactor setting the reflog message
289 + + sequencer (rebase -i): allow fast-forwarding for edit/reword
290 + + sequencer (rebase -i): implement the 'reword' command
291 + + sequencer (rebase -i): leave a patch upon error
292 + + sequencer (rebase -i): update refs after a successful rebase
293 + + sequencer (rebase -i): the todo can be empty when continuing
294 + + sequencer (rebase -i): skip some revert/cherry-pick specific code path
295 + + sequencer (rebase -i): remove CHERRY_PICK_HEAD when no longer needed
296 + + sequencer (rebase -i): allow continuing with staged changes
297 + + sequencer (rebase -i): write an author-script file
298 + + sequencer (rebase -i): implement the short commands
299 + + sequencer (rebase -i): add support for the 'fixup' and 'squash' commands
300 + + sequencer (rebase -i): write the 'done' file
301 + + sequencer (rebase -i): learn about the 'verbose' mode
302 + + sequencer (rebase -i): implement the 'exec' command
303 + + sequencer (rebase -i): implement the 'edit' command
304 + + sequencer (rebase -i): implement the 'noop' command
305 + + sequencer: support a new action: 'interactive rebase'
306 + + sequencer: use a helper to find the commit message
307 + + sequencer: move "else" keyword onto the same line as preceding brace
308 + + sequencer: avoid unnecessary curly braces
309
310 The sequencer machinery has been further enhanced so that a later
311 set of patches can start using it to reimplement "rebase -i".
312
300 - Will merge to 'next'.
313 + Will merge to 'master'.
314 I think I've said everything that needs to be said on this topic.
315
316
@@ -311,21 +324,20 @@ of the repositories listed at
324 Will merge to 'master'.
325
326
314 -* jk/describe-omit-some-refs (2017-01-19) 6 commits
315 - - SQUASH???
316 - - describe: teach describe negative pattern matches
317 - - describe: teach --match to accept multiple patterns
318 - - name-rev: add support to exclude refs by pattern match
319 - - name-rev: extend --refs to accept multiple patterns
320 - - doc: add documentation for OPT_STRING_LIST
327 +* jk/describe-omit-some-refs (2017-01-23) 5 commits
328 + (merged to 'next' on 2017-01-23 at f8a14b4996)
329 + + describe: teach describe negative pattern matches
330 + + describe: teach --match to accept multiple patterns
331 + + name-rev: add support to exclude refs by pattern match
332 + + name-rev: extend --refs to accept multiple patterns
333 + + doc: add documentation for OPT_STRING_LIST
334
335 "git describe" and "git name-rev" have been taught to take more
336 than one refname patterns to restrict the set of refs to base their
337 naming output on, and also learned to take negative patterns to
338 name refs not to be used for naming via their "--exclude" option.
339
327 - Will merge to 'next' after making sure SQUASH??? is correctly
328 - squashed in.
340 + Will merge to 'next'.
341
342
343 * js/remote-rename-with-half-configured-remote (2017-01-19) 2 commits
@@ -387,8 +399,7 @@ of the repositories listed at
399 Will merge to 'master'.
400
401
390 -* sb/unpack-trees-super-prefix (2017-01-12) 5 commits
391 - - SQUASH
402 +* sb/unpack-trees-super-prefix (2017-01-25) 4 commits
403 - unpack-trees: support super-prefix option
404 - t1001: modernize style
405 - t1000: modernize style
@@ -397,10 +408,7 @@ of the repositories listed at
408 "git read-tree" and its underlying unpack_trees() machinery learned
409 to report problematic paths prefixed with the --super-prefix option.
410
400 - Expecting a reroll.
401 - The first three are in good shape. The last one needs a better
402 - explanation and possibly an update to its test.
403 - cf. <CAGZ79kaHDnVLQr8WLoaD5KKs7EqeW=KbkptF=iHpU5t054Xcdw@mail.gmail.com>
411 + Will merge to 'next'.
412
413
414 * sb/submodule-doc (2017-01-12) 3 commits
@@ -524,18 +532,17 @@ of the repositories listed at
532 Needs review.
533
534
527 -* nd/log-graph-configurable-colors (2017-01-19) 4 commits
528 - - SQUASH???
529 - - log --graph: customize the graph lines with config log.graphColors
530 - - color.c: trim leading spaces in color_parse_mem()
531 - - color.c: fix color_parse_mem() with value_len == 0
535 +* nd/log-graph-configurable-colors (2017-01-23) 3 commits
536 + (merged to 'next' on 2017-01-23 at c369982ad8)
537 + + log --graph: customize the graph lines with config log.graphColors
538 + + color.c: trim leading spaces in color_parse_mem()
539 + + color.c: fix color_parse_mem() with value_len == 0
540
541 Some people feel the default set of colors used by "git log --graph"
542 rather limiting. A mechanism to customize the set of colors has
543 been introduced.
544
537 - Will merge to 'next' after making sure SQUASH??? is correctly
538 - squashed in.
545 + Will merge to 'next'.
546
547
548 * cc/split-index-config (2016-12-26) 21 commits
@@ -592,7 +599,9 @@ of the repositories listed at
599 cf. <7E1C7387-4F37-423F-803D-3B5690B49D40@gmail.com>
600
601
595 -* js/difftool-builtin (2017-01-19) 3 commits
602 +* js/difftool-builtin (2017-01-25) 4 commits
603 + (merged to 'next' on 2017-01-25 at 87d2a0976a)
604 + + difftool: hack around -Wzero-length-format warning
605 (merged to 'next' on 2017-01-23 at 6f4810dbd9)
606 + difftool: retire the scripted version
607 + difftool: implement the functionality in the builtin
@@ -603,7 +612,9 @@ of the repositories listed at
612 Will merge to 'master'.
613
614
606 -* sb/push-make-submodule-check-the-default (2016-11-29) 2 commits
615 +* sb/push-make-submodule-check-the-default (2017-01-26) 3 commits
616 + (merged to 'next' on 2017-01-26 at 5f4715cea6)
617 + + Revert "push: change submodule default to check when submodules exist"
618 (merged to 'next' on 2016-12-12 at 1863e05af5)
619 + push: change submodule default to check when submodules exist
620 + submodule add: extend force flag to add existing repos
@@ -611,7 +622,8 @@ of the repositories listed at
622 Turn the default of "push.recurseSubmodules" to "check" when
623 submodules seem to be in use.
624
614 - Will cook in 'next'.
625 + I'll probably remove the tip-two commits and advance the bottom one
626 + separately.
627
628
629 * kn/ref-filter-branch-list (2017-01-10) 21 commits