What's cooking (2015/06 #03)

Junio C Hamano committed Jun 10, 2015 at 16:32 UTC 06b685c780d5ce2d14bc7204e3025260cf247a95
1 file changed +265 -130
whats-cooking.txt
+265 -130
@@ -1,158 +1,252 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jun 2015, #02; Fri, 5)
3 +Subject: What's cooking in git.git (Jun 2015, #03; Wed, 10)
4 X-master-at: 7974889a053574e449b55ca543a486e38e74864f
5 X-next-at: 1a18470cb8c6fbcf40b535cf669aa165844706d5
6
7 -What's cooking in git.git (Jun 2015, #02; Fri, 5)
7 +What's cooking in git.git (Jun 2015, #03; Wed, 10)
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 -A handful of topics that graduated to 'master' a few weeks ago are
15 -now in 'maint', the tip of which has been tagged as v2.4.3.
14 +Somehow we are getting quite a many new topics in the past few
15 +weeks. All the new contributors we acquired recently, including but
16 +not limited to the GSoC and Matthieu's students, are making good
17 +progress, throwing patches and responding to reviews in a reasonable
18 +way, proving themselves to be real assets to the community.
19
17 -On the 'master' front, another huge batch of "struct object_id"
18 -thing is now in. So is Peff's 'master@{push}' series.
20 +Which, I am very happy about, even though I am a bit behind catching
21 +up with them. "Let's skip commute to gain an extra productive hour"
22 +I tried yesterday did not help enough X-<. I am sure I've either
23 +missed or postponed more than a few topics. I'll try to get to them
24 +but some of them may fall in the cracks; please help by reviewing on
25 +uncommented patches.
26
27 You can find the changes described here in the integration branches
28 of the repositories listed at
29
30 http://git-blame.blogspot.com/p/git-public-repositories.html
31
25 ---------------------------------------------------
26 -[Graduated to "master"]
27 -
28 -* bc/object-id (2015-05-25) 56 commits
29 - (merged to 'next' on 2015-05-26 at 8d9f645)
30 - + struct ref_lock: convert old_sha1 member to object_id
31 - + warn_if_dangling_symref(): convert local variable "junk" to object_id
32 - + each_ref_fn_adapter(): remove adapter
33 - + rev_list_insert_ref(): remove unneeded arguments
34 - + rev_list_insert_ref_oid(): new function, taking an object_oid
35 - + mark_complete(): remove unneeded arguments
36 - + mark_complete_oid(): new function, taking an object_oid
37 - + clear_marks(): rewrite to take an object_id argument
38 - + mark_complete(): rewrite to take an object_id argument
39 - + send_ref(): convert local variable "peeled" to object_id
40 - + upload-pack: rewrite functions to take object_id arguments
41 - + find_symref(): convert local variable "unused" to object_id
42 - + find_symref(): rewrite to take an object_id argument
43 - + write_one_ref(): rewrite to take an object_id argument
44 - + write_refs_to_temp_dir(): convert local variable sha1 to object_id
45 - + submodule: rewrite to take an object_id argument
46 - + shallow: rewrite functions to take object_id arguments
47 - + handle_one_ref(): rewrite to take an object_id argument
48 - + add_info_ref(): rewrite to take an object_id argument
49 - + handle_one_reflog(): rewrite to take an object_id argument
50 - + register_replace_ref(): rewrite to take an object_id argument
51 - + remote: rewrite functions to take object_id arguments
52 - + add_one_ref(): rewrite to take an object_id argument
53 - + string_list_add_one_ref(): rewrite to take an object_id argument
54 - + add_ref_decoration(): convert local variable original_sha1 to object_id
55 - + add_ref_decoration(): rewrite to take an object_id argument
56 - + show_head_ref(): convert local variable "unused" to object_id
57 - + http-backend: rewrite to take an object_id argument
58 - + append_similar_ref(): rewrite to take an object_id argument
59 - + builtin/show-ref: rewrite to take an object_id argument
60 - + show_ref(): convert local variable peeled to object_id
61 - + builtin/show-ref: rewrite to use object_id
62 - + fsck: change functions to use object_id
63 - + cmd_show_branch(): fix error message
64 - + builtin/show-branch: rewrite functions to work with object_id
65 - + append_one_rev(): rewrite to work with object_id
66 - + builtin/show-branch: rewrite functions to take object_id arguments
67 - + append_matching_ref(): rewrite to take an object_id argument
68 - + show_reference(): rewrite to take an object_id argument
69 - + builtin/remote: rewrite functions to take object_id arguments
70 - + add_branch_for_removal(): don't set "util" field of string_list entries
71 - + add_branch_for_removal(): rewrite to take an object_id argument
72 - + builtin/reflog: rewrite ref functions to take an object_id argument
73 - + show_ref_cb(): rewrite to take an object_id argument
74 - + builtin/pack-objects: rewrite to take an object_id argument
75 - + name_ref(): rewrite to take an object_id argument
76 - + grab_single_ref(): rewrite to take an object_id argument
77 - + builtin/fetch: rewrite to take an object_id argument
78 - + get_name(): rewrite to take an object_id argument
79 - + add_pending_uninteresting_ref(): rewrite to take an object_id argument
80 - + append_ref(): rewrite to take an object_id argument
81 - + register_ref(): rewrite to take an object_id argument
82 - + handle_one_ref(): rewrite to take an object_id argument
83 - + builtin/rev-parse: rewrite to take an object_id argument
84 - + each_ref_fn: change to take an object_id parameter
85 - + refs: convert struct ref_entry to use struct object_id
86 -
87 - for_each_ref() callback functions were taught to name the objects
88 - not with "unsigned char sha1[20]" but with "struct object_id".
89 -
90 -
91 -* jk/at-push-sha1 (2015-05-22) 16 commits
92 - (merged to 'next' on 2015-05-26 at d9d342f)
93 - + for-each-ref: accept "%(push)" format
94 - + for-each-ref: use skip_prefix instead of starts_with
95 - + sha1_name: implement @{push} shorthand
96 - + sha1_name: refactor interpret_upstream_mark
97 - + sha1_name: refactor upstream_mark
98 - + remote.c: add branch_get_push
99 - + remote.c: return upstream name from stat_tracking_info
100 - + remote.c: untangle error logic in branch_get_upstream
101 - + remote.c: report specific errors from branch_get_upstream
102 - + remote.c: introduce branch_get_upstream helper
103 - + remote.c: hoist read_config into remote_get_1
104 - + remote.c: provide per-branch pushremote name
105 - + remote.c: hoist branch.*.remote lookup out of remote_get_1
106 - + remote.c: drop "remote" pointer from "struct branch"
107 - + remote.c: refactor setup of branch->merge list
108 - + remote.c: drop default_remote_name variable
109 -
110 - Introduce <branch>@{push} short-hand to denote the remote-tracking
111 - branch that tracks the branch at the remote the <branch> would be
112 - pushed to.
113 -
114 -
115 -* ld/p4-editor-multi-words (2015-05-26) 3 commits
116 - (merged to 'next' on 2015-05-28 at a368a47)
117 - + git-p4: tests: use test-chmtime in place of touch
118 - + git-p4: fix handling of multi-word P4EDITOR
119 - + git-p4: add failing test for P4EDITOR handling
120 -
121 - Unlike "$EDITOR" and "$GIT_EDITOR" that can hold the path to the
122 - command and initial options (e.g. "/path/to/emacs -nw"), 'git p4'
123 - did not let the shell interpolate the contents of the environment
124 - variable that name the editor "$P4EDITOR" (and "$EDITOR", too).
125 - Make it in line with the rest of Git, as well as with Perforce.
126 -
32 --------------------------------------------------
33 [New Topics]
34
130 -* jc/ll-merge-expose-path (2015-06-04) 1 commit
131 - - ll-merge: pass the original path to external drivers
35 +* af/tcsh-completion-noclobber (2015-06-09) 1 commit
36 + - git-completion.tcsh: fix redirect with noclobber
37
133 - Traditionally, external low-level 3-way merge drivers are expected
134 - to produce their results based solely on the contents of the three
135 - variants given in temporary files named by %O, %A and %B on their
136 - command line. Additionally allow them to look at the final path
137 - (given by %P).
38 + The tcsh completion writes a bash scriptlet but that would have
39 + failed for users with noclobber set.
40
41 + Will merge to 'next'.
42
140 -* jk/log-missing-default-HEAD (2015-06-03) 1 commit
141 - - log: diagnose empty HEAD more clearly
43
143 - "git init empty && git -C empty log" said "bad default revision 'HEAD'",
144 - which was found to be a bit confusing to new users.
44 +* es/utf8-stupid-compiler-workaround (2015-06-05) 1 commit
45 + - utf8: NO_ICONV: silence uninitialized variable warning
46
47 + A compilation workaround.
48
147 -* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
148 - (merged to 'next' on 2015-06-04 at 328fd50)
149 - + index-pack: fix truncation of off_t in comparison
49 + Will merge to 'next'.
50
151 - An earlier optimization broke index-pack for a large object
152 - transfer; this fixes it before the breakage hits any released
153 - version.
51
155 - Will merge to 'master'.
52 +* fk/doc-format-patch-vn (2015-06-10) 1 commit
53 + - doc: format-patch: fix typo
54 +
55 + Docfix.
56 +
57 + Will merge to 'next'.
58 +
59 +
60 +* gp/status-rebase-i-info (2015-06-09) 5 commits
61 + - SQUASH??? fix misindent
62 + - status: add new tests for status during rebase -i
63 + - status: give more information during rebase -i
64 + - status: differentiate interactive from non-interactive rebases
65 + - status: factor two rebase-related messages together
66 +
67 + Teach "git status" to show a more detailed information regarding
68 + the "rebase -i" session in progress.
69 +
70 + Expecting a reroll.
71 +
72 +
73 +* jc/prompt-document-ps1-state-separator (2015-06-10) 1 commit
74 + - git-prompt.sh: document GIT_PS1_STATESEPARATOR
75 +
76 + Docfix.
77 +
78 + Will merge to 'next'.
79 +
80 +
81 +* jk/index-pack-reduce-recheck (2015-06-09) 1 commit
82 + - index-pack: avoid excessive re-reading of pack directory
83 +
84 + Disable "have we lost a race with competing repack?" check while
85 + receiving a huge object transfer that runs index-pack.
86 +
87 + Will merge to 'next'.
88 +
89 +
90 +* js/sleep-without-select (2015-06-05) 4 commits
91 + - lockfile: wait using sleep_millisec() instead of select()
92 + - lockfile: convert retry timeout computations to millisecond
93 + - help.c: wrap wait-only poll() invocation in sleep_millisec()
94 + - lockfile: replace random() by rand()
95 +
96 + Portability fix.
97 +
98 + Will merge to 'next'.
99 +
100 +
101 +* ld/p4-changes-block-size (2015-06-10) 4 commits
102 + - git-p4: fixing --changes-block-size handling
103 + - git-p4: add tests for non-numeric revision range
104 + - git-p4: test with limited p4 server results
105 + - git-p4: additional testing of --changes-block-size
106 +
107 + More Perforce row number limit workaround for "git p4".
108 +
109 + Will merge to 'next'.
110 +
111 +
112 +* mh/fsck-reflog-entries (2015-06-08) 2 commits
113 + - fsck: report errors if reflog entries point at invalid objects
114 + - fsck_handle_reflog_sha1(): new function
115 +
116 + "git fsck" used to ignore missing or invalid objects recorded in reflog.
117 +
118 + Will merge to 'next'.
119 +
120 +
121 +* mk/utf8-no-iconv-warn (2015-06-08) 1 commit
122 + - utf8.c: print warning about disabled iconv
123 +
124 + Warn when a reencoding is requested in a build without iconv
125 + support, as the end user is likely to get an unexpected result. I
126 + think the same level of safety should be added to a build with
127 + iconv support when the specified encoding is not available, but the
128 + patch does not go there.
129 +
130 + Expecting a reroll.
131 +
132 +
133 +* mr/rebase-i-customize-insn-sheet (2015-06-08) 1 commit
134 + - git-rebase--interactive.sh: add config option for custom instruction format
135 +
136 + Breaks tests.
137 +
138 + Expecting a reroll.
139 +
140 +
141 +* nd/untracked-cache (2015-06-08) 1 commit
142 + - read-cache: fix untracked cache invalidation when split-index is used
143 +
144 + Hotfix for a topic already in 'master'.
145 +
146 + Will merge to 'next'.
147 +
148 +
149 +* pt/am-abort-fix (2015-06-08) 6 commits
150 + - am --abort: keep unrelated commits on unborn branch
151 + - am --abort: support aborting to unborn branch
152 + - am --abort: revert changes introduced by failed 3way merge
153 + - am --skip: support skipping while on unborn branch
154 + - am -3: support 3way merge on unborn branch
155 + - am --skip: revert changes introduced by failed 3way merge
156 +
157 + Various fixes around "git am" that applies a patch to a history
158 + that is not there yet.
159 +
160 + Will merge to 'next'.
161 +
162 +
163 +* pt/am-foreign (2015-06-08) 6 commits
164 + - SQUASH??? do not cat a single file into a pipe
165 + - am: teach mercurial patch parser how to read from stdin
166 + - am: use gmtime() to parse mercurial patch date
167 + - t4150: test applying StGit series
168 + - am: teach StGit patch parser how to read from stdin
169 + - t4150: test applying StGit patch
170 +
171 + Various enhancements around "git am" reading patches generated by
172 + foreign SCM.
173 +
174 + Expecting a reroll.
175 +
176 +
177 +* pt/pull-builtin (2015-06-09) 20 commits
178 + . SQUASH??? adjust to new world order after 9e3751d4 (remote.c: drop "remote" pointer from "struct branch", 2015-05-21)
179 + . pull: remove redirection to git-pull.sh
180 + . pull --rebase: error on no merge candidate cases
181 + . pull --rebase: exit early when the working directory is dirty
182 + . pull: configure --rebase via branch.<name>.rebase or pull.rebase
183 + . pull: teach git pull about --rebase
184 + . pull: set reflog message
185 + . pull: implement pulling into an unborn branch
186 + . pull: fast-forward working tree if head is updated
187 + . pull: check if in unresolved merge state
188 + - pull: support pull.ff config
189 + - pull: error on no merge candidates
190 + - pull: pass git-fetch's options to git-fetch
191 + - pull: pass git-merge's options to git-merge
192 + - pull: pass verbosity, --progress flags to fetch and merge
193 + - pull: implement fetch + merge
194 + - pull: implement skeletal builtin pull
195 + - argv-array: implement argv_array_pushv()
196 + - parse-options-cb: implement parse_opt_pass_argv_array()
197 + - parse-options-cb: implement parse_opt_pass_strbuf()
198 +
199 + Expecting a reroll.
200 +
201 +
202 +* rl/send-email-aliases (2015-06-08) 5 commits
203 + - send-email: refactor address list process
204 + - send-email: allow multiple emails using --cc, --to and --bcc
205 + - t9001-send-email: refactor header variable fields replacement
206 + - send-email: allow aliases in patch header and command script outputs
207 + - t9001-send-email: move script creation in a setup test
208 +
209 + "git send-email" now performs alias-expansion on names that are
210 + given via --cccmd, etc.
211 +
212 + Expecting a reroll.
213 +
214 +
215 +* sg/commit-cleanup-scissors (2015-06-09) 1 commit
216 + - commit: cope with scissors lines in commit message
217 +
218 + "git commit --cleanup=scissors" was not careful enough to protect
219 + against getting fooled by a line that looked like scissors.
220 +
221 + Will merge to 'next'.
222 +
223 +
224 +* sg/completion-commit-cleanup (2015-06-08) 1 commit
225 + - completion: teach 'scissors' mode to 'git commit --cleanup='
226 +
227 + Will merge to 'next'.
228 +
229 +
230 +* wp/sha1-name-negative-match (2015-06-08) 2 commits
231 + - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
232 + - test for '!' handling in rev-parse's named commits
233 +
234 + Introduce "branch^{/!-<pattern>}" notation to name a commit
235 + reachable from branch that does not match the given pattern.
236 +
237 + Expecting a reroll.
238 +
239 +
240 +* bc/object-id (2015-06-10) 7 commits
241 + - ref_newer: convert to use struct object_id
242 + - parse_fetch: convert to use struct object_id
243 + - add_sought_entry_mem: convert to struct object_id
244 + - Add a utility function to make parsing hex values easier.
245 + - Convert struct ref to use object_id.
246 + - sha1_file: introduce has_object_file helper.
247 + - refs: convert some internal functions to use object_id
248 +
249 + (incomplete)
250
251 --------------------------------------------------
252 [Stalled]
@@ -361,6 +455,38 @@ of the repositories listed at
455 --------------------------------------------------
456 [Cooking]
457
458 +* jc/ll-merge-expose-path (2015-06-04) 1 commit
459 + - ll-merge: pass the original path to external drivers
460 +
461 + Traditionally, external low-level 3-way merge drivers are expected
462 + to produce their results based solely on the contents of the three
463 + variants given in temporary files named by %O, %A and %B on their
464 + command line. Additionally allow them to look at the final path
465 + (given by %P).
466 +
467 + Will merge to 'next'.
468 +
469 +
470 +* jk/log-missing-default-HEAD (2015-06-03) 1 commit
471 + - log: diagnose empty HEAD more clearly
472 +
473 + "git init empty && git -C empty log" said "bad default revision 'HEAD'",
474 + which was found to be a bit confusing to new users.
475 +
476 + What's the status of this one?
477 +
478 +
479 +* nd/slim-index-pack-memory-usage (2015-06-04) 1 commit
480 + (merged to 'next' on 2015-06-04 at 328fd50)
481 + + index-pack: fix truncation of off_t in comparison
482 +
483 + An earlier optimization broke index-pack for a large object
484 + transfer; this fixes it before the breakage hits any released
485 + version.
486 +
487 + Will merge to 'master'.
488 +
489 +
490 * gr/rebase-i-drop-warn (2015-06-01) 2 commits
491 - git rebase -i: warn about removed commits
492 - git-rebase -i: add command "drop" to remove a commit
@@ -379,7 +505,9 @@ of the repositories listed at
505 Avoid one extra iteration and strbuf_grow() of 8kB in
506 strbuf_read().
507
382 - Looked reasonable; perhaps a log message clarification is coming?
508 + Looked reasonable; perhaps a log message clarification is needed.
509 +
510 + Expecting a reroll.
511
512
513 * jk/squelch-missing-link-warning-for-unreachable (2015-06-01) 3 commits
@@ -395,7 +523,7 @@ of the repositories listed at
523 Will merge to 'master'.
524
525
398 -* mh/reporting-broken-refs-from-for-each-ref (2015-06-03) 4 commits
526 +* mh/reporting-broken-refs-from-for-each-ref (2015-06-08) 4 commits
527 - read_loose_refs(): treat NULL_SHA1 loose references as broken
528 - read_loose_refs(): simplify function logic
529 - for-each-ref: report broken references correctly
@@ -472,12 +600,15 @@ of the repositories listed at
600 "git format-patch --ignore-if-upstream A..B" did not like to be fed
601 tags as boundary commits.
602
603 + Will merge to 'next'.
604 +
605
606 * mg/index-read-error-messages (2015-06-01) 2 commits
607 - messages: uniform error messages for index write
608 - show-index: uniform error messages for index read
609
610 The tip was RFC.
611 + Expecting a reroll.
612
613
614 * pt/pull-optparse (2015-06-02) 3 commits
@@ -508,6 +639,8 @@ of the repositories listed at
639
640 "git am" learned am.threeWay configuration variable.
641
642 + Will merge to 'next'.
643 +
644
645 * sb/pack-protocol-mention-smart-http (2015-06-02) 1 commit
646 (merged to 'next' on 2015-06-04 at 8041cf6)
@@ -527,6 +660,8 @@ of the repositories listed at
660 The gitmodules API accessed from the C code learned to cache stuff
661 lazily.
662
663 + What's the doneness of this one?
664 +
665
666 * jc/diff-ws-error-highlight (2015-05-26) 4 commits
667 (merged to 'next' on 2015-06-01 at 6046560)
@@ -703,7 +838,7 @@ of the repositories listed at
838 Still an early WIP
839
840
706 -* ee/clean-remove-dirs (2015-04-26) 5 commits
841 +* ee/clean-remove-dirs (2015-06-09) 5 commits
842 - clean: improve performance when removing lots of directories
843 - p7300: add performance tests for clean
844 - t7300: add tests to document behavior of clean and nested git
@@ -714,7 +849,7 @@ of the repositories listed at
849 be touched?" check "git clean" does by checking if it has .git/HEAD
850 using the submodule-related code with a more optimized check.
851
717 - Waiting for a reroll.
852 + Haven't seen reviews on this updated round, and I haven't read it myself.
853
854
855 * jc/merge-drop-old-syntax (2015-04-29) 1 commit