What's cooking (2017/07 #05)
Junio C Hamano committed
Jul 18, 2017 at 14:39 UTC
d8d150ead11bcbe1cc1588a974a333d27500505a
1 file changed
+203
-163
whats-cooking.txt
+203
-163
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Jul 2017, #04; Thu, 13)
4
-X-master-at: f3da2b79be9565779e4f76dc5812c68e156afdf0
5
-X-next-at: d933b75aa4527621ff2f4d20b22127619c6d28ba
3
+Subject: What's cooking in git.git (Jul 2017, #05; Tue, 18)
4
+X-master-at: cac25fc330fc26050dcbc92c4bfff169a4848e93
5
+X-next-at: a5a5890e50e4d3c12611adc886e44b2c07a74a76
6
7
-What's cooking in git.git (Jul 2017, #04; Thu, 13)
7
+What's cooking in git.git (Jul 2017, #05; Tue, 18)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -25,164 +25,190 @@ of the repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
28
-* ab/grep-lose-opt-regflags (2017-06-30) 6 commits
29
- (merged to 'next' on 2017-07-05 at 375c0b92ea)
30
- + grep: remove redundant REG_NEWLINE when compiling fixed regex
31
- + grep: remove regflags from the public grep_opt API
32
- + grep: remove redundant and verbose re-assignments to 0
33
- + grep: remove redundant "fixed" field re-assignment to 0
34
- + grep: adjust a redundant grep pattern type assignment
35
- + grep: remove redundant double assignment to 0
28
+* jk/gc-pre-detach-under-hook (2017-07-12) 1 commit
29
+ (merged to 'next' on 2017-07-12 at 9cf44c2b07)
30
+ + gc: run pre-detach operations under lock
31
37
- Code cleanup.
32
+ We run an early part of "git gc" that deals with refs before
33
+ daemonising (and not under lock) even when running a background
34
+ auto-gc, which caused multiple gc processes attempting to run the
35
+ early part at the same time. This is now prevented by running the
36
+ early part also under the GC lock.
37
38
40
-* jk/build-with-asan (2017-07-10) 5 commits
41
- (merged to 'next' on 2017-07-10 at 49757e1119)
42
- + Makefile: disable unaligned loads with UBSan
43
- + Makefile: turn off -fomit-frame-pointer with sanitizers
44
- + Makefile: add helper for compiling with -fsanitize
45
- + test-lib: turn on ASan abort_on_error by default
46
- + test-lib: set ASAN_OPTIONS variable before we run git
39
+* jn/hooks-pre-rebase-sample-fix (2017-07-11) 1 commit
40
+ (merged to 'next' on 2017-07-12 at ed86887454)
41
+ + pre-rebase hook: capture documentation in a <<here document
42
48
- The build procedure has been improved to allow building and testing
49
- Git with address sanitizer more easily.
43
+ Code clean-up, that makes us in sync with Debian by one patch.
44
45
52
-* kn/ref-filter-branch-list (2017-07-10) 4 commits
53
- (merged to 'next' on 2017-07-10 at 35fd25c0dd)
54
- + ref-filter.c: drop return from void function
55
- + branch: set remote color in ref-filter branch immediately
56
- + branch: use BRANCH_COLOR_LOCAL in ref-filter format
57
- + branch: only perform HEAD check for local branches
46
+* rs/progress-overall-throughput-at-the-end (2017-07-09) 1 commit
47
+ (merged to 'next' on 2017-07-11 at f5168e975b)
48
+ + progress: show overall rate in last update
49
59
- The rewrite of "git branch --list" using for-each-ref's internals
60
- that happened in v2.13 regressed its handling of color.branch.local;
61
- this has been fixed.
50
+ The progress meter did not give a useful output when we haven't had
51
+ 0.5 seconds to measure the throughput during the interval. Instead
52
+ show the overall throughput rate at the end, which is a much more
53
+ useful number.
54
55
64
-* ks/fix-rebase-doc-picture (2017-07-10) 1 commit
65
- (merged to 'next' on 2017-07-10 at 3acb856b17)
66
- + doc: correct a mistake in an illustration
56
+* tb/push-to-cygwin-unc-path (2017-07-05) 1 commit
57
+ (merged to 'next' on 2017-07-11 at 4d9c3f82bd)
58
+ + cygwin: allow pushing to UNC paths
59
68
- Doc update.
60
+ On Cygwin, similar to Windows, "git push //server/share/repository"
61
+ ought to mean a repository on a network share that can be accessed
62
+ locally, but this did not work correctly due to stripping the double
63
+ slashes at the beginning.
64
65
+ This may need to be heavily tested before it gets unleashed to the
66
+ wild, as the change is at a fairly low-level code and would affect
67
+ not just the code to decide if the push destination is local. There
68
+ may be unexpected fallouts in the path normalization.
69
71
-* rs/apply-avoid-over-reading (2017-07-09) 1 commit
72
- (merged to 'next' on 2017-07-10 at 2d8191ec3f)
73
- + apply: use strcmp(3) for comparing strings in gitdiff_verify_name()
70
+--------------------------------------------------
71
+[New Topics]
72
75
- Code cleanup.
73
+* jk/c99 (2017-07-18) 2 commits
74
+ (merged to 'next' on 2017-07-18 at 1cfc30f7c1)
75
+ + clean.c: use designated initializer
76
+ + strbuf: use designated initializers in STRBUF_INIT
77
78
+ Start using selected c99 constructs in small, stable and
79
+ essentialpart of the system to catch people who care about
80
+ older compilers that do not grok them.
81
78
-* rs/urlmatch-cleanup (2017-07-09) 1 commit
79
- (merged to 'next' on 2017-07-10 at 2dd3e7cab0)
80
- + urlmatch: use hex2chr() in append_normalized_escapes()
82
+ Will cook in 'next'.
83
82
- Code cleanup.
84
85
+* jk/check-ref-format-oor-fix (2017-07-14) 1 commit
86
+ - check-ref-format: require a repository for --branch
87
85
-* rs/use-div-round-up (2017-07-10) 1 commit
86
- (merged to 'next' on 2017-07-10 at accb7919da)
87
- + use DIV_ROUND_UP
88
+ Objected...
89
+ cf. <20170717172709.GL93855@aiede.mtv.corp.google.com>
90
89
- Code cleanup.
91
92
+* bw/grep-recurse-submodules (2017-07-18) 10 commits
93
+ - grep: recurse in-process using 'struct repository'
94
+ - submodule: merge repo_read_gitmodules and gitmodules_config
95
+ - submodule: check for unmerged .gitmodules outside of config parsing
96
+ - submodule: check for unstaged .gitmodules outside of config parsing
97
+ - submodule: remove fetch.recursesubmodules from submodule-config parsing
98
+ - submodule: remove submodule.fetchjobs from submodule-config parsing
99
+ - config: add config_from_gitmodules
100
+ - cache.h: add GITMODULES_FILE macro
101
+ - repository: have the_repository use the_index
102
+ - repo_read_index: don't discard the index
103
92
-* rs/wt-status-cleanup (2017-07-10) 1 commit
93
- (merged to 'next' on 2017-07-10 at d8939f683a)
94
- + wt-status: use separate variable for result of shorten_unambiguous_ref
104
96
- Code cleanup.
105
+* bw/object-id (2017-07-17) 3 commits
106
+ (merged to 'next' on 2017-07-18 at 90d27c0e7c)
107
+ + receive-pack: don't access hash of NULL object_id pointer
108
+ + notes: don't access hash of NULL object_id pointer
109
+ + tree-diff: don't access hash of NULL object_id pointer
110
+
111
+ Conversion from uchar[20] to struct object_id continues.
112
113
+ Will merge to 'master'.
114
99
-* sb/hashmap-customize-comparison (2017-06-30) 3 commits
100
- (merged to 'next' on 2017-07-06 at cc420805f3)
101
- + hashmap: migrate documentation from Documentation/technical into header
102
- + patch-ids.c: use hashmap correctly
103
- + hashmap.h: compare function has access to a data field
104
- (this branch is used by sb/diff-color-move and sb/hashmap-cleanup.)
115
106
- Update the hashmap API so that data to customize the behaviour of
107
- the comparison function can be specified at the time a hashmap is
108
- initialized.
116
+* ew/fd-cloexec-fix (2017-07-17) 1 commit
117
+ (merged to 'next' on 2017-07-18 at a3de1b1998)
118
+ + set FD_CLOEXEC properly when O_CLOEXEC is not supported
119
120
+ Portability/fallback fix.
121
111
-* sb/pull-rebase-submodule (2017-06-27) 4 commits
112
- (merged to 'next' on 2017-07-09 at 48d2c3a51c)
113
- + builtin/fetch cleanup: always set default value for submodule recursing
114
- + pull: optionally rebase submodules (remote submodule changes only)
115
- + builtin/fetch: parse recurse-submodules-default at default options parsing
116
- + builtin/fetch: factor submodule recurse parsing out to submodule config
122
+ Will merge to 'master'.
123
118
- "git pull --rebase --recurse-submodules" learns to rebase the
119
- branch in the submodules to an updated base.
124
125
+* jk/build-with-asan (2017-07-17) 1 commit
126
+ (merged to 'next' on 2017-07-18 at f92636c616)
127
+ + Makefile: allow combining UBSan with other sanitizers
128
122
-* sb/submodule-doc (2017-06-22) 1 commit
123
- (merged to 'next' on 2017-07-09 at fda0ceec31)
124
- + submodules: overhaul documentation
129
+ A recent update made it easier to use "-fsanitize=" option while
130
+ compiling but supported only one sanitize option. Allow more than
131
+ one to be combined, joined with a comma, like "make SANITIZE=foo,bar".
132
126
- Doc update.
133
+ Will merge to 'master'.
134
128
---------------------------------------------------
129
-[New Topics]
135
131
-* jn/hooks-pre-rebase-sample-fix (2017-07-11) 1 commit
132
- (merged to 'next' on 2017-07-12 at ed86887454)
133
- + pre-rebase hook: capture documentation in a <<here document
136
+* jk/test-copy-bytes-fix (2017-07-17) 1 commit
137
+ (merged to 'next' on 2017-07-18 at c32c264e96)
138
+ + t: handle EOF in test_copy_bytes()
139
135
- Code clean-up, that makes us in sync with Debian by one patch.
140
+ A test fix.
141
142
Will merge to 'master'.
143
144
140
-* jk/gc-pre-detach-under-hook (2017-07-12) 1 commit
141
- (merged to 'next' on 2017-07-12 at 9cf44c2b07)
142
- + gc: run pre-detach operations under lock
145
+* js/alias-case-sensitivity (2017-07-17) 2 commits
146
+ (merged to 'next' on 2017-07-18 at 31641a39f2)
147
+ + alias: compare alias name *case-insensitively*
148
+ + t1300: demonstrate that CamelCased aliases regressed
149
144
- We run an early part of "git gc" that deals with refs before
145
- daemonising (and not under lock) even when running a background
146
- auto-gc, which caused multiple gc processes attempting to run the
147
- early part at the same time. This is now prevented by running the
148
- early part also under the GC lock.
150
+ A recent update broke an alias that contained an uppercase letter.
151
152
Will merge to 'master'.
153
154
153
-* jk/ref-filter-colors (2017-07-13) 15 commits
154
- - ref-filter: consult want_color() before emitting colors
155
- - pretty: respect color settings for %C placeholders
156
- - rev-list: pass diffopt->use_colors through to pretty-print
157
- - for-each-ref: load config earlier
158
- - color: check color.ui in git_default_config()
159
- - ref-filter: pass ref_format struct to atom parsers
160
- - ref-filter: factor out the parsing of sorting atoms
161
- - ref-filter: make parse_ref_filter_atom a private function
162
- - ref-filter: provide a function for parsing sort options
163
- - ref-filter: move need_color_reset_at_eol into ref_format
164
- - ref-filter: abstract ref format into its own struct
165
- - ref-filter: simplify automatic color reset
166
- - t: use test_decode_color rather than literal ANSI codes
167
- - docs/for-each-ref: update pointer to color syntax
168
- - check return value of verify_ref_format()
155
+* ks/commit-abort-on-empty-message-fix (2017-07-17) 1 commit
156
+ - commit: check for empty message before the check for untouched template
157
170
- "%C(color name)" in the pretty print format always produced ANSI
171
- color escape codes, which was an early design mistake. They now
172
- honor the configuration (e.g. "color.ui = never") and also tty-ness
173
- of the output medium.
158
+ "git commit" when seeing an totally empty message said "you did not
159
+ edit the message", which is clearly wrong. The message has been
160
+ corrected.
161
175
- Will merge to and cook in 'next'.
162
+ Will merge to 'next'.
163
164
178
-* sb/object-id (2017-07-13) 2 commits
179
- - tag: convert gpg_verify_tag to use struct object_id
180
- - commit: convert lookup_commit_graft to struct object_id
165
+* ks/doc-fixes (2017-07-17) 1 commit
166
+ - doc: camelCase the i18n config variables to improve readability
167
+
168
+ Will merge to 'next'.
169
+
170
+
171
+* rs/bswap-ubsan-fix (2017-07-17) 2 commits
172
+ - bswap: convert get_be16, get_be32 and put_be32 to inline functions
173
+ - bswap: convert to unsigned before shifting in get_be32
174
+
175
+ Will merge to 'next'.
176
+
177
+
178
+* rs/move-array (2017-07-17) 4 commits
179
+ - ls-files: don't try to prune an empty index
180
+ - apply: use COPY_ARRAY and MOVE_ARRAY in update_image()
181
+ - use MOVE_ARRAY
182
+ - add MOVE_ARRAY
183
+
184
+ Will merge to 'next'.
185
+
186
+
187
+* rs/stat-data-unaligned-reads-fix (2017-07-17) 1 commit
188
+ - dir: support platforms that require aligned reads
189
+
190
+ Will merge to 'next'.
191
182
- Conversion from uchar[20] to struct object_id continues.
192
+
193
+* wd/rebase-conflict-guide (2017-07-17) 1 commit
194
+ - rebase: make resolve message clearer for inexperienced users
195
196
Will merge to 'next'.
197
198
+
199
+* hb/gitweb-project-list (2017-07-18) 1 commit
200
+ - gitweb: skip unreadable subdirectories
201
+
202
+ When a directory is not readable, "gitweb" fails to build the
203
+ project list. Work this around by skipping such a directory.
204
+
205
+ Undecided.
206
+
207
+ It might end up hiding a problem under the rug and a better
208
+ solution might be to loudly complain to the administrator pointing
209
+ out the problematic directory, but this will at least make it
210
+ "work".
211
+
212
--------------------------------------------------
213
[Stalled]
214
@@ -249,14 +275,39 @@ of the repositories listed at
275
--------------------------------------------------
276
[Cooking]
277
252
-* rs/progress-overall-throughput-at-the-end (2017-07-09) 1 commit
253
- (merged to 'next' on 2017-07-11 at f5168e975b)
254
- + progress: show overall rate in last update
278
+* jk/ref-filter-colors (2017-07-13) 15 commits
279
+ (merged to 'next' on 2017-07-18 at 75d4eb7ecf)
280
+ + ref-filter: consult want_color() before emitting colors
281
+ + pretty: respect color settings for %C placeholders
282
+ + rev-list: pass diffopt->use_colors through to pretty-print
283
+ + for-each-ref: load config earlier
284
+ + color: check color.ui in git_default_config()
285
+ + ref-filter: pass ref_format struct to atom parsers
286
+ + ref-filter: factor out the parsing of sorting atoms
287
+ + ref-filter: make parse_ref_filter_atom a private function
288
+ + ref-filter: provide a function for parsing sort options
289
+ + ref-filter: move need_color_reset_at_eol into ref_format
290
+ + ref-filter: abstract ref format into its own struct
291
+ + ref-filter: simplify automatic color reset
292
+ + t: use test_decode_color rather than literal ANSI codes
293
+ + docs/for-each-ref: update pointer to color syntax
294
+ + check return value of verify_ref_format()
295
256
- The progress meter did not give a useful output when we haven't had
257
- 0.5 seconds to measure the throughput during the interval. Instead
258
- show the overall throughput rate at the end, which is a much more
259
- useful number.
296
+ "%C(color name)" in the pretty print format always produced ANSI
297
+ color escape codes, which was an early design mistake. They now
298
+ honor the configuration (e.g. "color.ui = never") and also tty-ness
299
+ of the output medium.
300
+
301
+ Will cook in 'next'.
302
+
303
+
304
+* sb/object-id (2017-07-13) 2 commits
305
+ (merged to 'next' on 2017-07-18 at e4df0ba3b1)
306
+ + tag: convert gpg_verify_tag to use struct object_id
307
+ + commit: convert lookup_commit_graft to struct object_id
308
+ (this branch is used by bc/object-id.)
309
+
310
+ Conversion from uchar[20] to struct object_id continues.
311
312
Will merge to 'master'.
313
@@ -272,15 +323,18 @@ of the repositories listed at
323
324
325
* ks/prepare-commit-msg-sample (2017-07-12) 4 commits
275
- - hook: add a simple first example
276
- - hook: add sign-off using "interpret-trailers"
277
- - hook: name the positional variables
278
- - hook: cleanup script
326
+ (merged to 'next' on 2017-07-18 at 48d9650a30)
327
+ + hook: add a simple first example
328
+ + hook: add sign-off using "interpret-trailers"
329
+ + hook: name the positional variables
330
+ + hook: cleanup script
331
332
Remove an example that is now obsolete from a sample hook,
333
and improve an old example in it that added a sign-off manually
334
to use the interpret-trailers command.
335
336
+ Will cook in 'next'.
337
+
338
339
* jc/allow-lazy-cas (2017-07-06) 1 commit
340
- push: disable lazy --force-with-lease by default
@@ -300,24 +354,25 @@ of the repositories listed at
354
cf. <alpine.DEB.2.21.1.1707131435220.4193@virtualbox>
355
356
303
-* bc/object-id (2017-07-04) 12 commits
304
- - sha1_name: convert GET_SHA1* flags to GET_OID*
305
- - sha1_name: convert get_sha1* to get_oid*
306
- - Convert remaining callers of get_sha1 to get_oid.
307
- - builtin/verify-tag: convert to struct object_id
308
- - builtin/unpack-file: convert to struct object_id
309
- - bisect: convert bisect_checkout to struct object_id
310
- - builtin/update_ref: convert to struct object_id
311
- - sequencer: convert to struct object_id
312
- - remote: convert struct push_cas to struct object_id
313
- - submodule: convert submodule config lookup to use object_id
314
- - builtin/merge-tree: convert remaining caller of get_sha1 to object_id
315
- - builtin/fsck: convert remaining caller of get_sha1 to object_id
357
+* bc/object-id (2017-07-17) 12 commits
358
+ (merged to 'next' on 2017-07-18 at fd161056e4)
359
+ + sha1_name: convert uses of 40 to GIT_SHA1_HEXSZ
360
+ + sha1_name: convert GET_SHA1* flags to GET_OID*
361
+ + sha1_name: convert get_sha1* to get_oid*
362
+ + Convert remaining callers of get_sha1 to get_oid.
363
+ + builtin/unpack-file: convert to struct object_id
364
+ + bisect: convert bisect_checkout to struct object_id
365
+ + builtin/update_ref: convert to struct object_id
366
+ + sequencer: convert to struct object_id
367
+ + remote: convert struct push_cas to struct object_id
368
+ + submodule: convert submodule config lookup to use object_id
369
+ + builtin/merge-tree: convert remaining caller of get_sha1 to object_id
370
+ + builtin/fsck: convert remaining caller of get_sha1 to object_id
371
+ (this branch uses sb/object-id.)
372
373
Conversion from uchar[20] to struct object_id continues.
374
319
- Expecting a reroll.
320
- cf. <20170707212201.ofdgjaips2tw3koy@genre.crustytoothpaste.net>
375
+ Will merge to 'master'.
376
377
378
* jk/reflog-walk (2017-07-09) 9 commits
@@ -361,32 +416,16 @@ of the repositories listed at
416
Will cook in 'next'.
417
418
364
-* tb/push-to-cygwin-unc-path (2017-07-05) 1 commit
365
- (merged to 'next' on 2017-07-11 at 4d9c3f82bd)
366
- + cygwin: allow pushing to UNC paths
367
-
368
- On Cygwin, similar to Windows, "git push //server/share/repository"
369
- ought to mean a repository on a network share that can be accessed
370
- locally, but this did not work correctly due to stripping the double
371
- slashes at the beginning.
372
-
373
- This may need to be heavily tested before it gets unleashed to the
374
- wild, as the change is at a fairly low-level code and would affect
375
- not just the code to decide if the push destination is local. There
376
- may be unexpected fallouts in the path normalization.
377
-
378
- Will merge to 'master'.
379
-
380
-
419
* mt/p4-parse-G-output (2017-07-13) 3 commits
382
- - git-p4: filter for {'code':'info'} in p4CmdList
383
- - git-p4: parse marshal output "p4 -G" in p4 changes
384
- - git-p4: git-p4 tests with p4 triggers
420
+ (merged to 'next' on 2017-07-18 at e065b689d4)
421
+ + git-p4: filter for {'code':'info'} in p4CmdList
422
+ + git-p4: parse marshal output "p4 -G" in p4 changes
423
+ + git-p4: git-p4 tests with p4 triggers
424
425
Use "p4 -G" to make "p4 changes" output more Python-friendly
426
to parse.
427
389
- Wait to see Travis is OK with this and merge to 'next'
428
+ Will merge to 'master'.
429
430
431
* ex/deprecate-empty-pathspec-as-match-all (2017-06-23) 2 commits
@@ -444,19 +483,20 @@ of the repositories listed at
483
484
485
* sd/branch-copy (2017-06-18) 3 commits
447
- - branch: add a --copy (-c) option to go with --move (-m)
448
- - branch: add test for -m renaming multiple config sections
449
- - config: create a function to format section headers
486
+ (merged to 'next' on 2017-07-18 at 5e3b9357ea)
487
+ + branch: add a --copy (-c) option to go with --move (-m)
488
+ + branch: add test for -m renaming multiple config sections
489
+ + config: create a function to format section headers
490
491
"git branch" learned "-c/-C" to create and switch to a new branch
492
by copying an existing one.
493
454
- Undecided.
494
+ Will cook in 'next'.
495
496
I personally do not think "branch --copy master backup" while on
497
"master" that switches to "backup" is a good UI, and I *will* say
498
"I told you so" when users complain after we merge this down to
459
- 'next' and eventually to 'master'.
499
+ 'master'.
500
501
502
* ls/filter-process-delayed (2017-06-30) 7 commits