What's cooking (2016/07 #03)
Junio C Hamano committed
Jul 8, 2016 at 15:58 UTC
7e8a7f23fe58d11e7812b50fbbad923756e5e29d
1 file changed
+122
-314
whats-cooking.txt
+122
-314
@@ -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, #02; Wed, 6)
3
+Subject: What's cooking in git.git (Jul 2016, #03; Fri, 8)
4
X-master-at: 5c589a73de4394ad125a4effac227b3aec856fa1
5
X-next-at: 281e4d64a61b891e32e0344654b580b4203effa6
6
7
-What's cooking in git.git (Jul 2016, #02; Wed, 6)
7
+What's cooking in git.git (Jul 2016, #03; Fri, 8)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -21,325 +21,100 @@ of the repositories listed at
21
http://git-blame.blogspot.com/p/git-public-repositories.html
22
23
--------------------------------------------------
24
-[Graduated to "master"]
25
-
26
-* ak/t7800-wo-readlink (2016-06-21) 1 commit
27
- (merged to 'next' on 2016-06-28 at 403bbbb)
28
- + t7800: readlink may not be available
29
-
30
- One among four invocations of readlink(1) in our test suite has
31
- been rewritten so that the test can run on systems without the
32
- command (others are in valgrind test framework and t9802).
33
-
34
-
35
-* ao/p4-has-branch-prefix-fix (2016-06-22) 1 commit
36
- (merged to 'next' on 2016-06-28 at 333f90d)
37
- + git-p4: correct hasBranchPrefix verbose output
38
-
39
- A bug, which caused "git p4" while running under verbose mode to
40
- report paths that are omitted due to branch prefix incorrectly, has
41
- been fixed; the command said "Ignoring file outside of prefix" for
42
- paths that are _inside_.
43
-
44
-
45
-* cb/t7810-test-label-fix (2016-06-21) 1 commit
46
- (merged to 'next' on 2016-06-28 at 4d85a00)
47
- + t7810: fix duplicated test title
48
-
49
- Test clean-up.
50
-
51
-
52
-* ep/http-curl-trace (2016-05-24) 2 commits
53
- (merged to 'next' on 2016-06-27 at c290515)
54
- + imap-send.c: introduce the GIT_TRACE_CURL enviroment variable
55
- + http.c: implement the GIT_TRACE_CURL environment variable
56
-
57
- HTTP transport gained an option to produce more detailed debugging
58
- trace.
59
-
60
-
61
-* ew/mboxrd-format-am (2016-06-06) 3 commits
62
- (merged to 'next' on 2016-06-28 at ee0a088)
63
- + am: support --patch-format=mboxrd
64
- + mailsplit: support unescaping mboxrd messages
65
- + pretty: support "mboxrd" output format
66
-
67
- Teach format-patch and mailsplit (hence "am") how a line that
68
- happens to begin with "From " in the e-mail message is quoted with
69
- ">", so that these lines can be restored to their original shape.
70
-
71
-
72
-* jc/t2300-setup (2016-06-22) 1 commit
73
- (merged to 'next' on 2016-06-28 at 62b902a)
74
- + t2300: "git --exec-path" is not usable in $PATH on Windows as-is
75
-
76
- Portability fix for Windows.
77
-
78
-
79
-* jk/add-i-diff-compact-heuristics (2016-06-16) 1 commit
80
- (merged to 'next' on 2016-06-27 at 568f892)
81
- + add--interactive: respect diff.compactionHeuristic
82
-
83
- "git add -i/-p" learned to honor diff.compactionHeuristic
84
- experimental knob, so that the user can work on the same hunk split
85
- as "git diff" output.
86
-
87
-
88
-* jk/bisect-show-tree (2016-06-16) 1 commit
89
- (merged to 'next' on 2016-06-27 at 6970f87e)
90
- + bisect: always call setup_revisions after init_revisions
91
-
92
- "git bisect" makes an internal call to "git diff-tree" when
93
- bisection finds the culprit, but this call did not initialize the
94
- data structure to pass to the diff-tree API correctly.
95
-
96
-
97
-* jk/gpg-interface-cleanup (2016-06-17) 7 commits
98
- (merged to 'next' on 2016-06-28 at eed3498)
99
- + gpg-interface: check gpg signature creation status
100
- + sign_buffer: use pipe_command
101
- + verify_signed_buffer: use pipe_command
102
- + run-command: add pipe_command helper
103
- + verify_signed_buffer: use tempfile object
104
- + verify_signed_buffer: drop pbuf variable
105
- + gpg-interface: use child_process.args
106
-
107
- A new run-command API function pipe_command() is introduced to
108
- sanely feed data to the standard input while capturing data from
109
- the standard output and the standard error of an external process,
110
- which is cumbersome to hand-roll correctly without deadlocking.
111
-
112
- The codepath to sign data in a prepared buffer with GPG has been
113
- updated to use this API to read from the status-fd to check for
114
- errors (instead of relying on GPG's exit status).
115
-
116
-
117
-* jk/parseopt-string-list (2016-06-13) 3 commits
118
- (merged to 'next' on 2016-06-27 at 27462e6)
119
- + blame,shortlog: don't make local option variables static
120
- + interpret-trailers: don't duplicate option strings
121
- + parse_opt_string_list: stop allocating new strings
122
- (this branch is used by jk/string-list-static-init.)
123
-
124
- The command line argument parsing that uses OPT_STRING_LIST() often
125
- made a copy of the argv[] element, which was unnecessary.
126
-
127
-
128
-* jk/repack-keep-unreachable (2016-06-14) 3 commits
129
- (merged to 'next' on 2016-06-28 at 802b849)
130
- + repack: extend --keep-unreachable to loose objects
131
- + repack: add --keep-unreachable option
132
- + repack: document --unpack-unreachable option
133
-
134
- "git repack" learned the "--keep-unreachable" option, which sends
135
- loose unreachable objects to a pack instead of leaving them loose.
136
- This helps heuristics based on the number of loose objects
137
- (e.g. "gc --auto").
138
-
139
-
140
-* jk/send-pack-stdio (2016-06-10) 2 commits
141
- (merged to 'next' on 2016-06-27 at 2cfb0ff)
142
- + write_or_die: remove the unused write_or_whine() function
143
- + send-pack: use buffered I/O to talk to pack-objects
144
-
145
- Code clean-up.
146
-
147
-
148
-* jk/string-list-static-init (2016-06-13) 2 commits
149
- (merged to 'next' on 2016-06-27 at 3d4b2fa)
150
- + use string_list initializer consistently
151
- + Merge branch 'jk/parseopt-string-list' into jk/string-list-static-init
152
- (this branch uses jk/parseopt-string-list.)
153
-
154
- Instead of taking advantage of a struct string_list that is
155
- allocated with all NULs happens to be STRING_LIST_INIT_NODUP kind,
156
- initialize them explicitly as such, to document their behaviour
157
- better.
158
-
159
-
160
-* jk/tzoffset-fix (2016-06-20) 3 commits
161
- (merged to 'next' on 2016-06-28 at 08ec8c5)
162
- + local_tzoffset: detect errors from tm_to_time_t
163
- + t0006: test various date formats
164
- + t0006: rename test-date's "show" to "relative"
165
-
166
- The internal code used to show local timezone offset is not
167
- prepared to handle timestamps beyond year 2100, and gave a
168
- bogus offset value to the caller. Use a more benign looking
169
- +0000 instead and let "git log" going in such a case, instead
170
- of aborting.
171
-
172
-
173
-* jk/upload-pack-hook (2016-06-02) 7 commits
174
- (merged to 'next' on 2016-06-28 at e5e5bb6)
175
- + upload-pack: provide a hook for running pack-objects
176
- + t1308: do not get fooled by symbolic links to the source tree
177
- + config: add a notion of "scope"
178
- + config: return configset value for current_config_ functions
179
- + config: set up config_source for command-line config
180
- + git_config_parse_parameter: refactor cleanup code
181
- + git_config_with_options: drop "found" counting
182
-
183
- "upload-pack" allows a custom "git pack-objects" replacement when
184
- responding to "fetch/clone" via the uploadpack.packObjectsHook.
185
-
186
-
187
-* js/mingw-parameter-less-c-functions (2016-06-20) 1 commit
188
- (merged to 'next' on 2016-06-28 at e673c65)
189
- + mingw: let the build succeed with DEVELOPER=1
190
-
191
- Some platform-specific code had non-ANSI strict declarations of C
192
- functions that do not take any parameters, which has been
193
- corrected.
194
-
195
-
196
-* js/perf-on-apple (2016-06-21) 1 commit
197
- (merged to 'next' on 2016-06-28 at 83529b9)
198
- + perf: accommodate for MacOSX
199
-
200
- t/perf needs /usr/bin/time with GNU extension; the invocation of it
201
- is updated to "gtime" on Darwin.
202
-
203
-
204
-* km/fetch-do-not-free-remote-name (2016-06-14) 1 commit
205
- (merged to 'next' on 2016-06-27 at 4bc34c4)
206
- + builtin/fetch.c: don't free remote->name after fetch
207
-
208
- The ownership rule for the piece of memory that hold references to
209
- be fetched in "git fetch" was screwy, which has been cleaned up.
210
-
211
-
212
-* lc/shell-default-value-noexpand (2016-06-19) 1 commit
213
- (merged to 'next' on 2016-06-28 at 2dc7727)
214
- + sh-setup: enclose setting of ${VAR=default} in double-quotes
215
-
216
- Fix unnecessarily waste in the idiomatic use of ': ${VAR=default}'
217
- to set the default value, without enclosing it in double quotes.
218
-
219
-
220
-* lf/sideband-returns-void (2016-06-16) 2 commits
221
- (merged to 'next' on 2016-06-27 at 558c781)
222
- + upload-pack.c: make send_client_data() return void
223
- + sideband.c: make send_sideband() return void
224
-
225
- A small internal API cleanup.
226
-
227
-
228
-* mg/signature-doc (2016-06-17) 4 commits
229
- (merged to 'next' on 2016-06-28 at 2732a37)
230
- + Documentation/technical: signed merge tag format
231
- + Documentation/technical: signed commit format
232
- + Documentation/technical: signed tag format
233
- + Documentation/technical: describe signature formats
234
-
235
- Formats of the various data (and how to validate them) where we use
236
- GPG signature have been documented.
237
-
238
-
239
-* nd/graph-width-padded (2016-06-16) 2 commits
240
- (merged to 'next' on 2016-06-28 at 0f733ef)
241
- + pretty.c: support <direction>|(<negative number>) forms
242
- + pretty: pass graph width to pretty formatting for use in '%>|(N)'
243
-
244
- "log --graph --format=" learned that "%>|(N)" specifies the width
245
- relative to the terminal's left edge, not relative to the area to
246
- draw text that is to the right of the ancestry-graph section. It
247
- also now accepts negative N that means the column limit is relative
248
- to the right border.
249
-
24
+[New Topics]
25
251
-* nd/test-lib-httpd-show-error-log-in-verbose (2016-06-13) 1 commit
252
- (merged to 'next' on 2016-06-27 at 9793d81)
253
- + lib-httpd.sh: print error.log on error
26
+* rs/help-c-source-with-gitattributes (2016-07-07) 1 commit
27
+ - .gitattributes: set file type for C files
28
255
- HTTPd tests learned to show the server error log to help diagnosing
256
- a failing tests.
29
+ The .c/.h sources are marked as such in our .gitattributes file so
30
+ that "git diff -W" and friends would work better.
31
32
+ Will merge to 'next'.
33
259
-* nd/worktree-cleanup-post-head-protection (2016-05-24) 6 commits
260
- (merged to 'next' on 2016-06-28 at 55414fa)
261
- + worktree: simplify prefixing paths
262
- + worktree: avoid 0{40}, too many zeroes, hard to read
263
- + worktree.c: use is_dot_or_dotdot()
264
- + git-worktree.txt: keep subcommand listing in alphabetical order
265
- + worktree.c: rewrite mark_current_worktree() to avoid strbuf
266
- + completion: support git-worktree
267
- (this branch is used by nd/worktree-lock.)
34
269
- Further preparatory clean-up for "worktree" feature continues.
35
+* rs/notes-merge-no-toctou (2016-07-07) 1 commit
36
+ - notes-merge: use O_EXCL to avoid overwriting existing files
37
38
+ "git notes merge" had a code to see if a path exists (and fails if
39
+ it does) and then open the path for writing (when it doesn't).
40
+ Replace it with open with O_EXCL.
41
272
-* pb/commit-editmsg-path (2016-06-09) 1 commit
273
- (merged to 'next' on 2016-06-27 at 0f01ce1)
274
- + builtin/commit.c: memoize git-path for COMMIT_EDITMSG
42
276
- Code clean-up.
43
+* rw/make-needs-librt (2016-07-07) 1 commit
44
+ - Makefile: add NEEDS_LIBRT to optionally link with librt
45
46
+ Makefile assumed that -lrt is always available on platforms that
47
+ want to use clock_gettime() and CLOCK_MONOTONIC, which is not a
48
+ case for recent Mac OS X. The necessary symbols are often found in
49
+ libc on many modern systems and having -lrt on the command line, as
50
+ long as the library exists, had no effect, but when the platform
51
+ removes librt.a that is a different matter--having -lrt will break
52
+ the linkage.
53
279
-* sb/clone-shallow-passthru (2016-06-20) 1 commit
280
- (merged to 'next' on 2016-06-28 at d515d7d)
281
- + clone: do not let --depth imply --shallow-submodules
282
- (this branch is used by sb/t5614-modernize.)
54
+ This change could be seen as a regression for those who do need to
55
+ specify -lrt, as they now specifically ask for NEEDS_LIBRT when
56
+ building. Hopefully they are in the minority these days.
57
284
- Fix an unintended regression in v2.9 that breaks "clone --depth"
285
- that recurses down to submodules by forcing the submodules to also
286
- be cloned shallowly, which many server instances that host upstream
287
- of the submodules are not prepared for.
58
+ Will merge to 'next'.
59
60
290
-* sb/t5614-modernize (2016-06-21) 1 commit
291
- (merged to 'next' on 2016-06-28 at ee05326)
292
- + t5614: don't use subshells
293
- (this branch uses sb/clone-shallow-passthru.)
61
+* jc/renormalize-merge-kill-safer-crlf (2016-07-08) 2 commits
62
+ - merge: avoid "safer crlf" during recording of merge results
63
+ - convert: unify the "auto" handling of CRLF
64
+ (this branch is tangled with tb/convert-peek-in-index.)
65
295
- Test clean-up.
66
+ "git merge" with renormalization did not work well with
67
+ merge-recursive, due to "safer crlf" conversion kicking in when it
68
+ shouldn't.
69
297
---------------------------------------------------
298
-[New Topics]
70
300
-* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
301
- - t7610: test for mktemp before test execution
71
+* jk/printf-format (2016-07-08) 3 commits
72
+ - commit.c: remove print_commit_list()
73
+ - avoid using sha1_to_hex output as printf format
74
+ - walker: let walker_say take arbitrary formats
75
303
- A test that unconditionally used "mktemp" learned that the command
304
- is not necessarily available everywhere.
76
+ Code clean-up to avoid using a variable string that compilers may
77
+ feel untrustable as printf-style format given to write_file()
78
+ helper function.
79
80
Will merge to 'next'.
81
82
309
-* ew/svn-bad-ref (2016-07-06) 1 commit
310
- - git-svn: warn instead of dying when commit data is missing
311
-
312
- An earlier update to "git svn" tightened the parsing of refs given
313
- as the command line arguments too much. This has been fixed by
314
- loosening the check a bit.
315
-
316
- I'm likely to discard this, favouring a direct pull request from
317
- the subsystem maintainer directly going to 'master'.
83
+* jk/write-file (2016-07-08) 9 commits
84
+ - branch: use write_file_buf instead of write_file
85
+ - use write_file_buf where applicable
86
+ - write_file: add format attribute
87
+ - write_file: add pointer+len variant
88
+ - write_file: use xopen
89
+ - write_file: drop "gently" form
90
+ - branch: use non-gentle write_file for branch description
91
+ - am: ignore return value of write_file()
92
+ - config: fix bogus fd check when setting up default config
93
94
+ General code clean-up around a helper function to write a
95
+ single-liner to a file.
96
320
-* jk/difftool-in-subdir (2016-07-06) 1 commit
321
- - difftool: fix argument handling in subdirs
322
-
323
- "git difftool <paths>..." started in a subdirectory failed to
324
- interpret the paths relative to that directory, which has been
325
- fixed.
326
-
327
- Waiting for an ack.
97
+ Will merge to 'next'.
98
+ While it is textually independent, jk/printf-format needs to be
99
+ merged before this one.
100
101
330
-* nd/test-helpers (2016-07-06) 2 commits
331
- - Makefile: use VCSSVN_LIB to refer to svn library
332
- - Makefile: drop extra dependencies for test helpers
102
+* js/am-call-theirs-theirs-in-fallback-3way (2016-07-08) 1 commit
103
+ - am: counteract gender bias
104
334
- Build clean-up.
105
+ One part of "git am" had an oddball helper function that called
106
+ stuff from outside "his" as opposed to calling what we have "ours",
107
+ which was not gender-neutral and also inconsistent with the rest of
108
+ the system where outside stuff is usuall called "theirs" in
109
+ contrast to "ours".
110
111
Will merge to 'next'.
112
113
--------------------------------------------------
114
[Stalled]
115
341
-* jh/clean-smudge-annex (2016-07-06) 10 commits
342
- - SQUASH???
116
+* jh/clean-smudge-annex (2016-07-08) 9 commits
117
+ - SQUASH??? compilation fix
118
- use smudgeToFile filter in recursive merge
119
- use smudgeToFile filter in git am
120
- better recovery from failure of smudgeToFile filter
@@ -348,23 +123,21 @@ of the repositories listed at
123
- use cleanFromFile in git add
124
- add smudgeToFile and cleanFromFile filter configs
125
- clarify %f documentation
351
- - Merge branch 'tb/convert-peek-in-index' into jh/clean-smudge-annex
352
- (this branch uses tb/convert-peek-in-index.)
126
127
The interface to "clean/smudge" filters require Git to feed the
355
- whole contents via pipe, which is suboptimal for some
356
- applications. "cleanFromFile/smudgeToFile" commands are the moral
357
- equilvalents for these filters but they interact with the files on
358
- the filesystem directly.
128
+ whole contents via pipe, which is suboptimal for some applications.
129
+ "cleanFromFile/smudgeToFile" commands are the moral equilvalents
130
+ for these filters but they interact with the files on the
131
+ filesystem directly.
132
133
361
-* tb/convert-peek-in-index (2016-07-06) 3 commits
362
- - read-cache: factor out get_sha1_from_index() helper
363
- - correct ce_compare_data() in a middle of a merge
134
+* tb/convert-peek-in-index (2016-07-07) 3 commits
135
+ . correct ce_compare_data() in a middle of a merge
136
+ . read-cache: factor out get_sha1_from_index() helper
137
- convert: unify the "auto" handling of CRLF
365
- (this branch is used by jh/clean-smudge-annex.)
138
+ (this branch is tangled with jc/renormalize-merge-kill-safer-crlf.)
139
367
- Needs review.
140
+ Tentatively replaced with jc/renormalize-merge-kill-safer-crlf
141
142
143
* sb/bisect (2016-04-15) 22 commits
@@ -465,6 +238,45 @@ of the repositories listed at
238
--------------------------------------------------
239
[Cooking]
240
241
+* ak/lazy-prereq-mktemp (2016-07-06) 1 commit
242
+ - t7610: test for mktemp before test execution
243
+
244
+ A test that unconditionally used "mktemp" learned that the command
245
+ is not necessarily available everywhere.
246
+
247
+ Will merge to 'next'.
248
+
249
+
250
+* ew/svn-bad-ref (2016-07-06) 1 commit
251
+ - git-svn: warn instead of dying when commit data is missing
252
+
253
+ An earlier update to "git svn" tightened the parsing of refs given
254
+ as the command line arguments too much. This has been fixed by
255
+ loosening the check a bit.
256
+
257
+ I'm likely to discard this, favouring a direct pull request from
258
+ the subsystem maintainer directly going to 'master'.
259
+
260
+
261
+* jk/difftool-in-subdir (2016-07-06) 1 commit
262
+ - difftool: fix argument handling in subdirs
263
+
264
+ "git difftool <paths>..." started in a subdirectory failed to
265
+ interpret the paths relative to that directory, which has been
266
+ fixed.
267
+
268
+ Waiting for an ack.
269
+
270
+
271
+* nd/test-helpers (2016-07-06) 2 commits
272
+ - Makefile: use VCSSVN_LIB to refer to svn library
273
+ - Makefile: drop extra dependencies for test helpers
274
+
275
+ Build clean-up.
276
+
277
+ Will merge to 'next'.
278
+
279
+
280
* dk/blame-move-no-reason-for-1-line-context (2016-05-29) 1 commit
281
(merged to 'next' on 2016-07-06 at 087490c)
282
+ blame: require 0 context lines while finding moved lines with -M
@@ -480,7 +292,7 @@ of the repositories listed at
292
293
Prepare jk/commin-main-2.8 topic to be mergeable to 2.9 and later.
294
483
- Will merge to 'master'.
295
+ Will merge to 'next'.
296
297
298
* jk/common-main-2.8 (2016-07-06) 6 commits
@@ -604,13 +416,13 @@ of the repositories listed at
416
Will merge to 'master'.
417
418
607
-* ls/p4-tmp-refs (2016-06-29) 1 commit
419
+* ls/p4-tmp-refs (2016-07-08) 1 commit
420
- git-p4: place temporary refs used for branch import under refs/git-p4-tmp
421
422
"git p4" used a location outside $GIT_DIR/refs/ to place its
423
temporary branches, which has been moved to refs/git-p4-tmp/.
424
613
- Needs an ack from "git p4" experts.
425
+ Will merge to 'next'.
426
427
428
* jc/pull-rebase-ff (2016-06-29) 1 commit
@@ -652,7 +464,7 @@ of the repositories listed at
464
The test framework learned a new helper test_match_signal to check
465
an exit code from getting killed by an expected signal.
466
655
- Is this what everybody can agree on?
467
+ Will merge to 'next'.
468
469
470
* ah/unpack-trees-advice-messages (2016-06-27) 1 commit
@@ -783,7 +595,7 @@ of the repositories listed at
595
eventually the warning can be turned into a hard error, upgrading
596
the deprecation into removal of this (mis)feature.
597
786
- Will wait for further comments for a bit before merging to 'next'.
598
+ Will merge to 'next'.
599
600
601
* jk/ansi-color (2016-06-23) 7 commits
@@ -894,8 +706,7 @@ of the repositories listed at
706
Error handling in the codepaths that updates refs has been
707
improved.
708
897
- Is everybody happy with this version?
898
- If so, will merge to 'next'.
709
+ Will merge to 'next'.
710
711
712
* js/find-commit-subject-ignore-leading-blanks (2016-06-29) 5 commits
@@ -1087,8 +898,7 @@ of the repositories listed at
898
The API to iterate over all the refs (i.e. for_each_ref(), etc.)
899
has been revamped.
900
1090
- Is everybody happy with this version?
1091
- If so, will merge to 'next'.
901
+ Will merge to 'next'.
902
903
904
* mh/connect (2016-06-06) 10 commits
@@ -1161,10 +971,9 @@ of the repositories listed at
971
Will merge to 'master'.
972
973
1164
-* nd/worktree-lock (2016-07-01) 7 commits
974
+* nd/worktree-lock (2016-07-08) 6 commits
975
- worktree.c: find_worktree() search by path suffix
976
- worktree: add "unlock" command
1167
- - fixup! worktree: add "lock" command
977
- worktree: add "lock" command
978
- worktree.c: add is_worktree_locked()
979
- worktree.c: add is_main_worktree()
@@ -1175,7 +984,7 @@ of the repositories listed at
984
command learned a dedicated command pair to create and remoev such
985
a file, so that the users do not have to do this with editor.
986
1178
- Need to squash one fixup before merging to 'next'.
987
+ Will merge to 'next'.
988
989
990
* sb/submodule-default-paths (2016-06-20) 5 commits
@@ -1290,8 +1099,7 @@ of the repositories listed at
1099
Further preparatory work on the refs API before the pluggable
1100
backend series can land.
1101
1293
- Is everybody happy with this version?
1294
- If so, will merge to 'next'.
1102
+ Will merge to 'next'.
1103
1104
1105
* jc/send-email-skip-backup (2016-04-12) 1 commit