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