What's cooking (2014/02 #01)

Junio C Hamano committed Feb 3, 2014 at 16:40 UTC 85e8e46462dec47ec663900d6a8691c94d926920
1 file changed +131 -65
whats-cooking.txt
+131 -65
@@ -1,21 +1,17 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jan 2014, #06; Wed, 29)
4 -X-master-at: bd3e186d811a13d8687584856f345a767e3e4d67
5 -X-next-at: 614c158afed5077691c76d341b6888596b24b9fd
3 +Subject: What's cooking in git.git (Feb 2014, #01; Mon, 3)
4 +X-master-at: be961c292f1d36097afa1690df68cf90f655c855
5 +X-next-at: d198f5de1081dd0a829bcc347e50bf5423f2e778
6
7 -What's cooking in git.git (Jan 2014, #06; Wed, 29)
7 +What's cooking in git.git (Feb 2014, #01; Mon, 3)
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 at 1.9-rc1; as far as new features are
15 -concerned, this is pretty much it until the final.
16 -
17 -On the maintenance track, we may have another 1.8.5.x maintenance
18 -release before 1.9 final is tagged in 2-3 weeks.
14 +The tip of 'master' is at 1.9-rc2.
15
16 You can find the changes described here in the integration branches
17 of the repositories listed at
@@ -25,70 +21,66 @@ of the repositories listed at
21 --------------------------------------------------
22 [New Topics]
23
28 -* bc/gpg-sign-everywhere (2014-01-27) 9 commits
29 - - pull: add the --gpg-sign option.
30 - - rebase: add the --gpg-sign option
31 - - rebase: parse options in stuck-long mode
32 - - rebase: don't try to match -M option
33 - - rebase: remove useless arguments check
34 - - am: add the --gpg-sign option
35 - - am: parse options in stuck-long mode
36 - - git-sh-setup.sh: add variable to use the stuck-long mode
37 - - cherry-pick, revert: add the --gpg-sign option
24 +* bs/stdio-undef-before-redef (2014-01-31) 1 commit
25 + (merged to 'next' on 2014-01-31 at 9874918)
26 + + git-compat-util.h: #undef (v)snprintf before #define them
27
39 - Teach "--gpg-sign" option to many commands that create commits.
28 + When we replace broken macros from stdio.h in git-compat-util.h,
29 + #undef them to avoid re-definition warnings from the C
30 + preprocessor.
31
41 - Changes to some scripted Porcelains use unsafe variable
42 - substitutions and need to be tightened.
32 + Will cook in 'next'.
33
44 - Waiting for a reroll.
34
35 +* ep/varscope (2014-01-31) 7 commits
36 + (merged to 'next' on 2014-01-31 at d198f5d)
37 + + builtin/gc.c: reduce scope of variables
38 + + builtin/fetch.c: reduce scope of variable
39 + + builtin/commit.c: reduce scope of variables
40 + + builtin/clean.c: reduce scope of variable
41 + + builtin/blame.c: reduce scope of variables
42 + + builtin/apply.c: reduce scope of variables
43 + + bisect.c: reduce scope of variable
44
47 -* ds/rev-parse-required-args (2014-01-28) 1 commit
48 - - rev-parse: check i before using argv[i] against argc
45 + Shrink lifetime of variables by moving their definitions to an
46 + inner scope where appropriate.
47
50 - "git rev-parse --default" without the required option argument did
51 - not diagnose it as an error.
48 + Will cook in 'next'.
49
53 - Will merge to 'next'.
50
51 +* mw/symlinks (2014-02-03) 5 commits
52 + - setup: don't dereference in-tree symlinks for absolute paths
53 + - setup: add 'abspath_part_inside_repo' function
54 + - t0060: add tests for prefix_path when path begins with work tree
55 + - t0060: add test for prefix_path when path == work tree
56 + - t0060: add test for manipulating symlinks via absolute paths
57
56 -* jk/config-path-include-fix (2014-01-28) 2 commits
57 - - handle_path_include: don't look at NULL value
58 - - expand_user_path: do not look at NULL path
58 + All subcommands that take pathspecs mishandled an in-tree symbolic
59 + link when given it as a full path from the root (which arguably is
60 + a sick way to use pathspecs). "git ls-files -s $(pwd)/RelNotes" in
61 + our tree is an easy reproduction recipe.
62
60 - include.path variable (or any variable that expects a path that can
61 - use ~username expansion) in the configuration file is not a
62 - boolean, but the code failed to check it.
63 + We may want to add tests to illustrate symptoms that are visible to
64 + the end user, but the updated code looked reasonable.
65
66 Will merge to 'next'.
67
68
67 -* jk/repack-honor-pack-keep (2014-01-28) 1 commit
68 - - repack: add `repack.honorpackkeep` config var
69 - (this branch uses jk/pack-bitmap.)
70 -
71 - Optionally allow "git repack" to include objects that exist in kept
72 - packs in newly created packfiles.
73 -
74 - Waiting for response to review comments.
75 -
69 +* ks/diff-c-with-diff-order-more (2014-02-03) 5 commits
70 + - combine-diff: move changed-paths scanning logic into its own function
71 + - combine-diff: move show_log_first logic/action out of paths scanning
72 + - tree-diff: no need to pass match to skip_uninteresting()
73 + - tree-diff: no need to manually verify that there is no mode change for a path
74 + - tests: add checking that combine-diff emits only correct paths
75 + (this branch uses ks/diff-c-with-diff-order.)
76
77 -* nd/submodule-pathspec-ending-with-slash (2014-01-27) 8 commits
78 - - clean: use cache_name_is_other()
79 - - clean: replace match_pathspec() with dir_path_match()
80 - - Pass directory indicator to match_pathspec_item()
81 - - match_pathspec: match pathspec "foo/" against directory "foo"
82 - - dir.c: prepare match_pathspec_item for taking more flags
83 - - Rename match_pathspec_depth() to match_pathspec()
84 - - Convert some match_pathspec_depth() to dir_path_match()
85 - - Convert some match_pathspec_depth() to ce_path_match()
77 + By avoiding running full two-way diff between the resulting
78 + revision and each of its N parents, combine-diff can be sped up
79 + significantly.
80
87 - Allow "git cmd path/", when the 'path' is where a submodule is
88 - bound to the top-level working tree, to match 'path', despite the
89 - extra and unnecessary trailing slash.
90 -
91 - Will merge to 'next'.
81 + Not quite sure if we want another custom tree walker for it, or it
82 + should be written by using existing two-way diff with the result of
83 + earlier intersect_path() as pathspec.
84
85 --------------------------------------------------
86 [Stalled]
@@ -380,8 +372,78 @@ of the repositories listed at
372 --------------------------------------------------
373 [Cooking]
374
383 -* lt/request-pull (2014-01-23) 3 commits
375 +* bc/gpg-sign-everywhere (2014-02-03) 9 commits
376 + - pull: add the --gpg-sign option.
377 + - rebase: add the --gpg-sign option
378 + - rebase: parse options in stuck-long mode
379 + - rebase: don't try to match -M option
380 + - rebase: remove useless arguments check
381 + - am: add the --gpg-sign option
382 + - am: parse options in stuck-long mode
383 + - git-sh-setup.sh: add variable to use the stuck-long mode
384 + - cherry-pick, revert: add the --gpg-sign option
385 +
386 + Teach "--gpg-sign" option to many commands that create commits.
387 +
388 + Changes to some scripted Porcelains use unsafe variable
389 + substitutions and still need to be tightened.
390 +
391 + Waiting for a reroll.
392 +
393 +
394 +* ds/rev-parse-required-args (2014-01-28) 1 commit
395 + (merged to 'next' on 2014-01-31 at 73b7514)
396 + + rev-parse: check i before using argv[i] against argc
397 +
398 + "git rev-parse --default" without the required option argument did
399 + not diagnose it as an error.
400 +
401 + Will cook in 'next'.
402 +
403 +
404 +* jk/config-path-include-fix (2014-01-28) 2 commits
405 + (merged to 'next' on 2014-01-31 at 8550a9e)
406 + + handle_path_include: don't look at NULL value
407 + + expand_user_path: do not look at NULL path
408 +
409 + include.path variable (or any variable that expects a path that can
410 + use ~username expansion) in the configuration file is not a
411 + boolean, but the code failed to check it.
412 +
413 + Will cook in 'next'.
414 +
415 +
416 +* jk/repack-honor-pack-keep (2014-01-28) 1 commit
417 + - repack: add `repack.honorpackkeep` config var
418 + (this branch uses jk/pack-bitmap.)
419 +
420 + Optionally allow "git repack" to include objects that exist in kept
421 + packs in newly created packfiles.
422 +
423 + Waiting for response to review comments.
424 +
425 +
426 +* nd/submodule-pathspec-ending-with-slash (2014-01-27) 8 commits
427 + (merged to 'next' on 2014-01-31 at cfddaa5)
428 + + clean: use cache_name_is_other()
429 + + clean: replace match_pathspec() with dir_path_match()
430 + + Pass directory indicator to match_pathspec_item()
431 + + match_pathspec: match pathspec "foo/" against directory "foo"
432 + + dir.c: prepare match_pathspec_item for taking more flags
433 + + Rename match_pathspec_depth() to match_pathspec()
434 + + Convert some match_pathspec_depth() to dir_path_match()
435 + + Convert some match_pathspec_depth() to ce_path_match()
436 +
437 + Allow "git cmd path/", when the 'path' is where a submodule is
438 + bound to the top-level working tree, to match 'path', despite the
439 + extra and unnecessary trailing slash.
440 +
441 + Will cook in 'next'.
442 +
443 +
444 +* lt/request-pull (2014-01-31) 4 commits
445 - pull-request: test updates
446 + - request-pull: pick up tag message as before
447 - Make request-pull able to take a refspec of form local:remote
448 - Make 'git request-pull' more strict about matching
449
@@ -402,12 +464,15 @@ of the repositories listed at
464 Will cook in 'next'.
465
466
405 -* nd/diff-quiet-stat-dirty (2014-01-29) 3 commits
406 - - diff: turn skip_stat_unmatch on selectively
407 - - diff: do not quit early on stat-dirty files
408 - - Move diffcore_skip_stat_unmatch core logic out for reuse later
467 +* nd/diff-quiet-stat-dirty (2014-01-27) 2 commits
468 + (merged to 'next' on 2014-01-31 at 8b6e35d)
469 + + diff: do not quit early on stat-dirty files
470 + + Move diffcore_skip_stat_unmatch core logic out for reuse later
471
410 - Will merge to 'next'.
472 + "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
473 + correct status value.
474 +
475 + Will cook in 'next'.
476
477
478 * cc/interpret-trailers (2014-01-27) 17 commits
@@ -442,12 +507,13 @@ of the repositories listed at
507 Will hold.
508
509
445 -* ks/diff-c-with-diff-order (2014-01-29) 5 commits
446 - - combine_diff: simplify intersect_paths() further
510 +* ks/diff-c-with-diff-order (2014-02-03) 5 commits
511 + - combine-diff: simplify intersect_paths() further
512 - combine-diff: combine_diff_path.len is not needed anymore
513 - combine-diff: optimize combine_diff_path sets intersection
514 - diff test: add tests for combine-diff with orderfile
515 - diffcore-order: export generic ordering interface
516 + (this branch is used by ks/diff-c-with-diff-order-more.)
517
518 Teach combine-diff to honour the path-output-order imposed by
519 diffcore-order.