What's cooking (2015/07 #02)

Junio C Hamano committed Jul 7, 2015 at 15:26 UTC 9cdb781852e6d25db9fcdf9dc6191643aa5fa82d
1 file changed +222 -70
whats-cooking.txt
+222 -70
@@ -1,87 +1,208 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2015, #01; Wed, 1)
4 -X-master-at: cbed29f37b690e0a497bd2b6ca9a5bdd7e6ea5aa
5 -X-next-at: 417e6682ab1b640df833193fd7f33c19661721b2
3 +Subject: What's cooking in git.git (Jul 2015, #02; Tue, 7)
4 +X-master-at: 5bdb7a78adf2a2656a1915e6fa656aecb45c1fc3
5 +X-next-at: a12d9f81e25048c9843da262f526bf229e6bb487
6
7 -What's cooking in git.git (Jul 2015, #01; Wed, 1)
7 +What's cooking in git.git (Jul 2015, #02; Tue, 7)
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 +As there is at least one new topic in 2.5-rc that has a real and
15 +severe breakage (I haven't merged the fix for it to 'master' yet),
16 +we may probably need to delay the final by at least a few weeks.
17 +
18 +Projects from GSoC students and Ensimag students have also been a
19 +pleasure to work with. I'd have to say that this year is much
20 +better than some previous years.
21 +
22 You can find the changes described here in the integration branches
23 of the repositories listed at
24
25 http://git-blame.blogspot.com/p/git-public-repositories.html
26
27 --------------------------------------------------
20 -[Graduated to "master"]
21 -
22 -* da/mergetool-winmerge (2015-06-19) 1 commit
23 - (merged to 'next' on 2015-06-24 at 2fb10c4)
24 - + mergetool-lib: fix default tool selection
25 -
26 - Hotfix for an earlier change already in 'master' that broke the
27 - default tool selection for mergetool.
28 -
29 -
30 -* jc/prompt-document-ps1-state-separator (2015-06-10) 1 commit
31 - (merged to 'next' on 2015-06-24 at e4d1bad)
32 - + git-prompt.sh: document GIT_PS1_STATESEPARATOR
33 -
34 - Docfix.
35 -
36 -
37 -* me/fetch-into-shallow-safety (2015-06-17) 1 commit
38 - (merged to 'next' on 2015-06-24 at 8ecc19a)
39 - + fetch-pack: check for shallow if depth given
40 -
41 - "git fetch --depth=<depth>" and "git clone --depth=<depth>" issued
42 - a shallow transfer request even to an upload-pack that does not
43 - support the capability.
44 -
45 -
46 -* mm/describe-doc (2015-06-16) 1 commit
47 - (merged to 'next' on 2015-06-24 at 75e34cc)
48 - + Documentation/describe: improve one-line summary
28 +[New Topics]
29
50 - Docfix.
30 +* es/worktree-add (2015-07-07) 23 commits
31 + - checkout: retire --ignore-other-worktrees in favor of --force
32 + - worktree: add: auto-vivify new branch when <branch> is omitted
33 + - worktree: add: make -b/-B default to HEAD when <branch> is omitted
34 + - worktree: extract basename computation to new function
35 + - checkout: require worktree unconditionally
36 + - checkout: retire --to option
37 + - tests: worktree: retrofit "checkout --to" tests for "worktree add"
38 + - worktree: add -b/-B options
39 + - worktree: add --detach option
40 + - worktree: add --force option
41 + - worktree: introduce "add" command
42 + - checkout: drop 'checkout_opts' dependency from prepare_linked_checkout
43 + - checkout: make --to unconditionally verbose
44 + - checkout: prepare_linked_checkout: drop now-unused 'new' argument
45 + - checkout: relocate --to's "no branch specified" check
46 + - checkout: fix bug with --to and relative HEAD
47 + - Documentation/git-worktree: add EXAMPLES section
48 + - Documentation/git-worktree: add high-level 'lock' overview
49 + - Documentation/git-worktree: split technical info from general description
50 + - Documentation/git-worktree: add BUGS section
51 + - Documentation: move linked worktree description from checkout to worktree
52 + - Documentation/git-worktree: associate options with commands
53 + - Documentation/git-checkout: fix incorrect worktree prune command
54 + (this branch uses nd/multiple-work-trees.)
55 +
56 + Update to the "linked checkout" in 2.5.0-rc1; while I very much
57 + like what I see in this series, I think it does not work well with
58 + the date-based release schedule for v2.5, and as we've been
59 + labelling the feature with "experimental, UI will change" warning,
60 + I am tempted to cook this (or a reroll of it) in 'next' and shoot
61 + for a refined version of it in 2.6, rather than delaying 2.5 final.
62 +
63 + An alternative obviously is to slip 2.5 final for a few weeks,
64 + waiting for this and possibly other hotfix topics to mature.
65 +
66 + Undecided.
67 +
68 +
69 +* jc/fix-alloc-sortbuf-in-index-pack (2015-07-04) 1 commit
70 + (merged to 'next' on 2015-07-06 at c05da06)
71 + + index-pack: fix allocation of sorted_by_pos array
72 +
73 + Another hotfix for what is in 2.5-rc but not in 2.4
74 +
75 + The alternative to slip 2.5 final for a few weeks starting to
76 + become more and more attractive...
77 +
78 +
79 +* jc/unexport-git-pager-in-use-in-pager (2015-07-03) 1 commit
80 + - pager: do not leak "GIT_PAGER_IN_USE" to the pager
81 +
82 + When you say "!<ENTER>" while running say "git log", you'd confuse
83 + yourself in the resulting shell, that may look as if you took
84 + control back to the original shell you spawned "git log" from but
85 + that isn't what is happening. To that new shell, we leaked
86 + GIT_PAGER_IN_USE environment variable that was meant as a local
87 + communication between the original "Git" and subprocesses that was
88 + spawned by it after we launched the pager, which caused many
89 + "interesting" things to happen, e.g. "git diff | cat" still paints
90 + its output in color by default.
91 +
92 + Stop leaking that environment variable to the pager's half of the
93 + fork; we only need it on "Git" side when we spawn the pager.
94
52 ---------------------------------------------------
53 -[New Topics]
95 + Will merge to 'next'.
96
55 -* jk/rev-list-no-bitmap-while-pruning (2015-07-01) 1 commit
56 - - rev-list: disable --use-bitmap-index when pruning commits
97
58 - A minor bugfix when pack bitmap was brought in.
98 +* mh/strbuf-read-file-returns-ssize-t (2015-07-03) 1 commit
99 + - strbuf: strbuf_read_file() should return ssize_t
100
101 Will merge to 'next'.
102
103
63 -* kb/config-unmap-before-renaming (2015-06-30) 1 commit
64 - - config.c: fix writing config files on Windows network shares
104 +* mm/branch-doc-updates (2015-07-06) 2 commits
105 + - Documentation/branch: document -M and -D in terms of --force
106 + - Documentation/branch: document -d --force and -m --force
107
108 Will merge to 'next'.
109
110
69 -* ls/hint-rev-list-count (2015-07-01) 1 commit
70 - - rev-list: add --count to usage guide
111 +* pt/am-tests (2015-07-07) 12 commits
112 + - t3901: test git-am encoding conversion
113 + - t3418: non-interactive rebase --continue with rerere enabled
114 + - t4150: tests for am --[no-]scissors
115 + - t4150: am with post-applypatch hook
116 + - t4150: am with pre-applypatch hook
117 + - t4150: am with applypatch-msg hook
118 + - t4150: am --resolved fails if index has unmerged entries
119 + - t4150: am --resolved fails if index has no changes
120 + - t4150: am refuses patches when paused
121 + - t4151: am --abort will keep dirty index intact
122 + - t4150: am fails if index is dirty
123 + - t4150: am.messageid really adds the message id
124
125 Will merge to 'next'.
126
127
75 -* mh/fast-import-get-mark (2015-07-01) 1 commit
76 - - fast-import: add a get-mark command
128 +* kn/for-each-tag-branch (2015-07-07) 11 commits
129 + - for-each-ref: add '--contains' option
130 + - ref-filter: implement '--contains' option
131 + - parse-options.h: add macros for '--contains' option
132 + - parse-option: rename parse_opt_with_commit()
133 + - for-each-ref: add '--merged' and '--no-merged' options
134 + - ref-filter: implement '--merged' and '--no-merged' options
135 + - ref-filter: add parse_opt_merge_filter()
136 + - for-each-ref: add '--points-at' option
137 + - ref-filter: implement '--points-at' option
138 + - tag: libify parse_opt_points_at()
139 + - t6302: for-each-ref tests for ref-filter APIs
140 + (this branch uses kn/for-each-ref.)
141 +
142 +
143 +* pt/am-builtin (2015-07-07) 45 commits
144 + - builtin-am: remove redirection to git-am.sh
145 + - builtin-am: check for valid committer ident
146 + - builtin-am: implement legacy -b/--binary option
147 + - builtin-am: implement -i/--interactive
148 + - builtin-am: support and auto-detect mercurial patches
149 + - builtin-am: support and auto-detect StGit series files
150 + - builtin-am: support and auto-detect StGit patches
151 + - builtin-am: rerere support
152 + - builtin-am: invoke post-applypatch hook
153 + - builtin-am: invoke pre-applypatch hook
154 + - builtin-am: invoke applypatch-msg hook
155 + - builtin-am: support automatic notes copying
156 + - builtin-am: invoke post-rewrite hook
157 + - builtin-am: implement -S/--gpg-sign, commit.gpgsign
158 + - builtin-am: implement --committer-date-is-author-date
159 + - builtin-am: implement --ignore-date
160 + - builtin-am: pass git-apply's options to git-apply
161 + - builtin-am: implement --[no-]scissors
162 + - builtin-am: support --keep-cr, am.keepcr
163 + - builtin-am: implement --[no-]message-id, am.messageid
164 + - builtin-am: implement -k/--keep, --keep-non-patch
165 + - builtin-am: implement -u/--utf8
166 + - builtin-am: handle stray state directory
167 + - builtin-am: bypass git-mailinfo when --rebasing
168 + - builtin-am: implement --rebasing mode
169 + - builtin-am: implement --3way, am.threeWay
170 + - cache-tree: introduce write_index_as_tree()
171 + - builtin-am: implement -s/--signoff
172 + - builtin-am: exit with user friendly message on failure
173 + - builtin-am: implement -q/--quiet
174 + - builtin-am: reject patches when there's a session in progress
175 + - builtin-am: implement --abort
176 + - builtin-am: implement --skip
177 + - builtin-am: implement --resolved/--continue
178 + - builtin-am: refuse to apply patches if index is dirty
179 + - builtin-am: implement committing applied patch
180 + - builtin-am: apply patch with git-apply
181 + - builtin-am: extract patch and commit info with git-mailinfo
182 + - builtin-am: auto-detect mbox patches
183 + - builtin-am: split out mbox/maildir patches with git-mailsplit
184 + - builtin-am: implement patch queue mechanism
185 + - builtin-am: implement skeletal builtin am
186 + - wrapper: implement xfopen()
187 + - wrapper: implement xopen()
188 + - Merge branch 'pt/pull-builtin' into pt/am-builtin
189 + (this branch uses pt/pull-builtin.)
190
191 Will merge to 'next'.
192
193
81 -* nd/dwim-wildcards-as-pathspecs (2015-07-01) 1 commit
82 - - Add tests for wildcard "path vs ref" disambiguation
194 +* ad/bisect-cleanup (2015-06-29) 6 commits
195 + - bisect: don't mix option parsing and non-trivial code
196 + - bisect: simplify the addition of new bisect terms
197 + - bisect: replace hardcoded "bad|good" by variables
198 + - Documentation/bisect: revise overall content
199 + - Documentation/bisect: move getting help section to the end
200 + - bisect: correction of typo
201 + (this branch is used by ad/bisect-terms.)
202
84 - Will merge to 'next' and then to 'master'.
203 + Code and documentation clean-up to "git bisect".
204 +
205 + Will merge to 'next'.
206
207 --------------------------------------------------
208 [Stalled]
@@ -278,6 +399,38 @@ of the repositories listed at
399 --------------------------------------------------
400 [Cooking]
401
402 +* jk/rev-list-no-bitmap-while-pruning (2015-07-01) 1 commit
403 + - rev-list: disable --use-bitmap-index when pruning commits
404 +
405 + A minor bugfix when pack bitmap was brought in.
406 +
407 + Will merge to 'next'.
408 +
409 +
410 +* kb/config-unmap-before-renaming (2015-06-30) 1 commit
411 + - config.c: fix writing config files on Windows network shares
412 +
413 + Will merge to 'next'.
414 +
415 +
416 +* ls/hint-rev-list-count (2015-07-01) 1 commit
417 + - rev-list: add --count to usage guide
418 +
419 + Will merge to 'next'.
420 +
421 +
422 +* mh/fast-import-get-mark (2015-07-01) 1 commit
423 + - fast-import: add a get-mark command
424 +
425 + Will merge to 'next'.
426 +
427 +
428 +* nd/dwim-wildcards-as-pathspecs (2015-07-01) 1 commit
429 + - Add tests for wildcard "path vs ref" disambiguation
430 +
431 + Will merge to 'next' and then to 'master'.
432 +
433 +
434 * kb/i18n-doc (2015-07-01) 1 commit
435 - Documentation/i18n.txt: clarify character encoding support
436
@@ -371,7 +524,13 @@ of the repositories listed at
524 Will merge to 'next'.
525
526
374 -* jc/rerere (2015-06-30) 13 commits
527 +* jc/rerere (2015-07-06) 19 commits
528 + . t4200: rerere a merge with two identical conflicts
529 + . rerere: un-nest merge() further
530 + . rerere: use "struct rerere_id" instead of "char *" for conflict ID
531 + - rerere: call conflict-ids IDs
532 + - rerere: further clarify do_rerere_one_path()
533 + - rerere: further de-dent do_plain_rerere()
534 - rerere: refactor "replay" part of do_plain_rerere()
535 - rerere: explain the remainder
536 - rerere: explain "rerere forget" codepath
@@ -386,20 +545,15 @@ of the repositories listed at
545 - rerere: plug conflict ID leaks
546 - rerere: fix an off-by-one non-bug
547
389 - Code clean-up and minor fixes.
548 + Code clean-up and minor fixes (so far).
549
550
392 -* ad/bisect-terms (2015-06-29) 10 commits
551 +* ad/bisect-terms (2015-06-29) 4 commits
552 - bisect: allow setting any user-specified in 'git bisect start'
553 - bisect: add 'git bisect terms' to view the current terms
554 - bisect: add the terms old/new
555 - bisect: sanity check on terms
397 - - bisect: don't mix option parsing and non-trivial code
398 - - bisect: simplify the addition of new bisect terms
399 - - bisect: replace hardcoded "bad|good" by variables
400 - - Documentation/bisect: revise overall content
401 - - Documentation/bisect: move getting help section to the end
402 - - bisect: correction of typo
556 + (this branch uses ad/bisect-cleanup.)
557
558 The use of 'good/bad' in "git bisect" made it confusing to use when
559 hunting for a state change that is not a regression (e.g. bugfix).
@@ -407,10 +561,9 @@ of the repositories listed at
561 say e.g. "bisect start --term-old=fast --term=new=slow" to find a
562 performance regression.
563
410 - The bottom part has been quite well cooked. Perhaps split it into
411 - two topisc and merge the earlier ones to 'next' before the rest
412 - settles. Michael's idea to make 'good/bad' more intelligent does
413 - have certain attractiveness ($gname/272867).
564 + Michael's idea to make 'good/bad' more intelligent does have
565 + certain attractiveness ($gname/272867), and makes some of the work
566 + on this topic a moot point.
567
568
569 * mh/tempfile (2015-06-10) 14 commits
@@ -647,23 +800,20 @@ of the repositories listed at
800 other than refs/replace/ for the object replacement data.
801
802
650 -* nd/multiple-work-trees (2015-07-01) 3 commits
651 - - worktree: replace "checkout --to" with "worktree add"
803 +* nd/multiple-work-trees (2015-06-29) 2 commits
804 (merged to 'next' on 2015-06-29 at fd4eb60)
805 + worktree: new place for "git prune --worktrees"
806 (merged to 'next' on 2015-06-24 at 7c3f918)
807 + checkout: don't check worktrees when not necessary
808 + (this branch is used by es/worktree-add.)
809
810 "git checkout [<tree-ish>] <paths>" spent unnecessary cycles
811 checking if the current branch was checked out elsewhere, when we
812 know we are not switching the branches ourselves.
813
661 - Waiting for a reroll to transition to "worktree add".
814
663 -
664 -* gp/status-rebase-i-info (2015-07-01) 5 commits
815 +* gp/status-rebase-i-info (2015-07-06) 4 commits
816 - status: add new tests for status during rebase -i
666 - - SQUASH???
817 - status: give more information during rebase -i
818 - status: differentiate interactive from non-interactive rebases
819 - status: factor two rebase-related messages together
@@ -671,7 +821,9 @@ of the repositories listed at
821 Teach "git status" to show a more detailed information regarding
822 the "rebase -i" session in progress.
823
674 - Reroll exists; not picked up yet.
824 + Looks ready for 'next'. I however wonder if there is a negative
825 + interaction with 16cf51c7 (git-rebase--interactive.sh: add config
826 + option for custom instruction format, 2015-06-13)?
827
828
829 * mk/utf8-no-iconv-warn (2015-06-08) 1 commit
@@ -726,14 +878,14 @@ of the repositories listed at
878 - argv-array: implement argv_array_pushv()
879 - parse-options-cb: implement parse_opt_passthru_argv()
880 - parse-options-cb: implement parse_opt_passthru()
881 + (this branch is used by pt/am-builtin.)
882
883 Reimplement 'git pull' in C.
884
732 - This is v4 ($gmane/271943).
885 Will merge to 'next'.
886
887
736 -* rl/send-email-aliases (2015-07-01) 10 commits
888 +* rl/send-email-aliases (2015-07-07) 10 commits
889 - send-email: suppress meaningless whitespaces in from field
890 - send-email: allow multiple emails using --cc, --to and --bcc
891 - send-email: consider quote as delimiter instead of character