What's cooking (2012/09 #04)

Junio C Hamano committed Sep 11, 2012 at 13:21 UTC a2e12fcc8ebbd39a910a307206764d29712b1236
1 file changed +175 -202
whats-cooking.txt
+175 -202
@@ -1,16 +1,19 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2012, #03; Mon, 10)
4 -X-master-at: 682ce8bb37414afe87515123fc6c26f21dd35b15
5 -X-next-at: 5f38766e5791393ed68fd2877004482ad9e34352
3 +Subject: What's cooking in git.git (Sep 2012, #04; Tue, 11)
4 +X-master-at: 53284de77712b2234c739afa3aa5f024fc89fc83
5 +X-next-at: 3d3ef136b706abc4576b503995d88da2409d0bcf
6
7 -What's cooking in git.git (Sep 2012, #03; Mon, 10)
7 +What's cooking in git.git (Sep 2012, #04; Tue, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with '-' are
11 only in 'pu' (proposed updates) while commits prefixed with '+' are in 'next'.
12
13 -The fifth batch of topics have started graduating to 'master'.
13 +The fifth batch of topics have graduated to 'master'. Many fixes
14 +that are already in 'master' have been merged to v1.7.11.6. 'maint'
15 +has acquired more such fixes and will be tagged as v1.7.12.1
16 +hopefully in a few days.
17
18 I'm planning to keep this cycle reasonably short and aim for tagging
19 the result as 1.8.0 at the end of 9th week, on October 21st, after
@@ -25,80 +28,75 @@ repositories listed at
28 --------------------------------------------------
29 [New Topics]
30
28 -* jc/ll-merge-binary-ours (2012-09-08) 2 commits
29 - - attr: "binary" attribute should choose built-in "binary" merge driver
30 - - merge: teach -Xours/-Xtheirs to binary ll-merge driver
31 +* dg/run-command-child-cleanup (2012-09-11) 1 commit
32 + - run-command.c: fix broken list iteration in clear_child_for_cleanup
33
32 -"git merge -Xtheirs" did not help content-level merge of binary
33 -files; it should just take their version. Also "*.jpg binary" in
34 -the attributes did not imply they should use the binary ll-merge
35 -driver.
34 +Will merge to 'next' after obtaining a Sign-off.
35
37 -* jc/mailinfo-RE (2012-09-09) 1 commit
38 - - mailinfo: strip "RE: " prefix
36 +* jc/maint-blame-no-such-path (2012-09-10) 1 commit
37 + - blame $path: avoid getting fooled by case insensitive filesystems
38
40 -We strip the prefix from "Re: subject" and also from a less common
41 -"re: subject", but left even less common "RE: subject" intact.
39 +"git blame MAKEFILE" run in a history that has "Makefile" but not
40 +"MAKEFILE" should say "No such file MAKEFILE in HEAD", but got
41 +confused on a case insensitive filesystem.
42
43 -* js/compat-mkdir (2012-09-08) 1 commit
44 - - Document MKDIR_WO_TRAILING_SLASH in Makefile
43 +* sl/autoconf (2012-09-11) 2 commits
44 + - build: don't duplicate substitution of make variables
45 + - build: improve GIT_CONF_SUBST signature
46
46 -Finishing touches to recently added wrapper for mkdir() that do not
47 -want to see trailing slashes.
47 +* cn/branch-set-upstream-to (2012-09-11) 2 commits
48 + - completion: complete branch name for "branch --set-upstream-to="
49 + - completion: add --set-upstream-to and --unset-upstream
50
51 Will merge to 'next'.
52
51 -* mh/string-list (2012-09-10) 6 commits
52 - - api-string-list.txt: initialize the string_list the easy way
53 - - string_list: add a function string_list_longest_prefix()
54 - - string_list: add a new function, string_list_remove_duplicates()
55 - - string_list: add a new function, filter_string_list()
56 - - string_list: add two new functions for splitting strings
57 - - string_list: add function string_list_append_nodup()
58 - (this branch is used by mh/fetch-filter-refs.)
59 -
53 --------------------------------------------------
54 [Graduated to "master"]
55
63 -* cn/branch-set-upstream-to (2012-08-30) 3 commits
64 - (merged to 'next' on 2012-08-31 at d550ecd)
65 - + branch: deprecate --set-upstream and show help if we detect possible mistaken use
66 - + branch: add --unset-upstream option
67 - + branch: introduce --set-upstream-to
68 -
69 -"git branch --set-upstream origin/master" is a common mistake to
70 -create a local branch 'origin/master' and set it to integrate with
71 -the current branch. With a plan to deprecate this option, introduce
72 -"git branch (-u|--set-upstream-to) origin/master" that sets the
73 -current branch to integrate with 'origin/master' remote tracking
74 -branch.
75 -
76 -* jk/maint-quiet-is-synonym-to-s-in-log (2012-08-28) 1 commit
77 - (merged to 'next' on 2012-08-31 at 06f6953)
78 - + log: fix --quiet synonym for -s
79 -
80 -We tried to bend backwards to allow "--quiet" to be a synonym as
81 -"-s" when given as e.g. "git show --quiet", but did not quite
82 -succeed.
83 -
84 -* mz/cherry-pick-cmdline-order (2012-08-30) 3 commits
85 - (merged to 'next' on 2012-08-31 at fc8eec4)
86 - + cherry-pick/revert: respect order of revisions to pick
87 - + demonstrate broken 'git cherry-pick three one two'
88 - + teach log --no-walk=unsorted, which avoids sorting
89 -
90 -"git cherry-pick A C B" used to replay changes in A and then B and
91 -then C if these three commits had committer timestamps in that
92 -order, which is not what the user who said "A C B" naturally expects.
93 -
94 -* ph/credential-gnome-keyring (2012-08-24) 1 commit
95 - (merged to 'next' on 2012-08-31 at 6f3b1de)
96 - + contrib: add credential helper for GnomeKeyring
97 - (this branch is used by ph/credential-refactor.)
98 -
99 -The later refactoring of the shared code in the original series may
100 -not be worth the trouble, so it is split into a separate topic that
101 -builds on top of this one, which independently should be useful.
56 +* jc/maint-ident-missing-human-name (2012-08-31) 1 commit
57 + (merged to 'next' on 2012-09-07 at 0e99b20)
58 + + split_ident_line(): make best effort when parsing author/committer line
59 +
60 +"git show --format='%ci'" did not give timestamp correctly for
61 +commits created without human readable name on "committer" line.
62 +
63 +* jc/merge-bases (2012-08-31) 9 commits
64 + (merged to 'next' on 2012-09-07 at ab0974d)
65 + + reduce_heads(): reimplement on top of remove_redundant()
66 + + merge-base: "--is-ancestor A B"
67 + + get_merge_bases_many(): walk from many tips in parallel
68 + + in_merge_bases(): use paint_down_to_common()
69 + + merge_bases_many(): split out the logic to paint history
70 + + in_merge_bases(): omit unnecessary redundant common ancestor reduction
71 + + http-push: use in_merge_bases() for fast-forward check
72 + + receive-pack: use in_merge_bases() for fast-forward check
73 + + in_merge_bases(): support only one "other" commit
74 +
75 +Optimise the "merge-base" computation a bit, and also update its
76 +users that do not need the full merge-base information to call a
77 +cheaper subset.
78 +
79 +* jk/argv-array (2012-09-02) 4 commits
80 + (merged to 'next' on 2012-09-07 at 98dbd14)
81 + + submodule: use argv_array instead of hand-building arrays
82 + + fetch: use argv_array instead of hand-building arrays
83 + + argv-array: fix bogus cast when freeing array
84 + + argv-array: add pop function
85 + (this branch is used by dj/fetch-all-tags.)
86 +
87 +Use argv-array API in "git fetch" implementation.
88 +
89 +* nd/i18n-index-pack (2012-08-31) 1 commit
90 + (merged to 'next' on 2012-09-07 at bbcece1)
91 + + i18n: mark more index-pack strings for translation
92 +
93 +* rj/test-regex (2012-09-02) 1 commit
94 + (merged to 'next' on 2012-09-07 at e7e3527)
95 + + test-regex: Add a test to check for a bug in the regex routines
96 +
97 +Git ships with a fall-back regexp implementation for platforms with
98 +buggy regexp library; give people a tool to see if they should be
99 +using it on their platform.
100
101 --------------------------------------------------
102 [Stalled]
@@ -283,6 +281,46 @@ working :-<.
281 --------------------------------------------------
282 [Cooking]
283
284 +* jc/ll-merge-binary-ours (2012-09-08) 2 commits
285 + - attr: "binary" attribute should choose built-in "binary" merge driver
286 + - merge: teach -Xours/-Xtheirs to binary ll-merge driver
287 +
288 +"git merge -Xtheirs" did not help content-level merge of binary
289 +files; it should just take their version. Also "*.jpg binary" in
290 +the attributes did not imply they should use the binary ll-merge
291 +driver.
292 +
293 +Will merge to 'next'.
294 +
295 +* jc/mailinfo-RE (2012-09-09) 1 commit
296 + - mailinfo: strip "RE: " prefix
297 +
298 +We strip the prefix from "Re: subject" and also from a less common
299 +"re: subject", but left even less common "RE: subject" intact.
300 +
301 +Will merge to 'next'.
302 +
303 +* js/compat-mkdir (2012-09-08) 1 commit
304 + (merged to 'next' on 2012-09-11 at 376b3d5)
305 + + Document MKDIR_WO_TRAILING_SLASH in Makefile
306 +
307 +Finishing touches to recently added wrapper for mkdir() that do not
308 +want to see trailing slashes.
309 +
310 +Will merge to 'master' as part of the sixth batch.
311 +
312 +* mh/string-list (2012-09-10) 6 commits
313 + - api-string-list.txt: initialize the string_list the easy way
314 + - string_list: add a function string_list_longest_prefix()
315 + - string_list: add a new function, string_list_remove_duplicates()
316 + - string_list: add a new function, filter_string_list()
317 + - string_list: add two new functions for splitting strings
318 + - string_list: add function string_list_append_nodup()
319 + (this branch is used by mh/fetch-filter-refs.)
320 +
321 +Looked sensible.
322 +Will merge to 'next'.
323 +
324 * pw/p4-submit-conflicts (2012-09-10) 12 commits
325 - git-p4: add submit --conflict option and config varaiable
326 - git p4: add submit --prepare-p4-only option
@@ -298,145 +336,121 @@ working :-<.
336 - git p4 test: remove bash-ism of combined export/assignment
337
338 Rerolled.
301 -
339 Waiting for comments.
340
341 * kd/cvsimport-avoid-invalid-tag (2012-09-06) 1 commit
305 - - cvsimport: strip all inappropriate tag strings
342 + (merged to 'next' on 2012-09-11 at 6a8f834)
343 + + cvsimport: strip all inappropriate tag strings
344
345 "cvsimport" tried to create a tag taken from CVS without
346 sufficiently sanitizing it, causing the import to fail when an
347 invalid character in the tagname made underlying "git tag" to fail.
348
311 -Will merge to 'next'.
349 +Will merge to 'master' as part of the sixth batch.
350
351 * mh/abspath (2012-09-10) 9 commits
314 - - t0060: split absolute path test in two to exercise some of it on Windows
315 - - t0060: verify that real_path() removes extra slashes
316 - - real_path(): properly handle nonexistent top-level paths
317 - - t0060: verify that real_path() works correctly with absolute paths
318 - - real_path(): reject the empty string
319 - - t0060: verify that real_path() fails if passed the empty string
320 - - absolute_path(): reject the empty string
321 - - t0060: verify that absolute_path() fails if passed the empty string
322 - - t0060: move tests of real_path() from t0000 to here
323 -
324 -Will merge to 'next'.
352 + (merged to 'next' on 2012-09-11 at 5e29b53)
353 + + t0060: split absolute path test in two to exercise some of it on Windows
354 + + t0060: verify that real_path() removes extra slashes
355 + + real_path(): properly handle nonexistent top-level paths
356 + + t0060: verify that real_path() works correctly with absolute paths
357 + + real_path(): reject the empty string
358 + + t0060: verify that real_path() fails if passed the empty string
359 + + absolute_path(): reject the empty string
360 + + t0060: verify that absolute_path() fails if passed the empty string
361 + + t0060: move tests of real_path() from t0000 to here
362 +
363 +Will merge to 'master' as part of the sixth batch.
364
365 * nd/i18n-status (2012-09-06) 1 commit
327 - - status: remove i18n legos
366 + (merged to 'next' on 2012-09-11 at 7cfa224)
367 + + status: remove i18n legos
368
329 -Will merge to 'next'.
369 +Will merge to 'master' as part of the sixth batch.
370
371 * nd/log-n-doc (2012-09-06) 1 commit
332 - - doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
372 + (merged to 'next' on 2012-09-11 at 7fba349)
373 + + doc: move rev-list option -<n> from git-log.txt to rev-list-options.txt
374
334 -Will merge to 'next'.
375 +Will merge to 'master' as part of the sixth batch.
376
377 * nd/maint-remote-remove (2012-09-06) 1 commit
337 - - remote: prefer subcommand name 'remove' to 'rm'
378 + (merged to 'next' on 2012-09-11 at b1564c3)
379 + + remote: prefer subcommand name 'remove' to 'rm'
380
339 -Will merge to 'next'.
381 +Will merge to 'master' as part of the sixth batch.
382
383 * sb/send-email-reconfirm-fix (2012-09-06) 1 commit
342 - - send-email: initial_to and initial_reply_to are both optional
384 + (merged to 'next' on 2012-09-11 at f868e60)
385 + + send-email: initial_to and initial_reply_to are both optional
386
344 -Will merge to 'next'.
387 +Will merge to 'master' as part of the sixth batch.
388
389 * sn/ls-remote-get-url-doc (2012-09-07) 1 commit
347 - - ls-remote: document the '--get-url' option
390 + (merged to 'next' on 2012-09-11 at 9d09780)
391 + + ls-remote: document the '--get-url' option
392
349 -Will merge to 'next'.
393 +Will merge to 'master' as part of the sixth batch.
394
395 * dj/fetch-all-tags (2012-09-07) 1 commit
352 - - fetch --all: pass --tags/--no-tags through to each remote
353 - (this branch uses jk/argv-array.)
396 + (merged to 'next' on 2012-09-11 at 083a029)
397 + + fetch --all: pass --tags/--no-tags through to each remote
398
399 "git fetch --all", when passed "--no-tags", did not honor the
400 "--no-tags" option while fetching from individual remotes (the same
401 issue existed with "--tags", but combination "--all --tags" makes
402 much less sense than "--all --no-tags").
403
360 -Will merge to 'next'.
361 -
362 -* jc/maint-ident-missing-human-name (2012-08-31) 1 commit
363 - (merged to 'next' on 2012-09-07 at 0e99b20)
364 - + split_ident_line(): make best effort when parsing author/committer line
365 -
366 -"git show --format='%ci'" did not give timestamp correctly for
367 -commits created without human readable name on "committer" line.
368 -
369 -Will merge to 'master' as part of the fifth batch.
370 -
371 -* jk/argv-array (2012-09-02) 4 commits
372 - (merged to 'next' on 2012-09-07 at 98dbd14)
373 - + submodule: use argv_array instead of hand-building arrays
374 - + fetch: use argv_array instead of hand-building arrays
375 - + argv-array: fix bogus cast when freeing array
376 - + argv-array: add pop function
377 - (this branch is used by dj/fetch-all-tags.)
378 -
379 -Use argv-array API in "git fetch" implementation.
380 -
381 -Will merge to 'master' as part of the fifth batch.
404 +Will merge to 'master' as part of the sixth batch.
405
406 * rj/tap-fix (2012-09-02) 6 commits
384 - - test-lib.sh: Suppress the "passed all ..." message if no tests run
385 - - test-lib.sh: Add check for invalid use of 'skip_all' facility
386 - - test-lib.sh: Fix some shell coding style violations
387 - - t4016-*.sh: Skip all tests rather than each test
388 - - t3902-*.sh: Skip all tests rather than each test
389 - - t3300-*.sh: Fix a TAP parse error
407 + (merged to 'next' on 2012-09-11 at 4104358)
408 + + test-lib.sh: Suppress the "passed all ..." message if no tests run
409 + + test-lib.sh: Add check for invalid use of 'skip_all' facility
410 + + test-lib.sh: Fix some shell coding style violations
411 + + t4016-*.sh: Skip all tests rather than each test
412 + + t3902-*.sh: Skip all tests rather than each test
413 + + t3300-*.sh: Fix a TAP parse error
414
391 -Will merge to 'next'.
392 -
393 -* rj/test-regex (2012-09-02) 1 commit
394 - (merged to 'next' on 2012-09-07 at e7e3527)
395 - + test-regex: Add a test to check for a bug in the regex routines
396 -
397 -Git ships with a fall-back regexp implementation for platforms with
398 -buggy regexp library; give people a tool to see if they should be
399 -using it on their platform.
400 -
401 -Will merge to 'master' as part of the fifth batch.
415 +Will merge to 'master' as part of the sixth batch.
416
417 * jc/maint-checkout-fileglob-doc (2012-09-10) 3 commits
404 - - gitcli: contrast wildcard given to shell and to git
405 - - gitcli: formatting fix
406 - - Document file-glob for "git checkout -- '*.c'"
418 + (merged to 'next' on 2012-09-11 at 929948d)
419 + + gitcli: contrast wildcard given to shell and to git
420 + + gitcli: formatting fix
421 + + Document file-glob for "git checkout -- '*.c'"
422
423 Updated with help from Peff.
424
410 -Will merge to 'next'.
425 +Will merge to 'master' as part of the sixth batch.
426
427 * jc/xprm-generation (2012-09-04) 1 commit
428 - test-generation: compute generation numbers and clock skews
429
430 * rj/path-cleanup (2012-09-04) 5 commits
416 - - Call mkpathdup() rather than xstrdup(mkpath(...))
417 - - Call git_pathdup() rather than xstrdup(git_path("..."))
418 - - path.c: Use vsnpath() in the implementation of git_path()
419 - - path.c: Don't discard the return value of vsnpath()
420 - - path.c: Remove the 'git_' prefix from a file scope function
431 + (merged to 'next' on 2012-09-11 at 9e8da84)
432 + + Call mkpathdup() rather than xstrdup(mkpath(...))
433 + + Call git_pathdup() rather than xstrdup(git_path("..."))
434 + + path.c: Use vsnpath() in the implementation of git_path()
435 + + path.c: Don't discard the return value of vsnpath()
436 + + path.c: Remove the 'git_' prefix from a file scope function
437
422 -Will merge to 'next'.
438 +Will merge to 'master' as part of the sixth batch.
439
440 * rs/archive-zip-utf8 (2012-09-04) 1 commit
425 - - archive-zip: support UTF-8 paths
441 + (merged to 'next' on 2012-09-11 at 3b1f071)
442 + + archive-zip: support UTF-8 paths
443
427 -Will merge to 'next'.
428 -
429 -* nd/i18n-index-pack (2012-08-31) 1 commit
430 - (merged to 'next' on 2012-09-07 at bbcece1)
431 - + i18n: mark more index-pack strings for translation
444 +Need help from people on platforms on which Zip matters to see
445 +compatiblity with other people's zip implementations.
446
433 -Will merge to 'master' as part of the fifth batch.
447 +Will merge to 'master' as part of the sixth batch.
448
435 -* nd/checkout-option-parsing-fix (2012-09-07) 4 commits
436 - - fixup! checkout: reorder option handling
437 - - checkout: reorder option handling
438 - - checkout: move more parameters to struct checkout_opts
439 - - checkout: pass "struct checkout_opts *" as const pointer
449 +* nd/checkout-option-parsing-fix (2012-09-11) 3 commits
450 + (merged to 'next' on 2012-09-11 at 3d3ef13)
451 + + checkout: reorder option handling
452 + + checkout: move more parameters to struct checkout_opts
453 + + checkout: pass "struct checkout_opts *" as const pointer
454
455 The option parsing of "git checkout" had error checking, dwim and
456 defaulting missing options, all mixed in the code, and issuing an
@@ -445,14 +459,15 @@ Reorganize the code and allow giving a proper diagnosis when the
459 user says "git checkout -b -t foo bar" (e.g. "-t" is not a good name
460 for a branch).
461
448 -Will merge to 'next' after squashing the tip two.
462 +Will merge to 'master' as part of the sixth batch.
463
464 * js/compat-itimer (2012-09-08) 1 commit
451 - - Add a no-op setitimer() wrapper
465 + (merged to 'next' on 2012-09-11 at 1f6c3a9)
466 + + Add a no-op setitimer() wrapper
467
468 Pieces to support compilation on __TANDEM.
469
455 -Will merge to 'next'.
470 +Will merge to 'master' as part of the sixth batch.
471
472 * mh/fetch-filter-refs (2012-09-10) 14 commits
473 - fetch-pack: eliminate spurious error messages
@@ -473,25 +488,7 @@ Will merge to 'next'.
488
489 Code simplification and clarification.
490
476 -Waiting for the mh/string-list to settle.
477 -
478 -* jc/merge-bases (2012-08-31) 9 commits
479 - (merged to 'next' on 2012-09-07 at ab0974d)
480 - + reduce_heads(): reimplement on top of remove_redundant()
481 - + merge-base: "--is-ancestor A B"
482 - + get_merge_bases_many(): walk from many tips in parallel
483 - + in_merge_bases(): use paint_down_to_common()
484 - + merge_bases_many(): split out the logic to paint history
485 - + in_merge_bases(): omit unnecessary redundant common ancestor reduction
486 - + http-push: use in_merge_bases() for fast-forward check
487 - + receive-pack: use in_merge_bases() for fast-forward check
488 - + in_merge_bases(): support only one "other" commit
489 -
490 -Optimise the "merge-base" computation a bit, and also update its
491 -users that do not need the full merge-base information to call a
492 -cheaper subset.
493 -
494 -Will merge to 'master' as part of the fifth batch.
491 +Will merge to 'next'.
492
493 * jl/submodule-rm (2012-08-27) 1 commit
494 - Teach rm to remove submodules unless they contain a git directory
@@ -504,7 +501,7 @@ no local changes in the submodule working tree, and its repository
501 is not embedded in its working tree but is elsewhere and uses the
502 gitfile mechanism to point at it.
503
507 -I lost track; what is the doneness of the discussion on this patch?
504 +Replacement sent but was still iffy around conflicted merge cases.
505
506 * fa/remote-svn (2012-08-28) 16 commits
507 - Add a test script for remote-svn
@@ -545,27 +542,3 @@ Waiting for comments from mentors and stakeholders.
542
543 Will defer until the end of the 2012.
544 while waiting for older "less" to go extinct.
548 -
549 ---------------------------------------------------
550 -[Discarded]
551 -
552 -* jc/sanitize-nkd-lazy-iconv-open (2012-07-31) 1 commit
553 - . macos: lazily initialize iconv
554 -
555 -Teach the code that works around NKD/NKC gotcha on MacOS to call
556 -iconv_open() only when it is necessary, in the hope of avoiding
557 -set-up overhead. It turns out that there was no noticeable
558 -improvements.
559 -
560 -* nd/checkout-branch-name-check (2012-08-27) 1 commit
561 - . checkout: verify new branch name's validity early
562 -
563 -"git checkout -b --opt y" errors out saying that creating a new
564 -branch to check it out and grabbing contents for paths out of a
565 -commit are incompatible operations. While it is technically correct
566 -(the command line wants to create a new branch whose name is "--opt"
567 -and check it out, and there shouldn't be anything else left on the
568 -command line, but there is "y"), "--opt" is not a valid name of the
569 -branch to begin with, so even without "y", the command will not
570 -succeed. Treat this case specially to complain that "--opt" is not
571 -a valid branch name.