What's cooking (2016/07 #05)

Junio C Hamano committed Jul 13, 2016 at 09:55 UTC 0ed03171cab268cce8537595386e2812472b558f
1 file changed +209 -162
whats-cooking.txt
+209 -162
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2016, #04; Mon, 11)
3 +Subject: What's cooking in git.git (Jul 2016, #05; Wed, 13)
4 X-master-at: b1ec08fda8e0c3ed19b680404770ca4ec313ca8c
5 X-next-at: aa0ab43525ebd305d89ffde30b5d5837a535491c
6
7 -What's cooking in git.git (Jul 2016, #04; Mon, 11)
7 +What's cooking in git.git (Jul 2016, #05; Wed, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,7 +12,10 @@ 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 first maintenance release for 2.9.x series has been issued.
15 +It turns out that v2.9.1 had tests that weren't even meant to pass
16 +on platforms with 32-bit time_t/unsigned long, but did not properly
17 +exclude them. A fix nas been prepared and I expect we'll cut v2.9.2
18 +with only that change relative to v2.9.1 soonish.
19
20 You can find the changes described here in the integration branches
21 of the repositories listed at
@@ -20,139 +23,186 @@ of the repositories listed at
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 --------------------------------------------------
23 -[Graduated to "master"]
24 -
25 -* jc/send-email-skip-backup (2016-04-12) 1 commit
26 - (merged to 'next' on 2016-06-28 at 67dac59)
27 - + send-email: detect and offer to skip backup files
28 -
29 - A careless invocation of "git send-email directory/" after editing
30 - 0001-change.patch with an editor often ends up sending both
31 - 0001-change.patch and its backup file, 0001-change.patch~, causing
32 - embarrassment and a minor confusion. Detect such an input and
33 - offer to skip the backup files when sending the patches out.
34 - Perhaps people will enhance it more once it gains more visibility.
35 -
36 -
37 -* jk/ansi-color (2016-06-23) 7 commits
38 - (merged to 'next' on 2016-06-28 at 354989c)
39 - + color: support strike-through attribute
40 - + color: support "italic" attribute
41 - + color: allow "no-" for negating attributes
42 - + color: refactor parse_attr
43 - + add skip_prefix_mem helper
44 - + doc: refactor description of color format
45 - + color: fix max-size comment
46 -
47 - The output coloring scheme learned two new attributes, italic and
48 - strike, in addition to existing bold, reverse, etc.
49 -
50 -
51 -* jk/perf-any-version (2016-06-22) 2 commits
52 - (merged to 'next' on 2016-06-28 at 6a41c30)
53 - + p4211: explicitly disable renames in no-rename test
54 - + t/perf: fix regression in testing older versions of git
55 -
56 - Allow t/perf framework to use the features from the most recent
57 - version of Git even when testing an older installed version.
58 -
59 -
60 -* jn/preformatted-doc-url (2016-06-22) 1 commit
61 - (merged to 'next' on 2016-06-28 at 60a99eb)
62 - + doc: git-htmldocs.googlecode.com is no more
26 +[New Topics]
27
64 - The top level documentation "git help git" still pointed at the
65 - documentation set hosted at now-defunct google-code repository.
66 - Update it to point to https://git.github.io/htmldocs/git.html
67 - instead.
28 +* js/t0006-for-v2.9.2 (2016-07-12) 1 commit
29 + - t0006: skip "far in the future" test when unsigned long is not long enough
30 +
31 + A test merged to v2.9.1 forgot that the feature it was testing
32 + would not work on a platform with 32-bit time_t/unsigned long and
33 + reported breakage. Skip the tests that cannot run correctly on
34 + such platforms.
35 +
36 + Waiting for an Ack; will fast-track down to 'maint' to cut v2.9.2.
37 +
38 +
39 +* js/am-3-merge-recursive-direct (2016-07-12) 21 commits
40 + - merge-recursive: flush output buffer even when erroring out
41 + - merge_trees(): ensure that the output buffer is released after calling it
42 + - merge-recursive: offer an option to retain the output in 'obuf'
43 + - merge-recursive: write the commit title in one go
44 + - merge-recursive: flush output buffer before printing error messages
45 + - am -3: use merge_recursive() directly again
46 + - merge-recursive: switch to returning errors instead of dying
47 + - merge-recursive: handle return values indicating errors
48 + - merge-recursive: allow write_tree_from_memory() to error out
49 + - merge-recursive: avoid returning a wholesale struct
50 + - merge_recursive: abort properly upon errors
51 + - prepare the builtins for a libified merge_recursive()
52 + - merge-recursive: clarify code in was_tracked()
53 + - die(_("BUG")): avoid translating bug messages
54 + - die("bug"): report bugs consistently
55 + - t5520: verify that `git pull --rebase` shows the advice when failing
56 + - Merge branch 'jh/clean-smudge-annex' into HEAD
57 + - Merge branch 'bc/cocci' into js/am-3-merge-recursive-direct
58 + - Merge branch 'js/am-call-theirs-theirs-in-fallback-3way' into js/am-3-merge-recursive-direct
59 + - Merge branch 'cc/apply-am' into js/am-3-merge-recursive-direct
60 + - Merge branch 'va/i18n-even-more' into js/am-3-merge-recursive-direct
61 + (this branch uses bc/cocci, cc/apply-am, jh/clean-smudge-annex, js/am-call-theirs-theirs-in-fallback-3way and va/i18n-even-more.)
62 +
63 + "git am -3" calls "git merge-recursive" when it needs to fall back
64 + to a three-way merge; this call has been turned into an internal
65 + subroutine call instead of spawning a separate subprocess.
66 +
67 + Will need to wait for all the topics this depends on graduate to 'master'.
68 +
69 +
70 +* ls/travis-enable-httpd-tests (2016-07-12) 1 commit
71 + - travis-ci: enable web server tests t55xx on Linux
72 +
73 + Allow http daemon tests in Travis CI tests.
74 +
75 +
76 +* nd/cache-tree-ita (2016-07-12) 4 commits
77 + - cache-tree: do not generate empty trees as a result of all i-t-a subentries
78 + - cache-tree.c: fix i-t-a entry skipping directory updates sometimes
79 + - test-lib.sh: introduce and use $_EMPTY_BLOB
80 + - test-lib.sh: introduce and use $_EMPTY_TREE
81 +
82 + "git add -N dir/file && git write-tree" produced an incorrect tree
83 + when there are other paths in the same directory that sorts after
84 + "file".
85 +
86 + Looked mostly OK. Further review comments are welcome.
87 +
88 +
89 +* nd/pack-ofs-4gb-limit (2016-07-13) 7 commits
90 + - fsck: use streaming interface for large blobs in pack
91 + - pack-objects: do not truncate result in-pack object size on 32-bit systems
92 + - index-pack: correct "offset" type in unpack_entry_data()
93 + - index-pack: report correct bad object offsets even if they are large
94 + - index-pack: correct "len" type in unpack_data()
95 + - sha1_file.c: use type off_t* for object_info->disk_sizep
96 + - pack-objects: pass length to check_pack_crc() without truncation
97 +
98 + "git pack-objects" and "git index-pack" mostly operate with off_t
99 + when talking about the offset of objects in a packfile, but there
100 + were a handful of places that used "unsigned long" to hold that
101 + value, leading to an unintended truncation.
102
103 + Will merge to 'next'.
104
70 -* js/color-on-windows-comment (2016-06-28) 1 commit
71 - (merged to 'next' on 2016-06-28 at 38a2ea1)
72 - + color.h: remove obsolete comment about limitations on Windows
105
74 - For a long time, we carried an in-code comment that said our
75 - colored output would work only when we use fprintf/fputs on
76 - Windows, which no longer is the case for the past few years.
106 +* sb/push-options (2016-07-12) 5 commits
107 + - add a test for push options
108 + - push: accept push options
109 + - SQUASH???
110 + - receive-pack: implement advertising and receiving push options
111 + - push options: {pre,post}-receive hook learns about push options
112
113 + "git push" learned to accept and pass extra options to the
114 + receiving end so that hooks can read and react to them.
115
79 -* js/find-commit-subject-ignore-leading-blanks (2016-06-29) 5 commits
80 - (merged to 'next' on 2016-06-29 at 9717e00)
81 - + reset --hard: skip blank lines when reporting the commit subject
82 - + sequencer: use skip_blank_lines() to find the commit subject
83 - + commit -C: skip blank lines at the beginning of the message
84 - (merged to 'next' on 2016-06-28 at 32bbd94)
85 - + commit.c: make find_commit_subject() more robust
86 - + pretty: make the skip_blank_lines() function public
116 + Discussion continues, expecting a further reroll.
117 + ($gmane/299156)
118
88 - A helper function that takes the contents of a commit object and
89 - finds its subject line did not ignore leading blank lines, as is
90 - commonly done by other codepaths. Make it ignore leading blank
91 - lines to match.
119
120 +* ew/http-walker (2016-07-12) 3 commits
121 + - http-walker: reduce O(n) ops with doubly-linked list
122 + - http: avoid disconnecting on 404s for loose objects
123 + - http-walker: remove unused parameter from fetch_object
124
94 -* mj/log-show-signature-conf (2016-06-24) 3 commits
95 - (merged to 'next' on 2016-06-28 at c8b3347)
96 - + log: add log.showSignature configuration variable
97 - + log: add "--no-show-signature" command line option
98 - + t4202: refactor test
125 + Optimize dumb http transport on the client side.
126
100 - "git log" learns log.showSignature configuration variable, and a
101 - command line option "--no-show-signature" to countermand it.
127
128 +* nd/log-decorate-color-head-arrow (2016-07-12) 1 commit
129 + - log: decorate HEAD -> branch with the same color for arrow and HEAD
130
104 -* sb/submodule-clone-retry (2016-06-13) 2 commits
105 - (merged to 'next' on 2016-06-28 at 8a86d54)
106 - + submodule update: continue when a clone fails
107 - + submodule--helper: initial clone learns retry logic
131 + An entry "git log --decorate" for the tip of the current branch is
132 + shown as "HEAD -> name" (where "name" is the name of the branch);
133 + paint the arrow in the same color as "HEAD", not in the color for
134 + commits.
135
109 - "git submodule update" that drives many "git clone" could
110 - eventually hit flaky servers/network conditions on one of the
111 - submodules; the command learned to retry the attempt.
136 + Comments? Personally I find it more-or-less "Meh".
137
113 ---------------------------------------------------
114 -[New Topics]
138
116 -* js/ignore-space-at-eol (2016-07-11) 2 commits
117 - - diff: fix a double off-by-one with --ignore-space-at-eol
118 - - diff: demonstrate a bug with --patience and --ignore-space-at-eol
139 +* rs/rm-strbuf-optim (2016-07-12) 1 commit
140 + - rm: reuse strbuf for all remove_dir_recursively() calls
141
120 - An age old bug that caused "git diff --ignore-space-at-eol"
121 - misbehave has been fixed.
142 + The use of strbuf in "git rm" to build filename to remove was a bit
143 + suboptimal, which has been fixed.
144
145 Will merge to 'next'.
146
147
126 -* js/rebase-i-tests (2016-07-07) 3 commits
127 - - rebase -i: we allow extra spaces after fixup!/squash!
128 - - rebase -i: demonstrate a bug with --autosquash
129 - - t3404: add a test for the --gpg-sign option
148 +* rs/worktree-use-strbuf-absolute-path (2016-07-12) 1 commit
149 + - worktree: use strbuf_add_absolute_path() directly
150
131 - A few tests that specifically target "git rebase -i" have been
132 - added.
151 + Code simplification.
152
153 Will merge to 'next'.
154
136 -
155 --------------------------------------------------
156 [Stalled]
157
140 -* jh/clean-smudge-annex (2016-07-08) 9 commits
141 - - SQUASH??? compilation fix
142 - - use smudgeToFile filter in recursive merge
143 - - use smudgeToFile filter in git am
144 - - better recovery from failure of smudgeToFile filter
145 - - warn on unusable smudgeToFile/cleanFromFile config
146 - - use smudgeToFile in git checkout etc
147 - - use cleanFromFile in git add
148 - - add smudgeToFile and cleanFromFile filter configs
149 - - clarify %f documentation
158 +* cc/apply-am (2016-06-28) 41 commits
159 + - apply: use error_errno() where possible
160 + - builtin/am: use apply api in run_apply()
161 + - apply: change error_routine when be_silent is set
162 + - usage: add get_error_routine() and get_warn_routine()
163 + - usage: add set_warn_routine()
164 + - apply: don't print on stdout when be_silent is set
165 + - apply: make 'be_silent' incompatible with 'apply_verbosely'
166 + - apply: add 'be_silent' variable to 'struct apply_state'
167 + - write_or_die: use warning() instead of fprintf(stderr, ...)
168 + - environment: add set_index_file()
169 + - apply: make some parsing functions static again
170 + - apply: move libified code from builtin/apply.c to apply.{c,h}
171 + - apply: rename and move opt constants to apply.h
172 + - builtin/apply: rename option parsing functions
173 + - builtin/apply: make create_one_file() return -1 on error
174 + - builtin/apply: make try_create_file() return -1 on error
175 + - builtin/apply: make write_out_results() return -1 on error
176 + - builtin/apply: make write_out_one_result() return -1 on error
177 + - builtin/apply: make create_file() return -1 on error
178 + - builtin/apply: make add_index_file() return -1 on error
179 + - builtin/apply: make add_conflicted_stages_file() return -1 on error
180 + - builtin/apply: make remove_file() return -1 on error
181 + - builtin/apply: make build_fake_ancestor() return -1 on error
182 + - builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
183 + - builtin/apply: make gitdiff_*() return -1 on error
184 + - builtin/apply: make gitdiff_*() return 1 at end of header
185 + - builtin/apply: make parse_traditional_patch() return -1 on error
186 + - builtin/apply: make apply_all_patches() return 128 or 1 on error
187 + - builtin/apply: move check_apply_state() to apply.c
188 + - builtin/apply: make check_apply_state() return -1 instead of die()ing
189 + - apply: make init_apply_state() return -1 instead of exit()ing
190 + - builtin/apply: move init_apply_state() to apply.c
191 + - builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
192 + - builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
193 + - builtin/apply: make parse_single_patch() return -1 on error
194 + - builtin/apply: make parse_chunk() return a negative integer on error
195 + - builtin/apply: make find_header() return -128 instead of die()ing
196 + - builtin/apply: read_patch_file() return -1 instead of die()ing
197 + - builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
198 + - apply: move 'struct apply_state' to apply.h
199 + - apply: make some names more specific
200 + (this branch is used by jh/clean-smudge-annex and js/am-3-merge-recursive-direct.)
201
151 - The interface to "clean/smudge" filters require Git to feed the
152 - whole contents via pipe, which is suboptimal for some applications.
153 - "cleanFromFile/smudgeToFile" commands are the moral equilvalents
154 - for these filters but they interact with the files on the
155 - filesystem directly.
202 + "git am" has been taught to make an internal call to "git apply"'s
203 + innards without spawning the latter as a separate process.
204 +
205 + Needs review.
206
207
208 * tb/convert-peek-in-index (2016-07-07) 3 commits
@@ -262,7 +312,49 @@ of the repositories listed at
312 --------------------------------------------------
313 [Cooking]
314
265 -* jc/renormalize-merge-kill-safer-crlf (2016-07-08) 2 commits
315 +* jh/clean-smudge-annex (2016-07-12) 9 commits
316 + - use smudgeToFile filter in recursive merge
317 + - use smudgeToFile filter in git am
318 + - better recovery from failure of smudgeToFile filter
319 + - warn on unusable smudgeToFile/cleanFromFile config
320 + - use smudgeToFile in git checkout etc
321 + - use cleanFromFile in git add
322 + - add smudgeToFile and cleanFromFile filter configs
323 + - clarify %f documentation
324 + - Merge branch 'cc/apply-am' into jh/clean-smudge-annex
325 + (this branch is used by js/am-3-merge-recursive-direct; uses cc/apply-am.)
326 +
327 + The interface to "clean/smudge" filters require Git to feed the
328 + whole contents via pipe, which is suboptimal for some applications.
329 + "cleanFromFile/smudgeToFile" commands are the moral equilvalents
330 + for these filters but they interact with the files on the
331 + filesystem directly.
332 +
333 + Will need to wait for all the topics this depends on graduate to 'master'.
334 +
335 +
336 +* js/ignore-space-at-eol (2016-07-11) 2 commits
337 + - diff: fix a double off-by-one with --ignore-space-at-eol
338 + - diff: demonstrate a bug with --patience and --ignore-space-at-eol
339 +
340 + An age old bug that caused "git diff --ignore-space-at-eol"
341 + misbehave has been fixed.
342 +
343 + Will merge to 'next'.
344 +
345 +
346 +* js/rebase-i-tests (2016-07-07) 3 commits
347 + - rebase -i: we allow extra spaces after fixup!/squash!
348 + - rebase -i: demonstrate a bug with --autosquash
349 + - t3404: add a test for the --gpg-sign option
350 +
351 + A few tests that specifically target "git rebase -i" have been
352 + added.
353 +
354 + Will merge to 'next'.
355 +
356 +
357 +* jc/renormalize-merge-kill-safer-crlf (2016-07-12) 2 commits
358 - merge: avoid "safer crlf" during recording of merge results
359 - convert: unify the "auto" handling of CRLF
360 (this branch is tangled with tb/convert-peek-in-index.)
@@ -271,7 +363,7 @@ of the repositories listed at
363 merge-recursive, due to "safer crlf" conversion kicking in when it
364 shouldn't.
365
274 - Waiting for further discussion; hopefully can move this forward.
366 + Will merge to 'next', but extra set of eyes are appreciated.
367
368
369 * rs/help-c-source-with-gitattributes (2016-07-07) 1 commit
@@ -350,6 +442,7 @@ of the repositories listed at
442 * js/am-call-theirs-theirs-in-fallback-3way (2016-07-08) 1 commit
443 (merged to 'next' on 2016-07-11 at abae4bc)
444 + am: counteract gender bias
445 + (this branch is used by js/am-3-merge-recursive-direct.)
446
447 One part of "git am" had an oddball helper function that called
448 stuff from outside "his" as opposed to calling what we have "ours",
@@ -377,7 +470,8 @@ of the repositories listed at
470 interpret the paths relative to that directory, which has been
471 fixed.
472
380 - Waiting for an ack.
473 + Favourably reviewed with some questions and a request for new tests.
474 + ($gmane/299319)
475
476
477 * nd/test-helpers (2016-07-11) 3 commits
@@ -441,55 +535,6 @@ of the repositories listed at
535 Will merge to 'master'.
536
537
444 -* cc/apply-am (2016-06-28) 41 commits
445 - - apply: use error_errno() where possible
446 - - builtin/am: use apply api in run_apply()
447 - - apply: change error_routine when be_silent is set
448 - - usage: add get_error_routine() and get_warn_routine()
449 - - usage: add set_warn_routine()
450 - - apply: don't print on stdout when be_silent is set
451 - - apply: make 'be_silent' incompatible with 'apply_verbosely'
452 - - apply: add 'be_silent' variable to 'struct apply_state'
453 - - write_or_die: use warning() instead of fprintf(stderr, ...)
454 - - environment: add set_index_file()
455 - - apply: make some parsing functions static again
456 - - apply: move libified code from builtin/apply.c to apply.{c,h}
457 - - apply: rename and move opt constants to apply.h
458 - - builtin/apply: rename option parsing functions
459 - - builtin/apply: make create_one_file() return -1 on error
460 - - builtin/apply: make try_create_file() return -1 on error
461 - - builtin/apply: make write_out_results() return -1 on error
462 - - builtin/apply: make write_out_one_result() return -1 on error
463 - - builtin/apply: make create_file() return -1 on error
464 - - builtin/apply: make add_index_file() return -1 on error
465 - - builtin/apply: make add_conflicted_stages_file() return -1 on error
466 - - builtin/apply: make remove_file() return -1 on error
467 - - builtin/apply: make build_fake_ancestor() return -1 on error
468 - - builtin/apply: change die_on_unsafe_path() to check_unsafe_path()
469 - - builtin/apply: make gitdiff_*() return -1 on error
470 - - builtin/apply: make gitdiff_*() return 1 at end of header
471 - - builtin/apply: make parse_traditional_patch() return -1 on error
472 - - builtin/apply: make apply_all_patches() return 128 or 1 on error
473 - - builtin/apply: move check_apply_state() to apply.c
474 - - builtin/apply: make check_apply_state() return -1 instead of die()ing
475 - - apply: make init_apply_state() return -1 instead of exit()ing
476 - - builtin/apply: move init_apply_state() to apply.c
477 - - builtin/apply: make parse_ignorewhitespace_option() return -1 instead of die()ing
478 - - builtin/apply: make parse_whitespace_option() return -1 instead of die()ing
479 - - builtin/apply: make parse_single_patch() return -1 on error
480 - - builtin/apply: make parse_chunk() return a negative integer on error
481 - - builtin/apply: make find_header() return -128 instead of die()ing
482 - - builtin/apply: read_patch_file() return -1 instead of die()ing
483 - - builtin/apply: make apply_patch() return -1 or -128 instead of die()ing
484 - - apply: move 'struct apply_state' to apply.h
485 - - apply: make some names more specific
486 -
487 - "git am" has been taught to make an internal call to "git apply"'s
488 - innards without spawning the latter as a separate process.
489 -
490 - Needs review.
491 -
492 -
538 * dp/autoconf-curl-ssl (2016-06-28) 1 commit
539 - ./configure.ac: detect SSL in libcurl using curl-config
540
@@ -810,11 +855,12 @@ of the repositories listed at
855 + coccinelle: convert hashcpy() with null_sha1 to hashclr()
856 + contrib/coccinelle: add basic Coccinelle transforms
857 + hex: add oid_to_hex_r()
858 + (this branch is used by js/am-3-merge-recursive-direct.)
859
860 Conversion from unsigned char sha1[20] to struct object_id
861 continues.
862
817 - Will cook a bit in 'next' and then merge to 'master'.
863 + Will merge to 'master'.
864
865
866 * jk/big-and-future-archive-tar (2016-07-01) 5 commits
@@ -996,6 +1042,7 @@ of the repositories listed at
1042 + i18n: advice: mark string about detached head for translation
1043 + i18n: builtin/remote.c: fix mark for translation
1044 + Merge branch 'jc/t2300-setup' into HEAD
1045 + (this branch is used by js/am-3-merge-recursive-direct.)
1046
1047 More markings of messages for i18n, with updates to various tests
1048 to pass GETTEXT_POISON tests.
@@ -1065,7 +1112,7 @@ of the repositories listed at
1112 back-burner the threading enhancement to another day.
1113
1114
1068 -* pb/bisect (2016-07-11) 9 commits
1115 +* pb/bisect (2016-07-12) 9 commits
1116 - bisect--helper: `bisect_write` shell function in C
1117 - bisect--helper: `is_expected_rev` & `check_expected_revs` shell function in C
1118 - bisect--helper: `bisect_reset` shell function in C