What's cooking (2016/08 #08)
Junio C Hamano committed
Aug 24, 2016 at 14:15 UTC
38104d3d3108c95a87f3b4bd59a9ce7a2e2e7900
1 file changed
+223
-137
whats-cooking.txt
+223
-137
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Aug 2016, #07; Thu, 18)
4
-X-master-at: d63263a4dee8fc7da9b97bbdedf9c0d1f33024d4
5
-X-next-at: 8e4bfbdedf0822fce7bdef0dcc37482a8deb3aca
3
+Subject: What's cooking in git.git (Aug 2016, #08; Wed, 24)
4
+X-master-at: 2632c897f74b1cc9b5533f467da459b9ec725538
5
+X-next-at: 3a084aaf40d3898679a48d19dac63e45ecde4cc7
6
7
-What's cooking in git.git (Aug 2016, #07; Thu, 18)
7
+What's cooking in git.git (Aug 2016, #08; Wed, 24)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,8 +12,15 @@ 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 preview for the upcoming 2.10 release has been tagged as
16
-v2.10.0-rc0.
15
+v2.10.0-rc1 was tagged last week, then I got sick and lost an entire
16
+day. I've merged a handful more topics to 'next' and marked 5 among
17
+them to be merged to 'master' by -rc2. A notable is the ja/i18n
18
+topic, which hopefully will reduce the translator's load somewhat.
19
+Also the change to arrange the file-descriptors to the tempfile be
20
+closed for subprocesses to avoid deadlocks on Windows is also in;
21
+even though it is not a new problem, the fix looked safe enough.
22
+Linus's "32-bit GPG key-ids are so last century" change is already
23
+in, as reported in the 2.10.0-rc1 announcement.
24
25
You can find the changes described here in the integration branches
26
of the repositories listed at
@@ -23,60 +30,62 @@ of the repositories listed at
30
--------------------------------------------------
31
[Graduated to "master"]
32
26
-* jk/tighten-alloc (2016-08-13) 2 commits
27
- (merged to 'next' on 2016-08-16 at 5399351)
28
- + receive-pack: use FLEX_ALLOC_MEM in queue_command()
29
- + correct FLEXPTR_* example in comment
30
-
31
- Small code and comment clean-up.
32
-
33
-
34
-* js/test-lint-pathname (2016-08-16) 1 commit
35
- (merged to 'next' on 2016-08-16 at d154f90)
36
- + t/Makefile: ensure that paths are valid on platforms we care
33
+* ab/hooks (2016-08-16) 1 commit
34
+ (merged to 'next' on 2016-08-17 at b56e55d)
35
+ + rev-parse: respect core.hooksPath in --git-path
36
38
- The "t/" hierarchy is prone to get an unusual pathname; "make test"
39
- has been taught to make sure they do not contain paths that cannot
40
- be checked out on Windows (and the mechanism can be reusable to
41
- catch pathnames that are not portable to other platforms as need
42
- arises).
37
+ "git rev-parse --git-path hooks/<hook>" learned to take
38
+ core.hooksPath configuration variable (introduced during 2.9 cycle)
39
+ into account.
40
41
45
-* rs/mailinfo-lib (2016-08-13) 1 commit
46
- (merged to 'next' on 2016-08-16 at 14101e3)
47
- + mailinfo: recycle strbuf in check_header()
42
+* jk/difftool-command-not-found (2016-08-15) 1 commit
43
+ (merged to 'next' on 2016-08-17 at 32baf03)
44
+ + difftool: always honor fatal error exit codes
45
49
- Small code clean-up.
46
+ "git difftool" by default ignores the error exit from the backend
47
+ commands it spawns, because often they signal that they found
48
+ differences by exiting with a non-zero status code just like "diff"
49
+ does; the exit status codes 126 and above however are special in
50
+ that they are used to signal that the command is not executable,
51
+ does not exist, or killed by a signal. "git difftool" has been
52
+ taught to notice these exit status codes.
53
54
52
-* sg/reflog-past-root (2016-08-15) 1 commit
53
- (merged to 'next' on 2016-08-16 at ee997a5)
54
- + t1410: remove superfluous 'git reflog' from the 'walk past root' test
55
+* lt/gpg-show-long-key-in-signature-verification (2016-08-16) 1 commit
56
+ (merged to 'next' on 2016-08-17 at 1ee8a00)
57
+ + Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into lt/gpg-show-long-key-in-signature-verification
58
+ (this branch uses lt/gpg-show-long-key-in-signature-verification-maint.)
59
56
- A small test clean-up for a topic introduced in v2.9.1 and later.
60
+ "git log --show-signature" and other commands that display the
61
+ verification status of PGP signature now shows the longer key-id,
62
+ as 32-bit key-id is so last century.
63
64
+ A last-minute merge of this topic was a bit scary but I made sure
65
+ push-certificate codepath would not be negatively affected.
66
59
-* va/i18n (2016-08-12) 3 commits
60
- (merged to 'next' on 2016-08-16 at 6a06cd3)
61
- + t7411: become resilient to GETTEXT_POISON
62
- + t5520: become resilient to GETTEXT_POISON
63
- + t3404: become resilient to GETTEXT_POISON
67
65
- A handful of tests that were broken under gettext-poison build have
66
- been fixed.
68
+* lt/gpg-show-long-key-in-signature-verification-maint (2016-08-16) 1 commit
69
+ + gpg-interface: prefer "long" key format output when verifying pgp signatures
70
+ (this branch is used by lt/gpg-show-long-key-in-signature-verification.)
71
68
---------------------------------------------------
69
-[New Topics]
72
+ "git log --show-signature" and other commands that display the
73
+ verification status of PGP signature now shows the longer key-id,
74
+ as 32-bit key-id is so last century. This is based on older
75
+ codebase, just in case somebody wants to have it.
76
71
-* ab/hooks (2016-08-16) 1 commit
72
- (merged to 'next' on 2016-08-17 at b56e55d)
73
- + rev-parse: respect core.hooksPath in --git-path
77
75
- "git rev-parse --git-path hooks/<hook>" learned to take
76
- core.hooksPath configuration variable (introduced during 2.9 cycle)
77
- into account.
78
+* rs/pull-signed-tag (2016-08-13) 4 commits
79
+ (merged to 'next' on 2016-08-17 at cecca71)
80
+ + commit: use FLEX_ARRAY in struct merge_remote_desc
81
+ + merge-recursive: fix verbose output for multiple base trees
82
+ + commit: factor out set_merge_remote_desc()
83
+ + commit: use xstrdup() in get_merge_parent()
84
79
- Will merge to 'master'.
85
+ When "git merge-recursive" works on history with many criss-cross
86
+ merges in "verbose" mode, the names the command assigns to the
87
+ virtual merge bases could have overwritten each other by unintended
88
+ reuse of the same piece of memory.
89
90
91
* sb/checkout-explit-detach-no-advice (2016-08-15) 1 commit
@@ -89,62 +98,134 @@ of the repositories listed at
98
an explicit enough sign that the user knows what is going on. The
99
advice message has been squelched in this case.
100
101
+
102
+* tb/t0027-raciness-fix (2016-08-14) 1 commit
103
+ (merged to 'next' on 2016-08-17 at 39a6635)
104
+ + convert: Correct NNO tests and missing `LF will be replaced by CRLF`
105
+
106
+ The t0027 test for CRLF conversion was timing dependent and flaky.
107
+
108
+--------------------------------------------------
109
+[New Topics]
110
+
111
+* cc/receive-pack-limit (2016-08-24) 3 commits
112
+ - receive-pack: allow a maximum input size to be specified
113
+ - unpack-objects: add --max-input-size=<size> option
114
+ - index-pack: add --max-input-size=<size> option
115
+
116
+ An incoming "git push" that attempts to push too many bytes can now
117
+ be rejected by setting a new configuration variable at the receiving
118
+ end.
119
+
120
+ Will merge to 'next'.
121
+
122
+
123
+* hv/doc-commit-reference-style (2016-08-17) 1 commit
124
+ (merged to 'next' on 2016-08-24 at b187d45)
125
+ + SubmittingPatches: document how to reference previous commits
126
+
127
+ A small doc update.
128
+
129
Will merge to 'master'.
130
131
95
-* lt/gpg-show-long-key-in-signature-verification (2016-08-16) 1 commit
96
- (merged to 'next' on 2016-08-17 at 1ee8a00)
97
- + Merge branch 'lt/gpg-show-long-key-in-signature-verification-maint' into lt/gpg-show-long-key-in-signature-verification
98
- (this branch uses lt/gpg-show-long-key-in-signature-verification-maint.)
132
+* js/no-html-bypass-on-windows (2016-08-19) 1 commit
133
+ (merged to 'next' on 2016-08-24 at 05728f8)
134
+ + Revert "display HTML in default browser using Windows' shell API"
135
100
- "git log --show-signature" and other commands that display the
101
- verification status of PGP signature now shows the longer key-id,
102
- as 32-bit key-id is so last century.
136
+ On Windows, help.browser configuration variable used to be ignored,
137
+ which has been corrected.
138
139
Will merge to 'master'.
140
141
107
-* lt/gpg-show-long-key-in-signature-verification-maint (2016-08-16) 1 commit
108
- + gpg-interface: prefer "long" key format output when verifying pgp signatures
109
- (this branch is used by lt/gpg-show-long-key-in-signature-verification.)
142
+* dg/document-git-c-in-git-config-doc (2016-08-23) 1 commit
143
+ (merged to 'next' on 2016-08-24 at a923eb0)
144
+ + doc: mention `git -c` in git-config(1)
145
111
- "git log --show-signature" and other commands that display the
112
- verification status of PGP signature now shows the longer key-id,
113
- as 32-bit key-id is so last century. This is based on older
114
- codebase, just in case somebody wants to have it.
146
+ The "git -c var[=val] cmd" facility to append a configuration
147
+ variable definition at the end of the search order was described in
148
+ git(1) manual page, but not in git-config(1), which was more likely
149
+ place for people to look for when they ask "can I make a one-shot
150
+ override, and if so how?"
151
152
+ Will merge to 'master'.
153
117
-* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
118
- - imap-send: Tell cURL to use imap:// or imaps://
154
120
- When we started cURL to talk to imap server when a new enough
121
- version of cURL library is available, we forgot to explicitly add
122
- imap(s):// before the destination. To some folks, that didn't work
123
- and the library tried to make HTTP(s) requests instead.
155
+* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit
156
+ - format-patch: show 0/1 and 1/1 for singleton patch with cover letter
157
125
- Needs review and testing.
158
+ "git format-patch --cover-letter HEAD^" to format a single patch
159
+ with a separate cover letter now numbers the output as [PATCH 0/1]
160
+ and [PATCH 1/1] by default.
161
162
+ Will merge to 'next'.
163
128
-* bw/mingw-avoid-inheriting-fd-to-lockfile (2016-08-18) 2 commits
129
- - mingw: ensure temporary file handles are not inherited by child processes
130
- - t6026-merge-attr: child processes must not inherit index.lock handles
164
132
- The tempfile (hence its user lockfile) API lets the caller to open
133
- a file descriptor to a temporary file, write into it and then
134
- finalize it by first closing the filehandle and then either
135
- removing or renaming the temporary file. When the process spawns a
136
- subprocess after obtaining the file descriptor, and if the
137
- subprocess has not exited when the attempt to remove or rename is
138
- made, the last step fails on Windows, because the subprocess has
139
- the file descriptor still open. Open tempfile with O_CLOEXEC flag
140
- to avoid this (on Windows, this is mapped to O_NOINHERIT).
165
+* cp/completion-negative-refs (2016-08-24) 1 commit
166
+ - completion: support excluding refs
167
142
- It was pointed out that not everybody has O_CLOEXEC flag during the
143
- review.
168
+ The command-line completion script (in contrib/) learned to
169
+ complete "git cmd ^mas<HT>" to complete the negative end of
170
+ reference to "git cmd ^master".
171
145
- Waiting for the review discussion to settle.
146
- cf. <20160818173555.GA29253@starla>
172
+ Waiting for a review.
173
+
174
+
175
+* ja/i18n (2016-08-24) 3 commits
176
+ (merged to 'next' on 2016-08-24 at 3a084aa)
177
+ + i18n: simplify numeric error reporting
178
+ + i18n: fix git rebase interactive commit messages
179
+ + i18n: fix typos for translation
180
+
181
+ The recent i18n patch we added during this cycle did a bit too much
182
+ refactoring of the messages to avoid word-legos; the repetition has
183
+ been reduced to help translators.
184
+
185
+ Will merge to 'master'.
186
+
187
+
188
+* jk/delta-base-cache (2016-08-23) 7 commits
189
+ - t/perf: add basic perf tests for delta base cache
190
+ - delta_base_cache: use hashmap.h
191
+ - delta_base_cache: drop special treatment of blobs
192
+ - delta_base_cache: use list.h for LRU
193
+ - release_delta_base_cache: reuse existing detach function
194
+ - clear_delta_base_cache_entry: use a more descriptive name
195
+ - cache_or_unpack_entry: drop keep_cache parameter
196
+
197
+ The delta-base-cache mechanism has been a key to the performance in
198
+ a repository with a tightly packed packfile, but it did not scale
199
+ well even with a larger value of core.deltaBaseCacheLimit.
200
+
201
+ Will merge to 'next'.
202
+
203
+
204
+* js/cat-file-filters (2016-08-24) 4 commits
205
+ - cat-file: support --textconv/--filters in batch mode
206
+ - cat-file --textconv/--filters: allow specifying the path separately
207
+ - cat-file: introduce the --filters option
208
+ - cat-file: fix a grammo in the man page
209
210
+ Even though "git hash-objects", which is a tool to take an
211
+ on-filesystem data stream and put it into the Git object store,
212
+ allowed to perform the "outside-world-to-Git" conversions (e.g.
213
+ end-of-line conversions and application of the clean-filter), and
214
+ it had the feature on by default from very early days, its reverse
215
+ operation "git cat-file", which takes an object from the Git object
216
+ store and externalize for the consumption by the outside world,
217
+ lacked an equivalent mechanism to run the "Git-to-outside-world"
218
+ conversion. The command learned the "--filters" option to do so.
219
+
220
+
221
+* sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
222
+ - push: change submodule default to check
223
+
224
+ Turn the default of "push.recurseSubmodules" to "check".
225
+
226
+ Alas, this reveals that the "check" mode is too inefficient to use
227
+ in real projects.
228
+ cf. <xmqqh9aaot49.fsf@gitster.mtv.corp.google.com>
229
230
--------------------------------------------------
231
[Stalled]
@@ -399,45 +480,44 @@ of the repositories listed at
480
--------------------------------------------------
481
[Cooking]
482
402
-* rt/help-unknown (2016-08-18) 2 commits
403
- - help: make option --help open man pages only for Git commands
404
- - help: introduce option --command-only
483
+* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
484
+ - imap-send: Tell cURL to use imap:// or imaps://
485
406
- "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
407
- which was not intuitive, given that "git nosuchcommand" said "git:
408
- 'nosuchcommand' is not a git command".
486
+ When we started cURL to talk to imap server when a new enough
487
+ version of cURL library is available, we forgot to explicitly add
488
+ imap(s):// before the destination. To some folks, that didn't work
489
+ and the library tried to make HTTP(s) requests instead.
490
410
- Will merge to 'next'.
491
+ Needs review and testing.
492
493
413
-* jk/difftool-command-not-found (2016-08-15) 1 commit
414
- (merged to 'next' on 2016-08-17 at 32baf03)
415
- + difftool: always honor fatal error exit codes
494
+* bw/mingw-avoid-inheriting-fd-to-lockfile (2016-08-23) 2 commits
495
+ (merged to 'next' on 2016-08-24 at 8389b0e)
496
+ + mingw: ensure temporary file handles are not inherited by child processes
497
+ + t6026-merge-attr: child processes must not inherit index.lock handles
498
417
- "git difftool" by default ignores the error exit from the backend
418
- commands it spawns, because often they signal that they found
419
- differences by exiting with a non-zero status code just like "diff"
420
- does; the exit status codes 126 and above however are special in
421
- that they are used to signal that the command is not executable,
422
- does not exist, or killed by a signal. "git difftool" has been
423
- taught to notice these exit status codes.
499
+ The tempfile (hence its user lockfile) API lets the caller to open
500
+ a file descriptor to a temporary file, write into it and then
501
+ finalize it by first closing the filehandle and then either
502
+ removing or renaming the temporary file. When the process spawns a
503
+ subprocess after obtaining the file descriptor, and if the
504
+ subprocess has not exited when the attempt to remove or rename is
505
+ made, the last step fails on Windows, because the subprocess has
506
+ the file descriptor still open. Open tempfile with O_CLOEXEC flag
507
+ to avoid this (on Windows, this is mapped to O_NOINHERIT).
508
509
Will merge to 'master'.
510
511
428
-* rs/pull-signed-tag (2016-08-13) 4 commits
429
- (merged to 'next' on 2016-08-17 at cecca71)
430
- + commit: use FLEX_ARRAY in struct merge_remote_desc
431
- + merge-recursive: fix verbose output for multiple base trees
432
- + commit: factor out set_merge_remote_desc()
433
- + commit: use xstrdup() in get_merge_parent()
512
+* rt/help-unknown (2016-08-18) 2 commits
513
+ - help: make option --help open man pages only for Git commands
514
+ - help: introduce option --command-only
515
435
- When "git merge-recursive" works on history with many criss-cross
436
- merges in "verbose" mode, the names the command assigns to the
437
- virtual merge bases could have overwritten each other by unintended
438
- reuse of the same piece of memory.
516
+ "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
517
+ which was not intuitive, given that "git nosuchcommand" said "git:
518
+ 'nosuchcommand' is not a git command".
519
440
- Will merge to 'master'.
520
+ Waiting for the review discussion to settle.
521
522
523
* po/range-doc (2016-08-13) 12 commits
@@ -460,25 +540,22 @@ of the repositories listed at
540
Waiting for the review discussion to settle.
541
542
463
-* tb/t0027-raciness-fix (2016-08-14) 1 commit
464
- (merged to 'next' on 2016-08-17 at 39a6635)
465
- + convert: Correct NNO tests and missing `LF will be replaced by CRLF`
466
-
467
- The t0027 test for CRLF conversion was timing dependent and flaky.
468
-
469
- Will merge to 'master'.
470
-
471
-
472
-* jk/diff-submodule-diff-inline (2016-08-16) 3 commits
473
- - diff: add SUBMODULE_DIFF format to display submodule diff
543
+* jk/diff-submodule-diff-inline (2016-08-23) 8 commits
544
+ - diff: teach diff to display submodule difference with an inline diff
545
+ - submodule: refactor show_submodule_summary with helper function
546
+ - submodule: convert show_submodule_summary to use struct object_id *
547
+ - allow do_submodule_path to work even if submodule isn't checked out
548
+ - diff: prepare for additional submodule formats
549
- graph: add support for --line-prefix on all graph-aware output
550
- diff.c: remove output_prefix_length field
551
+ - cache: add empty_tree_oid object and helper function
552
553
The "git diff --submodule={short,log}" mechanism has been enhanced
554
to allow "--submodule=diff" to show the patch between the submodule
555
commits bound to the superproject.
556
481
- Still being worked on.
557
+ Waiting for the review discussion to settle.
558
+ I think it is getting there.
559
560
561
* jk/reduce-gc-aggressive-depth (2016-08-11) 1 commit
@@ -535,15 +612,13 @@ of the repositories listed at
612
Any more comments?
613
614
538
-* mh/diff-indent-heuristic (2016-08-04) 8 commits
615
+* mh/diff-indent-heuristic (2016-08-23) 6 commits
616
- diff: improve positioning of add/delete blocks in diffs
540
- - is_blank_line: take a single xrecord_t as argument
541
- - xdl_change_compact(): keep track of the earliest end
542
- - xdl_change_compact(): fix compaction heuristic to adjust io
543
- - xdl_change_compact(): do one final shift or the other, not both
544
- - xdl_change_compact(): rename i to end
545
- - xdl_change_compact(): clarify code
546
- - xdl_change_compact(): rename some local variables for clarity
617
+ - xdl_change_compact(): introduce the concept of a change group
618
+ - recs_match(): take two xrecord_t pointers as arguments
619
+ - is_blank_line(): take a single xrecord_t as argument
620
+ - xdl_change_compact(): only use heuristic if group can't be matched
621
+ - xdl_change_compact(): fix compaction heuristic to adjust ixo
622
623
Output from "git diff" can be made easier to read by selecting
624
which lines are common and which lines are added/deleted
@@ -552,10 +627,8 @@ of the repositories listed at
627
experiment to find a good heuristics.
628
629
Waiting for the review discussion to settle.
555
- cf. <cover.1470259583.git.mhagger@alum.mit.edu>
556
- cf. <20160804072705.a53mospcccksiz4e@sigill.intra.peff.net>
557
- cf. <20160804075631.jakbi5dbsbxsqcpr@sigill.intra.peff.net>
630
cf. <29c40cdd-363a-df09-f9e2-fe9070bb8a9c@ramsayjones.plus.com>
631
+ cf. <a27aa17e-f602-fc49-92b3-2198e4772e47@ramsayjones.plus.com>
632
633
634
* cc/apply-am (2016-08-11) 40 commits
@@ -608,7 +681,6 @@ of the repositories listed at
681
We are almost there.
682
683
611
-
684
* jk/pack-objects-optim-mru (2016-08-11) 4 commits
685
(merged to 'next' on 2016-08-11 at c0a7dae)
686
+ pack-objects: use mru list when iterating over packs
@@ -767,7 +839,21 @@ of the repositories listed at
839
would think.
840
841
770
-* pb/bisect (2016-08-12) 13 commits
842
+* pb/bisect (2016-08-23) 27 commits
843
+ . bisect--helper: remove the dequote in bisect_start()
844
+ . bisect--helper: retire `--bisect-auto-next` subcommand
845
+ . bisect--helper: retire `--bisect-autostart` subcommand
846
+ . bisect--helper: retire `--check-and-set-terms` subcommand
847
+ . bisect--helper: retire `--bisect-write` subcommand
848
+ . bisect--helper: `bisect_replay` shell function in C
849
+ . bisect--helper: `bisect_log` shell function in C
850
+ . bisect--helper: retire `--write-terms` subcommand
851
+ . bisect--helper: retire `--check-expected-revs` subcommand
852
+ . bisect--helper: `bisect_state` & `bisect_head` shell function in C
853
+ . bisect--helper: `bisect_autostart` shell function in C
854
+ . bisect--helper: retire `--next-all` subcommand
855
+ . bisect--helper: retire `--bisect-clean-state` subcommand
856
+ . bisect--helper: `bisect_next` and `bisect_auto_next` shell function in C
857
. bisect--helper: `bisect_start` shell function partially in C
858
. bisect--helper: `get_terms` & `bisect_terms` shell function in C
859
. bisect--helper: `bisect_next_check` & bisect_voc shell function in C
@@ -812,7 +898,7 @@ of the repositories listed at
898
with the more generic ref-filter API.
899
900
Rerolled.
815
- This also really needs review.
901
+ Needs review.
902
903
904
* jc/merge-drop-old-syntax (2015-04-29) 1 commit