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