What's cooking (2015/09 #01)

Junio C Hamano committed Sep 2, 2015 at 13:35 UTC 6efe128e7c33f498e90966868803a8575f2e22bd
1 file changed +172 -272
whats-cooking.txt
+172 -272
@@ -1,22 +1,20 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2015, #06; Mon, 31)
4 -X-master-at: 16163602bacb2804d00d599049a62b7af0b0b7b6
5 -X-next-at: 7a4f88f1005d1360c4762c403490bf540d65766b
3 +Subject: What's cooking in git.git (Sep 2015, #01; Wed, 2)
4 +X-master-at: 16ffa6443e279a9b3b63d7a2bebeb07833506010
5 +X-next-at: f624c3dbe0116484e9e326add66d7bb19da420e0
6
7 -What's cooking in git.git (Aug 2015, #06; Mon, 31)
7 +What's cooking in git.git (Sep 2015, #01; Wed, 2)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -A handful of topics have been merged to 'master'. Because there
15 -still are a few obviously good and trivially safe fixes cooking in
16 -'next', it would be pretty much meaningless to tag today's state
17 -as -rc0 (not that -rc0 has meant that much in the first place), so
18 -I'll wait for a few days and merge the remaining such topics from
19 -'next' to 'master' and then tag the -rc0.
14 +An early preview 2.6-rc0 has been tagged. There are a few fixes
15 +that should be merged down to 'master' that are still cooking in
16 +'next', but other than that this should give a fairly good taste
17 +for the upcoming release.
18
19 You can find the changes described here in the integration branches
20 of the repositories listed at
@@ -26,181 +24,146 @@ of the repositories listed at
24 --------------------------------------------------
25 [Graduated to "master"]
26
29 -* db/push-sign-if-asked (2015-08-19) 9 commits
30 - (merged to 'next' on 2015-08-26 at a7a32e9)
31 - + push: add a config option push.gpgSign for default signed pushes
32 - + push: support signing pushes iff the server supports it
33 - + builtin/send-pack.c: use parse_options API
34 - + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
35 - + transport: remove git_transport_options.push_cert
36 - + gitremote-helpers.txt: document pushcert option
37 - + Documentation/git-send-pack.txt: document --signed
38 - + Documentation/git-send-pack.txt: wrap long synopsis line
39 - + Documentation/git-push.txt: document when --signed may fail
40 -
41 - The client side codepaths in "git push" have been cleaned up
42 - and the user can request to perform an optional "signed push",
43 - i.e. sign only when the other end accepts signed push.
44 -
45 -
46 -* hv/submodule-config (2015-08-19) 4 commits
47 - (merged to 'next' on 2015-08-25 at 82adb30)
48 - + submodule: allow erroneous values for the fetchRecurseSubmodules option
49 - + submodule: use new config API for worktree configurations
50 - + submodule: extract functions for config set and lookup
51 - + submodule: implement a config API for lookup of .gitmodules values
52 - (this branch is used by sb/submodule-helper.)
53 -
54 - The gitmodules API accessed from the C code learned to cache stuff
55 - lazily.
56 -
57 -
58 -* jc/am-state-fix (2015-08-25) 5 commits
59 - (merged to 'next' on 2015-08-25 at 4efcd88)
60 - + write_file(): drop caller-supplied LF from calls to create a one-liner file
61 - + write_file_v(): do not leave incomplete line at the end
62 - + write_file(): drop "fatal" parameter
63 - + builtin/am: make sure state files are text
64 - + builtin/am: introduce write_state_*() helper functions
65 -
66 - Recent reimplementation of "git am" changed the format of state
67 - files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
68 - primarily because write_file() API was cumbersome to use and it was
69 - easy to mistakenly make text files with incomplete lines. Update
70 - write_file() interface to make it harder to misuse.
71 -
72 -
73 -* jc/log-p-cc (2015-08-25) 4 commits
74 - (merged to 'next' on 2015-08-25 at 2d6a6d4)
75 - + builtin/log.c: minor reformat
76 - + log: show merge commit when --cc is given
77 - + log: when --cc is given, default to -p unless told otherwise
78 - + log: rename "tweak" helpers
79 -
80 - "git log --cc" did not show any patch, even though most of the time
81 - the user meant "git log --cc -p -m" to see patch output for commits
82 - with a single parent, and combined diff for merge commits. The
83 - command is taught to DWIM "--cc" (without "--raw" and other forms
84 - of output specification) to "--cc -p -m".
85 -
86 -
87 -* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
88 - (merged to 'next' on 2015-08-25 at 89eac5a)
89 - + config: silence warnings for command names with invalid keys
90 -
91 - Because the configuration system does not allow "alias.0foo" and
92 - "pager.0foo" as the configuration key, the user cannot use '0foo'
93 - as a custom command name anyway, but "git 0foo" tried to look these
94 - keys up and emitted useless warnings before saying '0foo is not a
95 - git command'. These warning messages have been squelched.
96 -
97 -
98 -* jk/notes-merge-config (2015-08-17) 6 commits
99 - (merged to 'next' on 2015-08-26 at 6dd2286)
100 - + notes: teach git-notes about notes.<name>.mergeStrategy option
101 - + notes: add notes.mergeStrategy option to select default strategy
102 - + notes: add tests for --commit/--abort/--strategy exclusivity
103 - + notes: extract parse_notes_merge_strategy to notes-utils
104 - + notes: extract enum notes_merge_strategy to notes-utils.h
105 - + notes: document cat_sort_uniq rewriteMode
106 -
107 - "git notes merge" can be told with "--strategy=<how>" option how to
108 - automatically handle conflicts; this can now be configured by
109 - setting notes.mergeStrategy configuration variable.
110 -
111 -
112 -* jk/rev-list-has-no-notes (2015-08-24) 1 commit
113 - (merged to 'next' on 2015-08-25 at 73cb2ad)
114 - + rev-list: make it obvious that we do not support notes
115 -
116 - "git rev-list" does not take "--notes" option, but did not complain
117 - when one is given.
118 -
119 -
120 -* sg/config-name-only (2015-08-20) 6 commits
121 - (merged to 'next' on 2015-08-25 at 6cb3b7d)
122 - + get_urlmatch: avoid useless strbuf write
123 - + format_config: simplify buffer handling
124 - + format_config: don't init strbuf
125 - + config: restructure format_config() for better control flow
126 - (merged to 'next' on 2015-08-12 at c658fe4)
127 - + completion: list variable names reliably with 'git config --name-only'
128 - + config: add '--name-only' option to list only variable names
129 -
130 - "git config --list" output was hard to parse when values consist of
131 - multiple lines. "--name-only" option is added to help this.
132 -
133 -
134 -* sg/describe-contains (2015-08-25) 1 commit
135 - (merged to 'next' on 2015-08-26 at a7c66d9)
136 - + describe --contains: default to HEAD when no commit-ish is given
27 +* ah/pack-objects-usage-strings (2015-08-28) 1 commit
28 + (merged to 'next' on 2015-08-31 at 78c8240)
29 + + pack-objects: place angle brackets around placeholders in usage strings
30
138 - "git describe" without argument defaulted to describe the HEAD
139 - commit, but "git describe --contains" didn't. Arguably, in a
140 - repository used for active development, such defaulting would not
141 - be very useful as the tip of branch is typically not tagged, but it
142 - is better to be consistent.
31 + Usage string fix.
32
144 ---------------------------------------------------
145 -[New Topics]
33
147 -* ah/show-ref-usage-string (2015-08-31) 1 commit
148 - - show-ref: place angle brackets around variables in usage string
34 +* ah/read-tree-usage-string (2015-08-28) 1 commit
35 + (merged to 'next' on 2015-08-31 at fbaa7bd)
36 + + read-tree: replace bracket set with parentheses to clarify usage
37
150 - Both "git show-ref -h" and "git show-ref --help" illustrated that the
151 - "--exclude-existing" option makes the command read list of refs
152 - from its standard input. Change only the "show-ref -h" output to
153 - have a pair of "<>" around the placeholder that designate an input
154 - file, i.e. "git show-ref --exclude-existing < <ref-list>".
38 + Usage string fix.
39 +
40 +
41 +* ah/reflog-typofix-in-error (2015-08-28) 1 commit
42 + (merged to 'next' on 2015-08-31 at 1b37218)
43 + + reflog: add missing single quote to error message
44 +
45 + Error string fix.
46 +
47 +
48 +* ah/submodule-typofix-in-error (2015-08-28) 1 commit
49 + (merged to 'next' on 2015-08-31 at 5a20628)
50 + + git-submodule: remove extraneous space from error message
51 +
52 + Error string fix.
53 +
54 +
55 +* br/svn-doc-include-paths-config (2015-08-26) 1 commit
56 + (merged to 'next' on 2015-08-31 at 27a305f)
57 + + git-svn doc: mention "svn-remote.<name>.include-paths"
58
59
60 * cc/trailers-corner-case-fix (2015-08-31) 1 commit
158 - - trailer: support multiline title
61 + (merged to 'next' on 2015-09-01 at 4786608)
62 + + trailer: support multiline title
63
64 The "interpret-trailers" helper mistook a multi-paragraph title of
65 a commit log message with a colon in it as the end of the trailer
66 block.
67
164 - Will merge to 'next'.
68 +
69 +* dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-31) 1 commit
70 + (merged to 'next' on 2015-08-31 at c4133fb)
71 + + commit: don't rewrite shared index unnecessarily
72 +
73 + When re-priming the cache-tree opportunistically while committing
74 + the in-core index as-is, we mistakenly invalidated the in-core
75 + index too aggressively, causing the experimental split-index code
76 + to unnecessarily rewrite the on-disk index file(s).
77
78
79 * ee/clean-test-fixes (2015-08-31) 1 commit
168 - - t7300: fix broken && chains
80 + (merged to 'next' on 2015-09-01 at 0032b34)
81 + + t7300: fix broken && chains
82
170 - Will merge to 'next'.
83
84 +* jk/log-missing-default-HEAD (2015-08-31) 1 commit
85 + (merged to 'next' on 2015-09-01 at 3f4582b)
86 + + log: diagnose empty HEAD more clearly
87
173 -* jk/date-local (2015-08-31) 3 commits
174 - - SQUASH???
175 - - date: make "local" orthogonal to date format
176 - - fast-import: switch crash-report date to iso8601
88 + "git init empty && git -C empty log" said "bad default revision 'HEAD'",
89 + which was found to be a bit confusing to new users.
90
178 - "git log --date=local" used to only allow to show the normal
179 - (default) format in the local timezone. The command learned to take
180 - 'local' as an instruction to use the local timezone with other
181 - formats, e.g. "git show --date=rfc-local".
91
92 +* ls/p4-fold-case-client-specs (2015-08-28) 1 commit
93 + (merged to 'next' on 2015-08-31 at f25a3bd)
94 + + git-p4: honor core.ignorecase when using P4 client specs
95
184 -* nk/stash-show-config (2015-08-31) 1 commit
185 - - stash: allow "stash show" diff output configurable
96 + On case insensitive systems, "git p4" did not work well with client
97 + specs.
98 +
99 +
100 +* nd/fixup-linked-gitdir (2015-08-25) 1 commit
101 + (merged to 'next' on 2015-08-26 at 7b8a1aa)
102 + + setup: update the right file in multiple checkouts
103 +
104 + The code in "multiple-worktree" support that attempted to recover
105 + from an inconsistent state updated an incorrect file.
106
187 - Users who are too busy to type three extra keystrokes to ask for
188 - "git stash show -p" can now set stash.showPatch configuration
189 - varible to true to always see the actual patch, not just the list
190 - of paths affected with feel for the extent of damage via diffstat.
107 +
108 +* rs/archive-zip-many (2015-08-28) 3 commits
109 + (merged to 'next' on 2015-08-31 at b799358)
110 + + archive-zip: support more than 65535 entries
111 + + archive-zip: use a local variable to store the creator version
112 + + t5004: test ZIP archives with many entries
113 +
114 + "git archive" did not use zip64 extension when creating an archive
115 + with more than 64k entries, which nobody should need, right ;-)?
116 +
117 +
118 +* rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
119 + (merged to 'next' on 2015-08-31 at caabe4b)
120 + + lockfile: remove function "hold_lock_file_for_append"
121
122
123 * sb/read-cache-one-indent-style-fix (2015-08-31) 1 commit
194 - - read-cache: fix indentation in read_index_from
124 + (merged to 'next' on 2015-09-01 at adf8298)
125 + + read-cache: fix indentation in read_index_from
126
196 - Will merge to 'next'.
127 +--------------------------------------------------
128 +[New Topics]
129
130 +* jh/quiltimport-explicit-series-file (2015-09-01) 1 commit
131 + (merged to 'next' on 2015-09-02 at 1129ca4)
132 + + git-quiltimport: add commandline option --series <file>
133
199 -* ls/p4-path-encoding (2015-08-31) 1 commit
200 - - git-p4: add "--path-encoding" option
134 + "quiltimport" allows to specify the series file by honoring the
135 + $QUILT_SERIES environment and also --series command line option.
136
202 - "git p4" learned to reencode the pathname it uses to communicate
203 - with the p4 depot with a new option.
137 + Will merge to 'master'.
138 +
139 +
140 +* jk/am-rerere-lock-fix (2015-09-01) 1 commit
141 + (merged to 'next' on 2015-09-02 at 686c5c0)
142 + + rerere: release lockfile in non-writing functions
143 +
144 + Recent "git am" introduced a double-locking failure when used with
145 + the "--3way" option that invokes rerere machinery.
146 +
147 + Will merge to 'master' before 2.6-rc1.
148 +
149 +
150 +* jk/async-pkt-line (2015-09-01) 2 commits
151 + (merged to 'next' on 2015-09-02 at e185717)
152 + + pkt-line: show packets in async processes as "sideband"
153 + + run-command: provide in_async query function
154 +
155 + The debugging infrastructure for pkt-line based communication has
156 + been improved to mark the side-band communicatio specifically.
157 +
158 + Will merge to 'master'.
159 +
160 +
161 +* mp/t7060-diff-index-test (2015-09-02) 1 commit
162 + - t7060: actually test "git diff-index --cached -M"
163 +
164 + Fix an old test that was doing the same thing as another one.
165 +
166 + Will merge to 'next'.
167
168 --------------------------------------------------
169 [Stalled]
@@ -439,93 +402,68 @@ of the repositories listed at
402 --------------------------------------------------
403 [Cooking]
404
442 -* ad/bisect-terms (2015-08-03) 4 commits
443 - - bisect: allow setting any user-specified in 'git bisect start'
444 - - bisect: add 'git bisect terms' to view the current terms
445 - - bisect: add the terms old/new
446 - - bisect: sanity check on terms
447 -
448 - The use of 'good/bad' in "git bisect" made it confusing to use when
449 - hunting for a state change that is not a regression (e.g. bugfix).
450 - The command learned 'old/new' and then allows the end user to
451 - say e.g. "bisect start --term-old=fast --term=new=slow" to find a
452 - performance regression.
453 -
454 - Michael's idea to make 'good/bad' more intelligent does have
455 - certain attractiveness ($gname/272867), and makes some of the work
456 - on this topic a moot point.
457 -
458 - Will merge to 'next'.
459 -
460 -
461 -* jk/log-missing-default-HEAD (2015-08-31) 1 commit
462 - - log: diagnose empty HEAD more clearly
463 -
464 - "git init empty && git -C empty log" said "bad default revision 'HEAD'",
465 - which was found to be a bit confusing to new users.
466 -
467 - Will merge to 'next'.
468 -
469 -
470 -* ah/pack-objects-usage-strings (2015-08-28) 1 commit
471 - (merged to 'next' on 2015-08-31 at 78c8240)
472 - + pack-objects: place angle brackets around placeholders in usage strings
473 -
474 - Usage string fix.
475 -
476 - Will merge to 'master'.
477 -
478 -
479 -* ah/read-tree-usage-string (2015-08-28) 1 commit
480 - (merged to 'next' on 2015-08-31 at fbaa7bd)
481 - + read-tree: replace bracket set with parentheses to clarify usage
482 -
483 - Usage string fix.
484 -
485 - Will merge to 'master'.
405 +* ah/show-ref-usage-string (2015-08-31) 1 commit
406 + - show-ref: place angle brackets around variables in usage string
407
408 + Both "git show-ref -h" and "git show-ref --help" illustrated that the
409 + "--exclude-existing" option makes the command read list of refs
410 + from its standard input. Change only the "show-ref -h" output to
411 + have a pair of "<>" around the placeholder that designate an input
412 + file, i.e. "git show-ref --exclude-existing < <ref-list>".
413
488 -* ah/reflog-typofix-in-error (2015-08-28) 1 commit
489 - (merged to 'next' on 2015-08-31 at 1b37218)
490 - + reflog: add missing single quote to error message
414
492 - Error string fix.
415 +* jk/date-local (2015-09-01) 6 commits
416 + - t6300: add tests for "-local" date formats
417 + - t6300: add test for "raw" date format
418 + - t6300: make UTC and local dates different
419 + - t6300: introduce test_date() helper
420 + - date: make "local" orthogonal to date format
421 + - fast-import: switch crash-report date to iso8601
422
494 - Will merge to 'master'.
423 + "git log --date=local" used to only allow to show the normal
424 + (default) format in the local timezone. The command learned to take
425 + 'local' as an instruction to use the local timezone with other
426 + formats, e.g. "git show --date=rfc-local".
427
428
497 -* ah/submodule-typofix-in-error (2015-08-28) 1 commit
498 - (merged to 'next' on 2015-08-31 at 5a20628)
499 - + git-submodule: remove extraneous space from error message
429 +* nk/stash-show-config (2015-08-31) 1 commit
430 + - stash: allow "stash show" diff output configurable
431
501 - Error string fix.
432 + Users who are too busy to type three extra keystrokes to ask for
433 + "git stash show -p" can now set stash.showPatch configuration
434 + varible to true to always see the actual patch, not just the list
435 + of paths affected with feel for the extent of damage via diffstat.
436
503 - Will merge to 'master'.
437
438 +* ls/p4-path-encoding (2015-08-31) 1 commit
439 + . git-p4: add "--path-encoding" option
440
506 -* br/svn-doc-include-paths-config (2015-08-26) 1 commit
507 - (merged to 'next' on 2015-08-31 at 27a305f)
508 - + git-svn doc: mention "svn-remote.<name>.include-paths"
441 + "git p4" learned to reencode the pathname it uses to communicate
442 + with the p4 depot with a new option.
443
510 - Will merge to 'master'.
444
445 +* ad/bisect-terms (2015-08-03) 4 commits
446 + (merged to 'next' on 2015-09-01 at ede6e64)
447 + + bisect: allow setting any user-specified in 'git bisect start'
448 + + bisect: add 'git bisect terms' to view the current terms
449 + + bisect: add the terms old/new
450 + + bisect: sanity check on terms
451
513 -* dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-31) 1 commit
514 - (merged to 'next' on 2015-08-31 at c4133fb)
515 - + commit: don't rewrite shared index unnecessarily
452 + The use of 'good/bad' in "git bisect" made it confusing to use when
453 + hunting for a state change that is not a regression (e.g. bugfix).
454 + The command learned 'old/new' and then allows the end user to
455 + say e.g. "bisect start --term-old=fast --term=new=slow" to find a
456 + performance regression.
457
517 - When re-priming the cache-tree opportunistically while committing
518 - the in-core index as-is, we mistakenly invalidated the in-core
519 - index too aggressively, causing the experimental split-index code
520 - to unnecessarily rewrite the on-disk index file(s).
458 + Michael's idea to make 'good/bad' more intelligent does have
459 + certain attractiveness ($gname/272867), and makes some of the work
460 + on this topic a moot point.
461
462 Will merge to 'master'.
463
464
525 -* dt/refs-bisection (2015-08-31) 5 commits
526 - - bisect: make bisection refs per-worktree
527 - - refs: make refs/worktree/* per-worktree
528 - - SQUASH???
465 +* dt/refs-bisection (2015-09-01) 3 commits
466 + - refs: make refs/bisect/* per-worktree
467 - path: optimize common dir checking
468 - refs: clean up common_list
469
@@ -538,38 +476,10 @@ of the repositories listed at
476
477
478 * ld/p4-import-labels (2015-08-28) 3 commits
541 - - git-p4: fix P4 label import for unprocessed commits
542 - - git-p4: do not terminate creating tag for unknown commit
543 - - git-p4: failing test for ignoring invalid p4 labels
544 -
545 - Will merge to 'next'.
546 -
547 -
548 -* ls/p4-fold-case-client-specs (2015-08-28) 1 commit
549 - (merged to 'next' on 2015-08-31 at f25a3bd)
550 - + git-p4: honor core.ignorecase when using P4 client specs
551 -
552 - On case insensitive systems, "git p4" did not work well with client
553 - specs.
554 -
555 - Will merge to 'master'.
556 -
557 -
558 -* rs/archive-zip-many (2015-08-28) 3 commits
559 - (merged to 'next' on 2015-08-31 at b799358)
560 - + archive-zip: support more than 65535 entries
561 - + archive-zip: use a local variable to store the creator version
562 - + t5004: test ZIP archives with many entries
563 -
564 - "git archive" did not use zip64 extension when creating an archive
565 - with more than 64k entries, which nobody should need, right ;-)?
566 -
567 - Will merge to 'master'.
568 -
569 -
570 -* rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
571 - (merged to 'next' on 2015-08-31 at caabe4b)
572 - + lockfile: remove function "hold_lock_file_for_append"
479 + (merged to 'next' on 2015-09-01 at cf9f1d6)
480 + + git-p4: fix P4 label import for unprocessed commits
481 + + git-p4: do not terminate creating tag for unknown commit
482 + + git-p4: failing test for ignoring invalid p4 labels
483
484 Will merge to 'master'.
485
@@ -600,16 +510,6 @@ of the repositories listed at
510 ($gmane/276615, $gmane/276529, $gmane/276607, $gmane/276606, etc.)
511
512
603 -* nd/fixup-linked-gitdir (2015-08-25) 1 commit
604 - (merged to 'next' on 2015-08-26 at 7b8a1aa)
605 - + setup: update the right file in multiple checkouts
606 -
607 - The code in "multiple-worktree" support that attempted to recover
608 - from an inconsistent state updated an incorrect file.
609 -
610 - Will merge to 'master'.
611 -
612 -
513 * nd/ita-cleanup (2015-08-25) 6 commits
514 - grep: make it clear i-t-a entries are ignored
515 - checkout(-index): do not checkout i-t-a entries
@@ -648,11 +548,11 @@ of the repositories listed at
548
549
550 * sb/submodule-helper (2015-08-31) 5 commits
651 - - submodule: implement `module_clone` as a builtin helper
652 - - submodule: implement `module_name` as a builtin helper
653 - - SQUASH???
654 - - submodule: implement `module_list` as a builtin helper
655 - - Merge 'hv/submodule-config' to 'sb/submodule-helper'
551 + . submodule: implement `module_clone` as a builtin helper
552 + . submodule: implement `module_name` as a builtin helper
553 + . SQUASH???
554 + . submodule: implement `module_list` as a builtin helper
555 + . Merge 'hv/submodule-config' to 'sb/submodule-helper'
556
557 The infrastructure to rewrite "git submodule" in C is being built
558 incrementally. Let's polish these early parts well enough and make