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