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