What's cooking (2016/06 #04)

Junio C Hamano committed Jun 14, 2016 at 15:05 UTC 30738d0237cf70b0c6d6f03394e5dd350c19cbeb
1 file changed +203 -94
whats-cooking.txt
+203 -94
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2016, #03; Thu, 9)
4 -X-master-at: 49fa3dc76179e04b0833542fa52d0f287a4955ac
5 -X-next-at: 3cd93d08f085fd56ac81614bd2e920c3b50eacec
3 +Subject: What's cooking in git.git (Jun 2016, #04; Tue, 14)
4 +X-master-at: 05219a1276341e72d8082d76b7f5ed394b7437a4
5 +X-next-at: 3dc84b0c19932ec9947ca4936b6bfd6421ccb1b4
6
7 -What's cooking in git.git (Jun 2016, #03; Thu, 9)
7 +What's cooking in git.git (Jun 2016, #04; Tue, 14)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -12,45 +12,151 @@ Here are the topics that have been cooking. Commits prefixed with
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -The tip of 'pu' is not expected to pass its own test suite, due to
16 -multiple broken topics queued near its tip. Earlier there was a talk
17 -about automatically bisecting breakage on 'pu', but tonight's
18 -pushout is a good illustration why that would not be very useful.
19 -What would be useful is (1) enumeration of commits on the first
20 -parent chain on master..pu, (2) test of the second parent of each of
21 -the commits found in (1), and (3) bisection between the broken
22 -commits in (2) and 'master', which would highlight broken topics and
23 -the commit(s) that might be responsible for each broken topic.
15 +Git 2.9 has been tagged. Let's wait for a few days to clean up
16 +possible fallout and then start a new cycle by rewinding the tip of
17 +'next'. I expect I'd eject a few premature topics out of 'next'
18 +while doing so.
19
20 You can find the changes described here in the integration branches
21 of the repositories listed at
22
23 http://git-blame.blogspot.com/p/git-public-repositories.html
24
25 +--------------------------------------------------
26 +[Graduated to "master"]
27 +
28 +* jc/t2300-setup (2016-06-01) 1 commit
29 + (merged to 'next' on 2016-06-06 at 20f7f83)
30 + + t2300: run git-sh-setup in an environment that better mimics the real life
31 + (this branch is used by va/i18n-even-more.)
32 +
33 + A test fix.
34 +
35 +
36 +* jk/diff-compact-heuristic (2016-06-10) 1 commit
37 + - diff: disable compaction heuristic for now
38 +
39 + It turns out that the earlier effort to update the heuristics may
40 + want to use a bit more time to mature. Turn it off by default.
41 +
42 +
43 +* jk/shell-portability (2016-06-01) 2 commits
44 + (merged to 'next' on 2016-06-06 at 5de784e)
45 + + t5500 & t7403: lose bash-ism "local"
46 + + test-lib: add in-shell "env" replacement
47 +
48 + test fixes.
49 +
50 --------------------------------------------------
51 [New Topics]
52
33 -* jk/avoid-unbounded-alloca (2016-06-07) 1 commit
34 - - tree-diff: avoid alloca for large allocations
53 +* lv/status-say-working-tree-not-directory (2016-06-09) 1 commit
54 + - Use "working tree" instead of "working directory" for git status
55 +
56 + "git status" used to say "working directory" when it meant "working
57 + tree".
58
59 Will merge to 'next'.
60
61
39 -* jk/send-pack-stdio (2016-06-08) 1 commit
40 - - send-pack: use buffered I/O to talk to pack-objects
62 +* jk/parseopt-string-list (2016-06-13) 3 commits
63 + - blame,shortlog: don't make local option variables static
64 + - interpret-trailers: don't duplicate option strings
65 + - parse_opt_string_list: stop allocating new strings
66 + (this branch is used by jk/string-list-static-init.)
67
42 - Code clean-up.
68 + The command line argument parsing that uses OPT_STRING_LIST() often
69 + made a copy of the argv[] element, which was unnecessary.
70
71 Will merge to 'next'.
72
73
47 -* pb/commit-editmsg-path (2016-06-09) 1 commit
48 - - builtin/commit.c: memoize git-path for COMMIT_EDITMSG
74 +* jk/repack-keep-unreachable (2016-06-14) 3 commits
75 + - repack: extend --keep-unreachable to loose objects
76 + - repack: add --keep-unreachable option
77 + - repack: document --unpack-unreachable option
78 +
79 + "git repack" learned the "--keep-unreachable" option, which sends
80 + loose unreachable objects to a pack instead of leaving them loose.
81 + This helps heuristics based on the number of loose objects
82 + (e.g. "gc --auto").
83 +
84 + Will merge to 'next'.
85 +
86 +
87 +* lf/recv-sideband-cleanup (2016-06-13) 1 commit
88 + - sideband.c: refactor recv_sideband()
89 +
90 + Code simplification. It however loses the atomicity of the output
91 + 9ac13ec9 (atomic write for sideband remote messages, 2006-10-11)
92 + tried to add to an once-much-simpler codebase.
93 +
94 + Expecting a reroll.
95 +
96 +
97 +* nd/test-lib-httpd-show-error-log-in-verbose (2016-06-13) 1 commit
98 + - lib-httpd.sh: print error.log on error
99 +
100 + Debugging aid.
101 +
102 + Will merge to 'next'.
103 +
104 +
105 +* pc/occurred (2016-06-10) 2 commits
106 + - config.c: fix misspelt "occurred" in an error message
107 + - refs.h: fix misspelt "occurred" in a comment
108 +
109 + Will merge to 'next'.
110 +
111 +
112 +* sb/submodule-clone-retry (2016-06-13) 2 commits
113 + - submodule update: continue when a clone fails
114 + - submodule--helper: initial clone learns retry logic
115 + (this branch uses sb/submodule-recommend-shallowness.)
116 +
117 + "git submodule update" that drives many "git clone" could
118 + eventually hit flaky servers/network conditions on one of the
119 + submodules; the command learned to retry the attempt.
120 +
121 +
122 +* jc/blame-reverse (2016-06-14) 2 commits
123 + - blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
124 + - blame: improve diagnosis for "--reverse NEW"
125 +
126 +
127 +* jc/deref-tag (2016-06-14) 1 commit
128 + - blame, line-log: do not loop around deref_tag()
129
130 Code clean-up.
131
132 Will merge to 'next'.
133
134 +
135 +* jk/fetch-prune-doc (2016-06-14) 1 commit
136 + - fetch: document that pruning happens before fetching
137 +
138 + Will merge to 'next'.
139 +
140 +
141 +* km/fetch-do-not-free-remote-name (2016-06-14) 1 commit
142 + - builtin/fetch.c: don't free remote->name after fetch
143 +
144 + Will merge to 'next'.
145 +
146 +
147 +* nb/gnome-keyring-build (2016-06-14) 1 commit
148 + - gnome-keyring: Don't hard-code pkg-config executable
149 +
150 + Build improvements for gnome-keyring (in contrib/)
151 +
152 + Will merge to 'next'.
153 +
154 +
155 +* pb/strbuf-read-file-doc (2016-06-14) 1 commit
156 + - strbuf: describe the return value of strbuf_read_file
157 +
158 + Will merge to 'next'.
159 +
160 --------------------------------------------------
161 [Stalled]
162
@@ -85,45 +191,6 @@ of the repositories listed at
191 ($gmane/291163)
192
193
88 -* nd/shallow-deepen (2016-04-13) 26 commits
89 - - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
90 - - upload-pack: add get_reachable_list()
91 - - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
92 - - t5500, t5539: tests for shallow depth excluding a ref
93 - - clone: define shallow clone boundary with --shallow-exclude
94 - - fetch: define shallow boundary with --shallow-exclude
95 - - upload-pack: support define shallow boundary by excluding revisions
96 - - refs: add expand_ref()
97 - - t5500, t5539: tests for shallow depth since a specific date
98 - - clone: define shallow clone boundary based on time with --shallow-since
99 - - fetch: define shallow boundary with --shallow-since
100 - - upload-pack: add deepen-since to cut shallow repos based on time
101 - - shallow.c: implement a generic shallow boundary finder based on rev-list
102 - - fetch-pack: use a separate flag for fetch in deepening mode
103 - - fetch-pack.c: mark strings for translating
104 - - fetch-pack: use a common function for verbose printing
105 - - fetch-pack: use skip_prefix() instead of starts_with()
106 - - upload-pack: move rev-list code out of check_non_tip()
107 - - upload-pack: tighten number parsing at "deepen" lines
108 - - upload-pack: use skip_prefix() instead of starts_with()
109 - - upload-pack: move "unshallow" sending code out of deepen()
110 - - upload-pack: remove unused variable "backup"
111 - - upload-pack: move "shallow" sending code out of deepen()
112 - - upload-pack: move shallow deepen code out of receive_needs()
113 - - transport-helper.c: refactor set_helper_option()
114 - - remote-curl.c: convert fetch_git() to use argv_array
115 -
116 - The existing "git fetch --depth=<n>" option was hard to use
117 - correctly when making the history of an existing shallow clone
118 - deeper. A new option, "--deepen=<n>", has been added to make this
119 - easier to use. "git clone" also learned "--shallow-since=<date>"
120 - and "--shallow-exclude=<tag>" options to make it easier to specify
121 - "I am interested only in the recent N months worth of history" and
122 - "Give me only the history since that version".
123 -
124 - Needs review.
125 -
126 -
194 * sg/completion-updates (2016-02-28) 21 commits
195 . completion: cache the path to the repository
196 . completion: extract repository discovery from __gitdir()
@@ -269,6 +336,69 @@ of the repositories listed at
336 --------------------------------------------------
337 [Cooking]
338
339 +* nd/shallow-deepen (2016-06-13) 27 commits
340 + - fetch, upload-pack: --deepen=N extends shallow boundary by N commits
341 + - upload-pack: add get_reachable_list()
342 + - upload-pack: split check_unreachable() in two, prep for get_reachable_list()
343 + - t5500, t5539: tests for shallow depth excluding a ref
344 + - clone: define shallow clone boundary with --shallow-exclude
345 + - fetch: define shallow boundary with --shallow-exclude
346 + - upload-pack: support define shallow boundary by excluding revisions
347 + - refs: add expand_ref()
348 + - t5500, t5539: tests for shallow depth since a specific date
349 + - clone: define shallow clone boundary based on time with --shallow-since
350 + - fetch: define shallow boundary with --shallow-since
351 + - upload-pack: add deepen-since to cut shallow repos based on time
352 + - shallow.c: implement a generic shallow boundary finder based on rev-list
353 + - fetch-pack: use a separate flag for fetch in deepening mode
354 + - fetch-pack.c: mark strings for translating
355 + - fetch-pack: use a common function for verbose printing
356 + - fetch-pack: use skip_prefix() instead of starts_with()
357 + - upload-pack: move rev-list code out of check_non_tip()
358 + - upload-pack: make check_non_tip() clean things up on error
359 + - upload-pack: tighten number parsing at "deepen" lines
360 + - upload-pack: use skip_prefix() instead of starts_with()
361 + - upload-pack: move "unshallow" sending code out of deepen()
362 + - upload-pack: remove unused variable "backup"
363 + - upload-pack: move "shallow" sending code out of deepen()
364 + - upload-pack: move shallow deepen code out of receive_needs()
365 + - transport-helper.c: refactor set_helper_option()
366 + - remote-curl.c: convert fetch_git() to use argv_array
367 +
368 + The existing "git fetch --depth=<n>" option was hard to use
369 + correctly when making the history of an existing shallow clone
370 + deeper. A new option, "--deepen=<n>", has been added to make this
371 + easier to use. "git clone" also learned "--shallow-since=<date>"
372 + and "--shallow-exclude=<tag>" options to make it easier to specify
373 + "I am interested only in the recent N months worth of history" and
374 + "Give me only the history since that version".
375 +
376 + Rerolled.
377 +
378 +
379 +* jk/avoid-unbounded-alloca (2016-06-07) 1 commit
380 + - tree-diff: avoid alloca for large allocations
381 +
382 + Will merge to 'next'.
383 +
384 +
385 +* jk/send-pack-stdio (2016-06-10) 2 commits
386 + - write_or_die: remove the unused write_or_whine() function
387 + - send-pack: use buffered I/O to talk to pack-objects
388 +
389 + Code clean-up.
390 +
391 + Will merge to 'next'.
392 +
393 +
394 +* pb/commit-editmsg-path (2016-06-09) 1 commit
395 + - builtin/commit.c: memoize git-path for COMMIT_EDITMSG
396 +
397 + Code clean-up.
398 +
399 + Will merge to 'next'.
400 +
401 +
402 * wd/userdiff-css (2016-06-03) 1 commit
403 (merged to 'next' on 2016-06-06 at 536102f)
404 + userdiff: add built-in pattern for CSS
@@ -278,9 +408,12 @@ of the repositories listed at
408 Will merge to 'master' after 2.9 final.
409
410
281 -* jc/attr-more (2016-06-08) 5 commits
411 +* jc/attr-more (2016-06-09) 8 commits
412 + - attr.c: outline the future plans by heavily commenting
413 - attr.c: always pass check[] to collect_some_attrs()
414 + - attr.c: introduce empty_attr_check_elems()
415 - attr.c: correct ugly hack for git_all_attrs()
416 + - attr.c: rename a local variable check
417 - fixup! d5ad6c13
418 - attr.c: pass struct git_attr_check down the callchain
419 - attr.c: add push_stack() helper
@@ -380,7 +513,7 @@ of the repositories listed at
513 reflog was truncated.
514
515
383 -* tb/complete-status (2016-06-06) 3 commits
516 +* tb/complete-status (2016-06-10) 3 commits
517 - completion: add git status
518 - completion: add __git_get_option_value helper
519 - completion: factor out untracked file modes into a variable
@@ -388,8 +521,6 @@ of the repositories listed at
521 The completion script (in contrib/) learned to complete "git
522 status" options.
523
391 - Breaks t9902.
392 -
524
525 * tr/doc-tt (2016-06-08) 4 commits
526 - doc: change configuration variables format
@@ -443,26 +574,6 @@ of the repositories listed at
574 Will merge to 'next'.
575
576
446 -* jc/t2300-setup (2016-06-01) 1 commit
447 - (merged to 'next' on 2016-06-06 at 20f7f83)
448 - + t2300: run git-sh-setup in an environment that better mimics the real life
449 - (this branch is used by va/i18n-even-more.)
450 -
451 - A test fix.
452 -
453 - Will merge to 'master'.
454 -
455 -
456 -* jk/shell-portability (2016-06-01) 2 commits
457 - (merged to 'next' on 2016-06-06 at 5de784e)
458 - + t5500 & t7403: lose bash-ism "local"
459 - + test-lib: add in-shell "env" replacement
460 -
461 - test fixes.
462 -
463 - Will merge to 'master'.
464 -
465 -
577 * mh/connect (2016-06-06) 10 commits
578 - connect: [host:port] is legacy for ssh
579 - connect: move ssh command line preparation to a separate function
@@ -505,6 +616,7 @@ of the repositories listed at
616 (merged to 'next' on 2016-05-31 at 1ee161c)
617 + submodule update: learn `--[no-]recommend-shallow` option
618 + submodule-config: keep shallow recommendation around
619 + (this branch is used by sb/submodule-clone-retry.)
620
621 An upstream project can make a recommendation to make only a
622 shallow clone for some submodules in the .gitmodules file it ship.
@@ -559,7 +671,6 @@ of the repositories listed at
671 - i18n: advice: mark string about detached head for translation
672 - i18n: builtin/remote.c: fix mark for translation
673 - Merge branch 'jc/t2300-setup' into HEAD
562 - (this branch uses jc/t2300-setup.)
674
675 More markings of messages for i18n, with updates to various tests
676 to pass GETTEXT_POISON tests.
@@ -586,7 +697,7 @@ of the repositories listed at
697 We may want to squash a test or two to this commit. Volunteers?
698
699
589 -* nd/worktree-lock (2016-06-03) 6 commits
700 +* nd/worktree-lock (2016-06-13) 6 commits
701 - worktree.c: find_worktree() search by path suffix
702 - worktree: add "unlock" command
703 - worktree: add "lock" command
@@ -643,7 +754,9 @@ of the repositories listed at
754 ($gmane/295705).
755
756
646 -* rs/xdiff-hunk-with-func-line (2016-05-31) 8 commits
757 +* rs/xdiff-hunk-with-func-line (2016-06-09) 9 commits
758 + (merged to 'next' on 2016-06-10 at 9ff9ba8)
759 + + xdiff: fix merging of appended hunk with -W
760 (merged to 'next' on 2016-06-02 at 0c2e335)
761 + grep: -W: don't extend context to trailing empty lines
762 + t7810: add test for grep -W and trailing empty context lines
@@ -671,7 +784,8 @@ of the repositories listed at
784 Will merge to 'master' after 2.9 final.
785
786
674 -* sb/submodule-default-paths (2016-05-26) 11 commits
787 +* sb/submodule-default-paths (2016-06-14) 8 commits
788 + - completion: clone can recurse into submodules
789 - clone: add --init-submodule=<pathspec> switch
790 - submodule update: add `--init-default-path` switch
791 - Merge branch 'sb/pathspec-label' into sb/submodule-default-paths
@@ -679,12 +793,7 @@ of the repositories listed at
793 - Merge branch 'sb/clone-shallow-passthru' into sb/submodule-default-paths
794 - Merge branch 'sb/submodule-deinit-all' into sb/submodule-default-paths
795 - Merge branch 'sb/submodule-parallel-update' into sb/submodule-default-paths
682 - (merged to 'next' on 2016-05-31 at e72b604)
683 - + pathspec: allow querying for attributes
684 - + pathspec: move prefix check out of the inner loop
685 - + pathspec: move long magic parsing out of prefix_pathspec
686 - + Documentation: fix a typo
687 - (this branch uses jc/attr; is tangled with jc/attr-more and sb/pathspec-label.)
796 + (this branch uses jc/attr and sb/pathspec-label; is tangled with jc/attr-more.)
797
798 Will hold.
799
@@ -820,7 +929,7 @@ of the repositories listed at
929 + pathspec: move prefix check out of the inner loop
930 + pathspec: move long magic parsing out of prefix_pathspec
931 + Documentation: fix a typo
823 - (this branch uses jc/attr; is tangled with jc/attr-more and sb/submodule-default-paths.)
932 + (this branch is used by sb/submodule-default-paths; uses jc/attr; is tangled with jc/attr-more.)
933
934 The pathspec mechanism learned ":(attr:X)$pattern" pathspec magic
935 to limit paths that match $pattern further by attribute settings.