What's cooking (2013-08 #03)

Junio C Hamano committed Aug 13, 2013 at 15:04 UTC 827bfe870c4042f0b16961428adf6016707a5086
1 file changed +262 -90
whats-cooking.txt
+262 -90
@@ -1,18 +1,21 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2013, #02; Mon, 5)
4 -X-master-at: fb5657082148297b61fbca7e64d51c1e7870309a
5 -X-next-at: bd48715ffb07f749d234547613e0616af41e5079
3 +Subject: What's cooking in git.git (Aug 2013, #03; Tue, 13)
4 +X-master-at: 425df881e08bed7a8fcc9a23f452cff792f9ec6c
5 +X-next-at: 80e72f1fb22b04aabd28f14eb96d1beb23e37b9d
6
7 -What's cooking in git.git (Aug 2013, #02; Mon, 5)
7 +What's cooking in git.git (Aug 2013, #03; Tue, 13)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -The first release candidate v1.8.4-rc1 has been tagged; only
15 -regression fixes and l10n updates from now on.
14 +The -rc3 has been tagged; we will need to revert a7365313 (git
15 +stash: avoid data loss when "git stash save" kills a directory,
16 +2013-06-28) that is killing "git stash" in repositories with too
17 +many untracked cruft and plan to reapply it after trying to whip
18 +"ls-files --killed" into a reasonable performer before the final.
19
20 You can find the changes described here in the integration branches
21 of the repositories listed at
@@ -22,83 +25,162 @@ of the repositories listed at
25 --------------------------------------------------
26 [Graduated to "master"]
27
25 -* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-18) 1 commit
26 - (merged to 'next' on 2013-08-01 at 3ebfe7c)
27 - + cygwin: Remove the Win32 l/stat() implementation
28 -
29 - Cygwin port added a "not quite correct but a lot faster and good
30 - enough for many lstat() calls that are only used to see if the
31 - working tree entity matches the index entry" lstat() emulation some
32 - time ago, and it started biting us in places. This removes it and
33 - uses the standard lstat() that comes with Cygwin.
34 -
35 - Recent topic that uses lstat on packed-refs file is broken when
36 - this cheating lstat is used, and this is a simplest fix that is
37 - also the cleanest direction to go in the long run.
28 +* sb/mailmap-updates (2013-08-12) 1 commit
29 + + .mailmap: update long-lost friends with multiple defunct addresses
30
31 --------------------------------------------------
32 [New Topics]
33
42 -* es/blame-L-more (2013-08-05) 11 commits
43 - - blame: reject empty ranges -L,+0 and -L,-0
44 - - t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
45 - - blame: reject empty ranges -LX,+0 and -LX,-0
46 - - t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
47 - - log: fix -L bounds checking bug
48 - - t4211: retire soon-to-be unimplementable tests
49 - - t4211: log: demonstrate -L bounds checking bug
50 - - blame: fix -L bounds checking bug
51 - - t8001/t8002: blame: add empty file & partial-line tests
52 - - t8001/t8002: blame: demonstrate -L bounds checking bug
53 - - t8001/t8002: blame: decompose overly-large test
34 +* es/blame-L-twice (2013-08-06) 16 commits
35 + (merged to 'next' on 2013-08-08 at 9d6f821)
36 + + line-range: reject -L line numbers less than 1
37 + + t8001/t8002: blame: add tests of -L line numbers less than 1
38 + + line-range: teach -L^:RE to search from start of file
39 + + line-range: teach -L:RE to search from end of previous -L range
40 + + line-range: teach -L^/RE/ to search from start of file
41 + + line-range-format.txt: document -L/RE/ relative search
42 + + log: teach -L/RE/ to search from end of previous -L range
43 + + blame: teach -L/RE/ to search from end of previous -L range
44 + + line-range: teach -L/RE/ to search relative to anchor point
45 + + blame: document multiple -L support
46 + + t8001/t8002: blame: add tests of multiple -L options
47 + + blame: accept multiple -L ranges
48 + + blame: inline one-line function into its lone caller
49 + + range-set: publish API for re-use by git-blame -L
50 + + line-range-format.txt: clarify -L:regex usage form
51 + + git-log.txt: place each -L option variation on its own line
52 + (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)
53 +
54 + Teaches "git blame" to take more than one -L ranges.
55
55 - More fixes to the code to parse the "-L" option in "log" and "blame".
56 + Will cook in 'next'.
57 +
58 +
59 +* mm/no-shell-escape-in-die-message (2013-08-07) 1 commit
60 + (merged to 'next' on 2013-08-08 at bddff86)
61 + + die_with_status: use "printf '%s\n'", not "echo"
62 +
63 + Fixes a minor bug in "git rebase -i" (there could be others, as the
64 + root cause is pretty generic) where the code feeds a random, data
65 + dependeant string to 'echo' and expects it to come out literally.
66 +
67 + Will cook in 'next'.
68 +
69 +
70 +* tr/fd-gotcha-fixes (2013-08-06) 1 commit
71 + (merged to 'next' on 2013-08-08 at f452c5b)
72 + + t0070: test that git_mkstemps correctly checks return value of open()
73 +
74 + Finishing touches to an earlier fix already in 'master'.
75 +
76 + Will cook in 'next'.
77 +
78 +
79 +* ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit
80 + - remote-hg: fix path when cloning with tilde expansion
81
82 Will merge to and cook in 'next'.
83
84
60 -* jk/cat-file-batch-optim (2013-08-05) 1 commit
61 - - cat-file: only split on whitespace when %(rest) is used
85 +* es/rebase-i-no-abbrev (2013-08-11) 3 commits
86 + - rebase: interactive: fix short SHA-1 collision
87 + - t3404: rebase: interactive: demonstrate short SHA-1 collision
88 + - t3404: restore specialized rebase-editor following commentchar test
89
63 - Rework the reverted change to `cat-file --batch-check`.
90 + Will merge to and cook in 'next'.
91 +
92 +
93 +* fc/remote-hg-shared-setup (2013-08-11) 2 commits
94 + - remote-hg: add shared repo upgrade
95 + - remote-hg: ensure shared repo is initialized
96
97 Will merge to and cook in 'next'.
98
99
68 -* jn/post-receive-utf8 (2013-08-05) 3 commits
69 - - hooks/post-receive-email: set declared encoding to utf-8
70 - - hooks/post-receive-email: force log messages in UTF-8
71 - - hooks/post-receive-email: use plumbing instead of git log/show
100 +* jc/transport-do-not-use-connect-twice-in-fetch (2013-08-07) 5 commits
101 + - fetch: work around "transport-take-over" hack
102 + - fetch: refactor code that fetches leftover tags
103 + - fetch: refactor code that prepares a transport
104 + - fetch: rename file-scope global "transport" to "gtransport"
105 + - t5802: add test for connect helper
106
73 - Update post-receive-email script to make sure the message contents
74 - and pathnames are encoded consistently in UTF-8.
107 + The auto-tag-following code in "git fetch" tries to reuse the same
108 + transport twice when the serving end does not cooperate and does
109 + not give tags that point to commits that are asked for as part of
110 + the primary transfer. Unfortunately, Git-aware transport helper
111 + interface is not designed to be used more than once, hence this
112 + does not work over smart-http transfer.
113
76 - I have a feeling that it is a lost cause to solve the issue the
77 - topic tries to address in general, because the patch text can have
78 - payload in any encodings that are different from either the
79 - pathnames or the log message. Patches that touch paths that use an
80 - encoding that conflicts with the encoding of the payload and/or the
81 - log message could be transferred with core.quotepath set and patch
82 - generated as all binary, but that would be pretty much useless.
114 + I'll try to see if this workaround can be done in a cleaner way
115 + before merging this to 'next'.
116
117
85 -* sb/parseopt-boolean-removal (2013-08-05) 9 commits
86 - - revert: use the OPT_CMDMODE for parsing, reducing code
87 - - checkout-index: Fix negations of even numbers of -n
88 - - config parsing options: allow one flag multiple times
89 - - hash-object: Replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
90 - - branch, commit, name-rev: ease up boolean conditions
91 - - checkout: remove superfluous local variable
92 - - log, format-patch: parsing uses OPT__QUIET
93 - - Replace deprecated OPT_BOOLEAN by OPT_BOOL
94 - - Remove deprecated OPTION_BOOLEAN for parsing arguments
95 - (this branch uses jc/parseopt-command-modes.)
118 +* ks/p4-view-spec (2013-08-11) 3 commits
119 + - WAITING FOR ACK
120 + - git p4: implement view spec wildcards with "p4 where"
121 + - git p4 test: sanitize P4CHARSET
122
97 - Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
98 - OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
99 - remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary;
100 - there seems to be some misconversion that makes many tests fail,
101 - though.
123 + Waiting for an ack.
124 +
125 +
126 +* mm/war-on-whatchanged (2013-08-13) 2 commits
127 + - whatchanged: document its historical nature
128 + - core-tutorial: trim the section on Inspecting Changes
129 +
130 + Will merge to and cook in 'next'.
131 +
132 +
133 +* nd/gc-lock-against-each-other (2013-08-09) 1 commit
134 + - gc: reject if another gc is running, unless --force is given
135 +
136 + Will merge to and cook in 'next'.
137 +
138 +
139 +* rt/doc-merge-file-diff3 (2013-08-09) 1 commit
140 + - Documentation/git-merge-file: document option "--diff3"
141 +
142 + Will merge to and cook in 'next'.
143 +
144 +
145 +* sb/misc-cleanup (2013-08-09) 3 commits
146 + - rm: remove unneeded null pointer check
147 + - diff: fix a possible null pointer dereference
148 + - diff: remove ternary operator evaluating always to true
149 +
150 + Will merge to and cook in 'next'.
151 +
152 +
153 +* aj/p4-symlink-lose-nl (2013-08-12) 1 commit
154 + - git-p4: Fix occasional truncation of symlink contents.
155 +
156 + Will merge to and cook in 'next'.
157 +
158 +
159 +* es/contacts-blame-L-multi (2013-08-13) 3 commits
160 + - contacts: reduce git-blame invocations
161 + - contacts: gather all blame sources prior to invoking git-blame
162 + - contacts: validate hunk length earlier
163 + (this branch uses es/blame-L-more and es/blame-L-twice.)
164 +
165 + Will merge to and cook in 'next'.
166 +
167 +
168 +* fc/unpack-trees-leakfix (2013-08-13) 1 commit
169 + - unpack-trees: plug a memory leak
170 +
171 + Will merge to and cook in 'next'.
172 +
173 +
174 +* nd/push-no-thin (2013-08-13) 1 commit
175 + - push: respect --no-thin
176 +
177 + Will merge to and cook in 'next'.
178 +
179 +
180 +* sh/pull-rebase-preserve (2013-08-13) 1 commit
181 + - pull: Allow pull to preserve merges when rebasing.
182 +
183 + Will merge to and cook in 'next'.
184
185 --------------------------------------------------
186 [Stalled]
@@ -208,15 +290,89 @@ of the repositories listed at
290 --------------------------------------------------
291 [Cooking]
292
293 +* es/blame-L-more (2013-08-05) 11 commits
294 + (merged to 'next' on 2013-08-06 at 2679f3e)
295 + + blame: reject empty ranges -L,+0 and -L,-0
296 + + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
297 + + blame: reject empty ranges -LX,+0 and -LX,-0
298 + + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
299 + + log: fix -L bounds checking bug
300 + + t4211: retire soon-to-be unimplementable tests
301 + + t4211: log: demonstrate -L bounds checking bug
302 + + blame: fix -L bounds checking bug
303 + + t8001/t8002: blame: add empty file & partial-line tests
304 + + t8001/t8002: blame: demonstrate -L bounds checking bug
305 + + t8001/t8002: blame: decompose overly-large test
306 + (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)
307 +
308 + More fixes to the code to parse the "-L" option in "log" and "blame".
309 +
310 + Will cook in 'next'.
311 +
312 +
313 +* jk/cat-file-batch-optim (2013-08-05) 1 commit
314 + (merged to 'next' on 2013-08-06 at cd48621)
315 + + cat-file: only split on whitespace when %(rest) is used
316 +
317 + Rework the reverted change to `cat-file --batch-check`.
318 +
319 + Will cook in 'next'.
320 +
321 +
322 +* jn/post-receive-utf8 (2013-08-05) 3 commits
323 + - hooks/post-receive-email: set declared encoding to utf-8
324 + - hooks/post-receive-email: force log messages in UTF-8
325 + - hooks/post-receive-email: use plumbing instead of git log/show
326 +
327 + Update post-receive-email script to make sure the message contents
328 + and pathnames are encoded consistently in UTF-8.
329 +
330 + I have a feeling that it is a lost cause to solve the issue the
331 + topic tries to address in general, because the patch text can have
332 + payload in any encodings that are different from either the
333 + pathnames or the log message. Patches that touch paths that use an
334 + encoding that conflicts with the encoding of the payload and/or the
335 + log message could be transferred with core.quotepath set and patch
336 + generated as all binary, but that would be pretty much useless.
337 +
338 +
339 +* sb/parseopt-boolean-removal (2013-08-07) 9 commits
340 + (merged to 'next' on 2013-08-08 at b138a2d)
341 + + revert: use the OPT_CMDMODE for parsing, reducing code
342 + + checkout-index: fix negations of even numbers of -n
343 + + config parsing options: allow one flag multiple times
344 + + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
345 + + branch, commit, name-rev: ease up boolean conditions
346 + + checkout: remove superfluous local variable
347 + + log, format-patch: parsing uses OPT__QUIET
348 + + Replace deprecated OPT_BOOLEAN by OPT_BOOL
349 + + Remove deprecated OPTION_BOOLEAN for parsing arguments
350 + (this branch uses jc/parseopt-command-modes.)
351 +
352 + Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
353 + OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
354 + remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary;
355 + there seems to be some misconversion that makes many tests fail,
356 + though.
357 +
358 + Will cook in 'next'.
359 +
360 +
361 * mb/docs-favor-en-us (2013-08-01) 1 commit
212 - - Provide some linguistic guidance for the documentation.
362 + (merged to 'next' on 2013-08-06 at 763d868)
363 + + Provide some linguistic guidance for the documentation.
364
214 - Will merge to and cook in 'next'.
365 + Declare that the official grammar & spelling of the source of this
366 + project is en_US, but strongly discourage patches only to "fix"
367 + existing en_UK strings to avoid unnecessary churns.
368 +
369 + Will cook in 'next'.
370
371
372 * jc/parseopt-command-modes (2013-07-30) 2 commits
218 - - tag: use OPT_CMDMODE
219 - - parse-options: add OPT_CMDMODE()
373 + (merged to 'next' on 2013-08-08 at 43abba9)
374 + + tag: use OPT_CMDMODE
375 + + parse-options: add OPT_CMDMODE()
376 (this branch is used by sb/parseopt-boolean-removal.)
377
378 Many commands use --dashed-option as a operation mode selector
@@ -225,10 +381,13 @@ of the repositories listed at
381 negate (e.g. "git tag --no-delete" is a nonsense). Make it easier
382 for users of parse_options() to enforce these restrictions.
383
384 + Will cook in 'next'.
385 +
386
387 * tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits
230 - - log: use true parents for diff when walking reflogs
231 - - log: use true parents for diff even when rewriting
388 + (merged to 'next' on 2013-08-08 at 2fb633f)
389 + + log: use true parents for diff when walking reflogs
390 + + log: use true parents for diff even when rewriting
391
392 Output from "git log --full-diff -- <pathspec>" looked strange,
393 because comparison was done with the previous ancestor that touched
@@ -237,12 +396,18 @@ of the repositories listed at
396
397 Tweak "git reflog -p" for the same reason using the same mechanism.
398
399 + Will cook in 'next'.
400 +
401
402 * bc/unuse-packfile (2013-08-02) 2 commits
242 - - Don't close pack fd when free'ing pack windows
243 - - sha1_file: introduce close_one_pack() to close packs on fd pressure
403 + (merged to 'next' on 2013-08-06 at 01aa4fd)
404 + + Don't close pack fd when free'ing pack windows
405 + + sha1_file: introduce close_one_pack() to close packs on fd pressure
406
245 - Will merge to and cook in 'next'.
407 + Handle memory pressure and file descriptor pressure separately when
408 + deciding to release pack windows to honor resource limits.
409 +
410 + Will cook in 'next'.
411
412
413 * da/darwin (2013-08-05) 3 commits
@@ -266,33 +431,40 @@ of the repositories listed at
431 Will cook in 'next'.
432
433
269 -* jc/url-match (2013-07-31) 6 commits
270 - - config: "git config --get-urlmatch" parses section.<url>.key
271 - - builtin/config: refactor collect_config()
272 - - config: parse http.<url>.<variable> using urlmatch
273 - - config: add generic callback wrapper to parse section.<url>.key
274 - - config: add helper to normalize and match URLs
275 - - http.c: fix parsing of http.sslCertPasswordProtected variable
434 +* jc/url-match (2013-08-09) 7 commits
435 + (merged to 'next' on 2013-08-12 at 381d358)
436 + + builtin/config.c: compilation fix
437 + (merged to 'next' on 2013-08-08 at c1ee470)
438 + + config: "git config --get-urlmatch" parses section.<url>.key
439 + + builtin/config: refactor collect_config()
440 + + config: parse http.<url>.<variable> using urlmatch
441 + + config: add generic callback wrapper to parse section.<url>.key
442 + + config: add helper to normalize and match URLs
443 + + http.c: fix parsing of http.sslCertPasswordProtected variable
444 +
445 + Allow section.<urlpattern>.var configuration variables to be
446 + treated as a "virtual" section.var given a URL, and use the
447 + mechanism to enhance http.* configuration variables.
448
277 - Reroll of km/http-curl-config-per-url topic. Peff raises many good
278 - points about the tests for http.* variables.
449 + This is a reroll of Kyle J. McKay's work.
450
280 - Waiting for the discussion to conclude, hopefully with a replacement test.
451 + Will cook in 'next'.
452
453
283 -* jl/submodule-mv (2013-07-30) 5 commits
284 - - rm: delete .gitmodules entry of submodules removed from the work tree
285 - - mv: update the path entry in .gitmodules for moved submodules
286 - - submodule.c: add .gitmodules staging helper functions
287 - - mv: move submodules using a gitfile
288 - - mv: move submodules together with their work trees
454 +* jl/submodule-mv (2013-08-06) 5 commits
455 + (merged to 'next' on 2013-08-08 at 1a57bdf)
456 + + rm: delete .gitmodules entry of submodules removed from the work tree
457 + + mv: update the path entry in .gitmodules for moved submodules
458 + + submodule.c: add .gitmodules staging helper functions
459 + + mv: move submodules using a gitfile
460 + + mv: move submodules together with their work trees
461 (this branch uses nd/magic-pathspec.)
462
463 "git mv A B" when moving a submodule A does "the right thing",
464 inclusing relocating its working tree and adjusting the paths in
465 the .gitmodules file.
466
295 - Waiting for a reroll.
467 + Will cook in 'next'.
468
469
470 * nd/clone-connectivity-shortcut (2013-07-23) 1 commit