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.