What's cooking (2012/10 #05)
Junio C Hamano committed
Oct 16, 2012 at 13:40 UTC
7d3989f2194d2bf7584b871cd0af00d1e0c9bed6
1 file changed
+208
-133
whats-cooking.txt
+208
-133
@@ -1,17 +1,18 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Oct 2012, #04; Thu, 11)
4
-X-master-at: cd46259ebf2e624bcee2aaae05c36663d414e1a2
5
-X-next-at: 639036db058fbb54865ae729c26c689777a96550
3
+Subject: What's cooking in git.git (Oct 2012, #05; Tue, 16)
4
+X-master-at: 4a182f6174e1b958777ba6fbc6262e5457151049
5
+X-next-at: 8a75ac8ee22538d824252e6f2aa1c01a120ced77
6
7
-What's cooking in git.git (Oct 2012, #04; Thu, 11)
7
+What's cooking in git.git (Oct 2012, #05; Tue, 16)
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 tip of 'master' is 1.8.0-rc2.
14
+We are almost there for 1.8.0-rc3. The final is expected to be
15
+tagged this weekend.
16
17
I'm planning to keep this cycle reasonably short and aim for tagging
18
the result as 1.8.0 at the end of 9th week, on October 21st, after
@@ -24,103 +25,113 @@ repositories listed at
25
http://git-blame.blogspot.com/p/git-public-repositories.html
26
27
--------------------------------------------------
27
-[New Topics]
28
+[Graduated to "master"]
29
29
-* js/format-2047 (2012-10-09) 5 commits
30
- - format-patch: tests: check rfc822+rfc2047 in to+cc headers
31
- - format-patch: fix rfc2047 address encoding with respect to rfc822 specials
32
- - format-patch: introduce helper function last_line_length()
33
- - format-patch: do not wrap rfc2047 encoded headers too late
34
- - format-patch: do not wrap non-rfc2047 headers too early
30
+* jk/maint-http-half-auth-push (2012-10-12) 1 commit
31
+ (merged to 'next' on 2012-10-12 at 838ab48)
32
+ + http: fix segfault in handle_curl_result
33
+ (this branch is used by jk/maint-http-init-not-in-result-handler.)
34
36
- Fixes many rfc2047 quoting issues in the output from format-patch.
35
+ Fixes a regression in maint-1.7.11 (v1.7.11.7), maint (v1.7.12.1)
36
+ and master (v1.8.0-rc0).
37
38
+--------------------------------------------------
39
+[New Topics]
40
39
-* km/send-email-compose-encoding (2012-10-10) 1 commit
40
- (merged to 'next' on 2012-10-11 at d94bd05)
41
- + git-send-email: introduce compose-encoding
41
+* jk/maint-http-init-not-in-result-handler (2012-10-12) 2 commits
42
+ (merged to 'next' on 2012-10-16 at cc88829)
43
+ + http: do not set up curl auth after a 401
44
+ + remote-curl: do not call run_slot repeatedly
45
43
- "git send-email --compose" can let the user create a non-ascii
44
- cover letter message, but there was not a way to mark it with
45
- appropriate content type before sending it out.
46
+ Further clean-up to the http codepath that picks up results after
47
+ cURL library is done with one request slot.
48
49
+ Will merge to 'master' in the second batch after 1.8.0 ships.
50
48
-* so/prompt-command (2012-10-11) 2 commits
49
- (merged to 'next' on 2012-10-11 at 1a14825)
50
- + show color hints based on state of the git tree
51
- + Allow __git_ps1 to be used in PROMPT_COMMAND
51
53
- Updates __git_ps1 so that it can be used as $PROMPT_COMMAND,
54
- instead of being used for command substitution in $PS1, to embed
55
- color escape sequences in its output.
52
+* nd/grep-true-path (2012-10-12) 1 commit
53
+ (merged to 'next' on 2012-10-16 at 8a75ac8)
54
+ + grep: stop looking at random places for .gitattributes
55
56
+ "git grep -e pattern <tree>" asked the attribute system to read
57
+ "<tree>:.gitattributes" file in the working tree, which was
58
+ nonsense.
59
58
-* jc/test-say-color-avoid-echo-escape (2012-10-11) 1 commit
59
- (merged to 'next' on 2012-10-11 at 639036d)
60
- + test-lib: Fix say_color () not to interpret \a\b\c in the message
60
+ Will merge to 'master' in the second batch after 1.8.0 ships.
61
62
- Recent nd/wildmatch series was the first to reveal this ancient bug
63
- in the test scaffolding.
62
63
+* cr/cvsimport-local-zone (2012-10-15) 1 commit
64
+ - git-cvsimport: allow author-specific timezones
65
66
-* aw/rebase-am-failure-detection (2012-10-11) 1 commit
67
- - rebase: Handle cases where format-patch fails
66
+ Allows "cvsimport" to read per-author timezone from the author info
67
+ file.
68
69
70
-* da/mergetools-p4 (2012-10-11) 1 commit
71
- - mergetools/p4merge: Handle "/dev/null"
70
+* fc/completion-send-email-with-format-patch (2012-10-16) 1 commit
71
+ - completion: add format-patch options to send-email
72
73
---------------------------------------------------
74
-[Graduated to "master"]
73
76
-* bw/cp-a-is-gnuism (2012-10-08) 1 commit
77
- (merged to 'next' on 2012-10-08 at 6ddb60d)
78
- + tests: "cp -a" is a GNUism
74
+* fc/zsh-completion (2012-10-15) 3 commits
75
+ - completion: add new zsh completion
76
+ - tests: use __gitcompadd to simplify completion tests
77
+ - completion: add new __gitcompadd helper
78
79
81
-* jc/doc-long-options (2012-10-04) 1 commit
82
- (merged to 'next' on 2012-10-08 at 7183dc0)
83
- + gitcli: parse-options lets you omit tail of long options
80
+* jc/apply-trailing-blank-removal (2012-10-12) 1 commit
81
+ - apply.c:update_pre_post_images(): the preimage can be truncated
82
85
- The end-user facing documentation claimed to be an "exhaustive"
86
- list of features of parse-options command line parser, but it
87
- didn't mention anything about abbreviating long option names to
88
- their unique prefixes. Mention it, warn against relying too much on
89
- it (as uniqueness may disappear in future versions of Git), and
90
- drop the claim to be exhaustive.
83
+ Fix to update_pre_post_images() that did not take into account the
84
+ possibility that whitespace fix could shrink the preimage and
85
+ change the number of lines in it.
86
87
+ Extra set of eyeballs appreciated.
88
93
-* jc/maint-t1450-fsck-order-fix (2012-10-02) 1 commit
94
- (merged to 'next' on 2012-10-02 at cc1a62e)
95
- + t1450: the order the objects are checked is undefined
89
97
- The fsck test assumed too much on what kind of error it will
98
- detect. The only important thing is the inconsistency is detected
99
- as an error.
90
+* jn/warn-on-inaccessible-loosen (2012-10-14) 4 commits
91
+ - config: exit on error accessing any config file
92
+ - doc: advertise GIT_CONFIG_NOSYSTEM
93
+ - config: treat user and xdg config permission problems as errors
94
+ - config, gitignore: failure to access with ENOTDIR is ok
95
96
+ An RFC to deal with a situation where .config/git is a file and we
97
+ notice .config/git/config is not readable due to ENOTDIR, not
98
+ ENOENT; I think a bit more refactored approach to consistently
99
+ address permission errors across config, exclude and attrs is
100
+ desirable. Don't we also need a check for an opposite situation
101
+ where we open .config/git/config or .gitattributes for reading but
102
+ they turn out to be directories?
103
102
-* jc/merge-bases-paint-fix (2012-10-04) 1 commit
103
- (merged to 'next' on 2012-10-07 at 9fa34dc)
104
- + paint_down_to_common(): parse commit before relying on its timestamp
104
106
- "git fmt-merge-msg" (actually an internal helper reduce_heads() it
107
- uses) had a severe performance regression; an empty "git pull" took
108
- forever to finish as the result.
105
+* rs/lock-correct-ref-during-delete (2012-10-16) 1 commit
106
+ - refs: lock symref that is to be deleted, not its target
107
108
+ When "update-ref -d --no-deref SYM" tried to delete a symbolic ref
109
+ SYM, it incorrectly locked the underlying reference pointed by SYM,
110
+ not the symbolic ref itself.
111
111
-* nd/doc-ignore (2012-10-07) 1 commit
112
- (merged to 'next' on 2012-10-08 at 7b46836)
113
- + gitignore.txt: suggestions how to get literal # or ! at the beginning
112
+ Will merge to 'next'.
113
115
- Documentation updates for excluding path whose name begin with # or !.
114
+--------------------------------------------------
115
+[Stalled]
116
117
+* mh/ceiling (2012-09-29) 9 commits
118
+ - t1504: stop resolving symlinks in GIT_CEILING_DIRECTORIES
119
+ - longest_ancestor_length(): resolve symlinks before comparing paths
120
+ - longest_ancestor_length(): use string_list_longest_prefix()
121
+ - longest_ancestor_length(): always add a slash to the end of prefixes
122
+ - longest_ancestor_length(): explicitly filter list before loop
123
+ - longest_ancestor_length(): use string_list_split()
124
+ - Introduce new function real_path_if_valid()
125
+ - real_path_internal(): add comment explaining use of cwd
126
+ - Introduce new static function real_path_internal()
127
118
-* rr/git-uri-doc (2012-10-08) 1 commit
119
- (merged to 'next' on 2012-10-08 at a28ae12)
120
- + Git url doc: mark ftp/ftps as read-only and deprecate them
128
+ Elements of GIT_CEILING_DIRECTORIES list may not match the real
129
+ pathname we obtain from getcwd(), leading the GIT_DIR discovery
130
+ logic to escape the ceilings the user thought to have specified.
131
+
132
+ The solution felt a bit unnecessarily convoluted to me.
133
+ Expecting a reroll.
134
122
---------------------------------------------------
123
-[Stalled]
135
136
* rc/maint-complete-git-p4 (2012-09-24) 1 commit
137
(merged to 'next' on 2012-09-25 at 116e58f)
@@ -129,28 +140,6 @@ repositories listed at
140
Comment from Pete will need to be addressed in a follow-up patch.
141
142
132
-* as/check-ignore (2012-09-27) 17 commits
133
- - [SQUASH-FIX] 283d072 (Add git-check-ignore sub-command, 2012-09-20)
134
- - [SQUASH-FIX] 283d072 (Add git-check-ignore sub-command, 2012-09-20)
135
- - [REROLL NEEDED] minimum compilation fix
136
- - Add git-check-ignore sub-command
137
- - dir.c: provide free_directory() for reclaiming dir_struct memory
138
- - pathspec.c: move reusable code from builtin/add.c
139
- - dir.c: refactor treat_gitlinks()
140
- - dir.c: keep track of where patterns came from
141
- - dir.c: refactor is_path_excluded()
142
- - dir.c: refactor is_excluded()
143
- - dir.c: refactor is_excluded_from_list()
144
- - dir.c: rename excluded() to is_excluded()
145
- - dir.c: rename excluded_from_list() to is_excluded_from_list()
146
- - dir.c: rename path_excluded() to is_path_excluded()
147
- - dir.c: rename cryptic 'which' variable to more consistent name
148
- - Improve documentation and comments regarding directory traversal API
149
- - Update directory listing API doc to match code
150
-
151
- Waiting for a reroll.
152
-
153
-
143
* as/test-tweaks (2012-09-20) 7 commits
144
- tests: paint unexpectedly fixed known breakages in bold red
145
- tests: test the test framework more thoroughly
@@ -353,26 +342,111 @@ repositories listed at
342
--------------------------------------------------
343
[Cooking]
344
356
-* nd/wildmatch (2012-10-11) 12 commits
357
- - t3070: disable two fnmatch tests that have different results on different libc
345
+* as/check-ignore (2012-10-15) 12 commits
346
+ - Add git-check-ignore sub-command
347
+ - dir.c: provide free_directory() for reclaiming dir_struct memory
348
+ - pathspec.c: move reusable code from builtin/add.c
349
+ - dir.c: refactor treat_gitlinks()
350
+ - dir.c: keep track of where patterns came from
351
+ - dir.c: refactor is_path_excluded()
352
+ - dir.c: refactor is_excluded()
353
+ - dir.c: refactor is_excluded_from_list()
354
+ - dir.c: rename excluded() to is_excluded()
355
+ - dir.c: rename excluded_from_list() to is_excluded_from_list()
356
+ - dir.c: rename path_excluded() to is_path_excluded()
357
+ - dir.c: rename cryptic 'which' variable to more consistent name
358
+ (this branch uses nd/attr-match-optim and nd/attr-match-optim-more; is tangled with nd/wildmatch.)
359
+
360
+ Duy helped to reroll this. Needs a bit of documentation updates,
361
+ at least.
362
+
363
+
364
+* js/format-2047 (2012-10-09) 5 commits
365
+ - format-patch: tests: check rfc822+rfc2047 in to+cc headers
366
+ - format-patch: fix rfc2047 address encoding with respect to rfc822 specials
367
+ - format-patch: introduce helper function last_line_length()
368
+ - format-patch: do not wrap rfc2047 encoded headers too late
369
+ - format-patch: do not wrap non-rfc2047 headers too early
370
+
371
+ Fixes many rfc2047 quoting issues in the output from format-patch.
372
+ The last patch attempts to sneak new policies in without concensus,
373
+ which I'd wish to see at least described as such i.e. "this fails
374
+ with the current codebase but we would eventually want to do X and
375
+ Y at which point it will pass". Then we can discuss if doing X and
376
+ Y is a good thing. Alternatively, the bits that adds expect-failure
377
+ should be removed from the patch, leaving the tests that cover what
378
+ this series is supposed to have fixed.
379
+
380
+ Otherwise, I think this is fit for 'next'.
381
+
382
+
383
+* km/send-email-compose-encoding (2012-10-10) 1 commit
384
+ (merged to 'next' on 2012-10-11 at d94bd05)
385
+ + git-send-email: introduce compose-encoding
386
+
387
+ "git send-email --compose" can let the user create a non-ascii
388
+ cover letter message, but there was not a way to mark it with
389
+ appropriate content type before sending it out.
390
+
391
+ Will merge to 'master' in the second batch after 1.8.0 ships.
392
+
393
+
394
+* so/prompt-command (2012-10-11) 2 commits
395
+ (merged to 'next' on 2012-10-11 at 1a14825)
396
+ + show color hints based on state of the git tree
397
+ + Allow __git_ps1 to be used in PROMPT_COMMAND
398
+
399
+ Updates __git_ps1 so that it can be used as $PROMPT_COMMAND,
400
+ instead of being used for command substitution in $PS1, to embed
401
+ color escape sequences in its output.
402
+
403
+
404
+* jc/test-say-color-avoid-echo-escape (2012-10-11) 1 commit
405
+ (merged to 'next' on 2012-10-11 at 639036d)
406
+ + test-lib: Fix say_color () not to interpret \a\b\c in the message
407
+
408
+ Recent nd/wildmatch series was the first to reveal this ancient bug
409
+ in the test scaffolding.
410
+
411
+ Will merge to 'master' in the first batch after 1.8.0 ships.
412
+
413
+
414
+* aw/rebase-am-failure-detection (2012-10-11) 1 commit
415
+ - rebase: Handle cases where format-patch fails
416
+
417
+ I am unhappy a bit about the possible performance implications of
418
+ having to store the output in a temporary file only for a rare case
419
+ of format-patch aborting.
420
+
421
+
422
+* da/mergetools-p4 (2012-10-11) 1 commit
423
+ (merged to 'next' on 2012-10-12 at 16f5c06)
424
+ + mergetools/p4merge: Handle "/dev/null"
425
+
426
+ Will merge to 'master' in the first batch after 1.8.0 ships.
427
+
428
+
429
+* nd/wildmatch (2012-10-15) 13 commits
430
- Support "**" wildcard in .gitignore and .gitattributes
431
- wildmatch: make /**/ match zero or more directories
432
- wildmatch: adjust "**" behavior
433
- wildmatch: fix case-insensitive matching
434
- wildmatch: remove static variable force_lower_case
435
- wildmatch: make wildmatch's return value compatible with fnmatch
436
+ - t3070: disable unreliable fnmatch tests
437
- Integrate wildmatch to git
438
+ - wildmatch: follow Git's coding convention
439
- wildmatch: remove unnecessary functions
440
- Import wildmatch from rsync
441
- ctype: support iscntrl, ispunct, isxdigit and isprint
442
- ctype: make sane_ctype[] const array
443
+ (this branch uses nd/attr-match-optim and nd/attr-match-optim-more; is tangled with as/check-ignore.)
444
445
Allows pathname patterns in .gitignore and .gitattributes files
446
with double-asterisks "foo/**/bar" to match any number of directory
447
hiearchies.
448
374
- This might be missing some off-by-one fix posted on the list, and
375
- needs to be checked.
449
+ Will merge to 'next'.
450
451
452
* jk/lua-hackery (2012-10-07) 6 commits
@@ -392,21 +466,29 @@ repositories listed at
466
(merged to 'next' on 2012-10-08 at bfbdd8a)
467
+ attr: avoid searching for basename on every match
468
+ attr: avoid strlen() on every match
395
- (this branch is used by nd/attr-match-optim-more.)
469
+ (this branch is used by as/check-ignore, nd/attr-match-optim-more and nd/wildmatch.)
470
471
Trivial and obvious optimization for finding attributes that match
472
a given path.
473
474
+ Will merge to 'master' in the first batch after 1.8.0 ships.
475
+
476
401
-* nd/attr-match-optim-more (2012-10-11) 3 commits
477
+* nd/attr-match-optim-more (2012-10-15) 7 commits
478
- attr: more matching optimizations from .gitignore
479
- gitignore: make pattern parsing code a separate function
404
- - Merge commit 'f9f6e2c' into nd/attr-match-optim-more
405
- (this branch uses nd/attr-match-optim.)
480
+ - exclude: split pathname matching code into a separate function
481
+ - exclude: fix a bug in prefix compare optimization
482
+ - exclude: split basename matching code into a separate function
483
+ - exclude: stricten a length check in EXC_FLAG_ENDSWITH case
484
+ + Merge commit 'f9f6e2c' into nd/attr-match-optim-more
485
+ (this branch is used by as/check-ignore and nd/wildmatch; uses nd/attr-match-optim.)
486
487
Start laying the foundation to build the "wildmatch" after we can
488
agree on its desired semantics.
489
490
+ Will merge to 'next'.
491
+
492
493
* jc/grep-pcre-loose-ends (2012-10-09) 7 commits
494
(merged to 'next' on 2012-10-11 at fec8530)
@@ -422,6 +504,8 @@ repositories listed at
504
pattern as extended regular expression, and instead looked for the
505
string literally. The early part of this series is a fix for it.
506
507
+ Will merge to 'master' in the second batch after 1.8.0 ships.
508
+
509
510
* jk/peel-ref (2012-10-04) 4 commits
511
(merged to 'next' on 2012-10-08 at 4adfa2f)
@@ -434,6 +518,8 @@ repositories listed at
518
other side of the connection) by reducing the cost to advertise the
519
branches and tags that are available in the repository.
520
521
+ Will merge to 'master' in the first batch after 1.8.0 ships.
522
+
523
524
* fa/remote-svn (2012-10-07) 16 commits
525
(merged to 'next' on 2012-10-07 at 7b90cf4)
@@ -456,6 +542,7 @@ repositories listed at
542
(this branch is used by fa/vcs-svn.)
543
544
A GSoC project.
545
+ Will merge to 'master' in the first batch after 1.8.0 ships.
546
547
548
* bw/config-lift-variable-name-length-limit (2012-10-01) 1 commit
@@ -465,6 +552,20 @@ repositories listed at
552
The configuration parser had an unnecessary hardcoded limit on
553
variable names that was not checked consistently. Lift the limit.
554
555
+ Will merge to 'master' in the first batch after 1.8.0 ships.
556
+
557
+
558
+* jm/diff-context-config (2012-10-02) 2 commits
559
+ (merged to 'next' on 2012-10-02 at e57700a)
560
+ + t4055: avoid use of sed 'a' command
561
+ (merged to 'next' on 2012-10-01 at 509a558)
562
+ + diff: diff.context configuration gives default to -U
563
+
564
+ Teaches a new configuration variable to "git diff" Porcelain and
565
+ its friends.
566
+
567
+ Will merge to 'master' in the first batch after 1.8.0 ships.
568
+
569
570
* jl/submodule-add-by-name (2012-09-30) 2 commits
571
(merged to 'next' on 2012-10-08 at 9408d8d)
@@ -481,36 +582,7 @@ repositories listed at
582
place in $GIT_DIR of the superproject that does not conflict with
583
the original submodule.
584
484
-
485
-* jm/diff-context-config (2012-10-02) 2 commits
486
- (merged to 'next' on 2012-10-02 at e57700a)
487
- + t4055: avoid use of sed 'a' command
488
- (merged to 'next' on 2012-10-01 at 509a558)
489
- + diff: diff.context configuration gives default to -U
490
-
491
- Teaches a new configuration variable to "git diff" Porcelain and
492
- its friends.
493
-
494
- Will defer to the next cycle.
495
-
496
-
497
-* mh/ceiling (2012-09-29) 9 commits
498
- - t1504: stop resolving symlinks in GIT_CEILING_DIRECTORIES
499
- - longest_ancestor_length(): resolve symlinks before comparing paths
500
- - longest_ancestor_length(): use string_list_longest_prefix()
501
- - longest_ancestor_length(): always add a slash to the end of prefixes
502
- - longest_ancestor_length(): explicitly filter list before loop
503
- - longest_ancestor_length(): use string_list_split()
504
- - Introduce new function real_path_if_valid()
505
- - real_path_internal(): add comment explaining use of cwd
506
- - Introduce new static function real_path_internal()
507
-
508
- Elements of GIT_CEILING_DIRECTORIES list may not match the real
509
- pathname we obtain from getcwd(), leading the GIT_DIR discovery
510
- logic to escape the ceilings the user thought to have specified.
511
-
512
- The solution felt a bit unnecessarily convoluted to me.
513
- Expecting a reroll.
585
+ Will merge to 'master' in the second batch after 1.8.0 ships.
586
587
588
* jl/submodule-rm (2012-09-29) 1 commit
@@ -525,7 +597,7 @@ repositories listed at
597
is not embedded in its working tree but is elsewhere and uses the
598
gitfile mechanism to point at it.
599
528
- Will defer to the next cycle.
600
+ Will merge to 'master' in the second batch after 1.8.0 ships.
601
602
603
* nd/pretty-placeholder-with-color-option (2012-09-30) 9 commits
@@ -541,8 +613,11 @@ repositories listed at
613
614
615
* jk/no-more-pre-exec-callback (2012-06-05) 1 commit
544
- - pager: drop "wait for output to run less" hack
616
+ (merged to 'next' on 2012-10-12 at 69fed45)
617
+ + pager: drop "wait for output to run less" hack
618
619
(Originally merged to 'next' on 2012-07-23)
620
+ Removes a workaround for buggy version of less older than version
621
+ 406.
622
548
- Will defer to the next cycle.
623
+ Will merge to 'master' in the first batch after 1.8.0 ships.