What's cooking (2012/01 #05)

Junio C Hamano committed Jan 23, 2012 at 16:53 UTC b256209e8ccf3d5462a726534eca9548dbb3587f
1 file changed +231 -149
whats-cooking.txt
+231 -149
@@ -1,9 +1,9 @@
1 To: git@vger.kernel.org
2 -Subject: What's cooking in git.git (Jan 2012, #04; Mon, 16)
3 -X-master-at: b63103e908af54e5e2eaa3faad350e4738ef0047
4 -X-next-at: 01892647622b2d0497b1bd74eff0113b8e0abc5c
2 +Subject: What's cooking in git.git (Jan 2012, #05; Mon, 23)
3 +X-master-at: 69204d0ab18d28d07ee2c8c9b50bbf5bd80343ab
4 +X-next-at: bee31c659a45b507c95fb5bc777eb04fad181b4d
5
6 -What's cooking in git.git (Jan 2012, #04; Mon, 16)
6 +What's cooking in git.git (Jan 2012, #05; Mon, 23)
7 --------------------------------------------------
8
9 Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -36,55 +36,127 @@ The preformatted documentation in HTML and man format are found in:
36 https://github.com/gitster/git-{htmldocs,manpages}.git/
37
38 --------------------------------------------------
39 -[New Topics]
39 +[Graduated to "master"]
40 +
41 +* jc/pull-signed-tag-doc (2012-01-17) 1 commit
42 + + pulling signed tag: add howto document
43 +
44 +* jk/credentials (2012-01-16) 4 commits
45 + (merged to 'next' on 2012-01-16 at 2810b82)
46 + + credential-cache: ignore "connection refused" errors
47 + (merged to 'next' on 2012-01-16 at 1c6c94a)
48 + + unix-socket: do not let close() or chdir() clobber errno during cleanup
49 + + credential-cache: report more daemon connection errors
50 + + unix-socket: handle long socket pathnames
51 +
52 +Minor fix-ups to the new feature.
53
54 * mh/maint-show-ref-doc (2012-01-13) 2 commits
55 (merged to 'next' on 2012-01-16 at 8573f09)
56 + git-show-ref doc: typeset regexp in fixed width font
57 + git-show-ref: fix escaping in asciidoc source
58
46 -Will merge to 'master' by v1.7.9-rc2.
47 -
59 * nd/pathspec-recursion-cleanup (2012-01-16) 2 commits
60 (merged to 'next' on 2012-01-16 at 0189264)
61 + diff-index: enable recursive pathspec matching in unpack_trees
62 + Document limited recursion pathspec matching with wildcards
63
53 -Will merge to 'master' by v1.7.9-rc2.
54 -
64 * tr/maint-word-diff-incomplete-line (2012-01-12) 1 commit
65 (merged to 'next' on 2012-01-16 at 58ddaaf)
66 + word-diff: ignore '\ No newline at eof' marker
67
59 -Will merge to 'master' by v1.7.9-rc2.
60 -
68 --------------------------------------------------
62 -[Graduated to "master"]
69 +[New Topics]
70 +
71 +* jl/test-pause (2012-01-17) 1 commit
72 + (merged to 'next' on 2012-01-20 at ee56335)
73 + + test-lib: add the test_pause convenience function
74 +
75 +Looked reasonable.
76 +Will merge early in the next cycle.
77 +
78 +* mh/ref-clone-without-extra-refs (2012-01-17) 4 commits
79 + (merged to 'next' on 2012-01-20 at 2e9645e)
80 + + write_remote_refs(): create packed (rather than extra) refs
81 + + add_packed_ref(): new function in the refs API.
82 + + ref_array: keep track of whether references are sorted
83 + + pack_refs(): remove redundant check
84 +
85 +Looked reasonable; will hopefully help making mh/ref-api-rest simpler and
86 +cleaner.
87 +
88 +Will merge early in the next cycle.
89 +
90 +* mm/zsh-completion-regression-fix (2012-01-17) 1 commit
91 + (merged to 'next' on 2012-01-23 at 7bc2e0a)
92 + + bash-completion: don't add quoted space for ZSH (fix regression)
93 +
94 +Will merge early in the next cycle and deal with any fallout in 'master'.
95 +
96 +* ar/i18n-no-gettext (2012-01-23) 3 commits
97 + (merged to 'next' on 2012-01-23 at 694a94e)
98 + + i18n: Make NO_GETTEXT imply fallthrough scheme in shell l10n
99 + + add a Makefile switch to avoid gettext translation in shell scripts
100 + + git-sh-i18n: restructure the logic to compute gettext.sh scheme
101
64 -* jc/request-pull-show-head-4 (2012-01-10) 1 commit
65 - (merged to 'next' on 2012-01-11 at 8d98a6b)
66 - + request-pull: use the real fork point when preparing the message
102 +Will merge early in the next cycle and deal with any fallout in 'master'.
103
68 -Hopefully the final finishing touch to the request-pull script that was
69 -updated during this cycle.
104 +* da/maint-mergetool-twoway (2012-01-23) 1 commit
105 + (merged to 'next' on 2012-01-23 at f927323)
106 + + mergetool: Provide an empty file when needed
107
71 -* jk/maint-upload-archive (2012-01-11) 1 commit
72 - (merged to 'next' on 2012-01-11 at 5c0bfa9)
73 - + archive: re-allow HEAD:Documentation on a remote invocation
108 +Caters to GUI merge backends that cannot merge two files without
109 +a base by giving them an empty file as a "pretend" common ancestor.
110
75 -Running "git archive" remotely and asking for a partial tree of a ref,
76 -e.g. HEAD:$path was forbidden by a recent change to tighten security, but
77 -was found to be overly restrictive.
111 +Will merge early in the next cycle and deal with any fallout in 'master'.
112
79 -* jn/maint-gitweb-grep-fix (2012-01-05) 2 commits
80 - (merged to 'next' on 2012-01-13 at a15e6ab)
81 - + gitweb: Harden "grep" search against filenames with ':'
82 - + gitweb: Fix file links in "grep" search
113 +* jc/maint-log-first-parent-pathspec (2012-01-19) 1 commit
114 + (merged to 'next' on 2012-01-20 at fb2b35f)
115 + + Making pathspec limited log play nicer with --first-parent
116
84 -* ss/maint-msys-cvsexportcommit (2012-01-11) 2 commits
85 - (merged to 'next' on 2012-01-11 at 007aab1)
86 - + git-cvsexportcommit: Fix calling Perl's rel2abs() on MSYS
87 - + t9200: On MSYS, do not pass Windows-style paths to CVS
117 +A bugfix.
118 +Will merge early in the next cycle.
119 +
120 +* ld/git-p4-branches-and-labels (2012-01-20) 5 commits
121 + (merged to 'next' on 2012-01-23 at 9020ec4)
122 + + git-p4: label import fails with multiple labels at the same changelist
123 + + git-p4: add test for p4 labels
124 + + git-p4: importing labels should cope with missing owner
125 + + git-p4: cope with labels with empty descriptions
126 + + git-p4: handle p4 branches and labels containing shell chars
127 + (this branch is used by va/git-p4-branch.)
128 +
129 +Will merge early in the next cycle.
130 +
131 +* va/git-p4-branch (2012-01-20) 3 commits
132 + - git-p4: Add test case for complex branch import
133 + - git-p4: Search for parent commit on branch creation
134 + - git-p4: Add checkpoint() task
135 + (this branch uses ld/git-p4-branches-and-labels.)
136 +
137 +A handful of review comments seen.
138 +Expecting a re-roll.
139 +
140 +* sp/smart-http-failure-to-push (2012-01-20) 1 commit
141 + (merged to 'next' on 2012-01-20 at a892434)
142 + + remote-curl: Fix push status report when all branches fail
143 +
144 +Looked reasonable.
145 +Will merge early in the next cycle.
146 +
147 +* ks/sort-wildcard-in-makefile (2012-01-22) 1 commit
148 + (merged to 'next' on 2012-01-23 at e2e0c1d)
149 + + t/Makefile: Use $(sort ...) explicitly where needed
150 +
151 +Looked reasonable.
152 +Will merge early in the next cycle.
153 +
154 +* tr/grep-l-with-decoration (2012-01-23) 1 commit
155 + (merged to 'next' on 2012-01-23 at 42b8795)
156 + + grep: fix -l/-L interaction with decoration lines
157 +
158 +Looked reasonable.
159 +Will merge early in the next cycle.
160
161 --------------------------------------------------
162 [Stalled]
@@ -112,20 +184,58 @@ At least pack-objects and fsck need to learn the new encoding for the
184 series to be usable locally, and then index-pack/unpack-objects needs to
185 learn it to be used remotely.
186
115 ---------------------------------------------------
116 -[Cooking]
187 +* mh/ref-api-rest (2011-12-12) 35 commits
188 + . repack_without_ref(): call clear_packed_ref_cache()
189 + . read_packed_refs(): keep track of the directory being worked in
190 + . is_refname_available(): query only possibly-conflicting references
191 + . refs: read loose references lazily
192 + . read_loose_refs(): take a (ref_entry *) as argument
193 + . struct ref_dir: store a reference to the enclosing ref_cache
194 + . sort_ref_dir(): take (ref_entry *) instead of (ref_dir *)
195 + . do_for_each_ref_in_dir*(): take (ref_entry *) instead of (ref_dir *)
196 + . add_entry(): take (ref_entry *) instead of (ref_dir *)
197 + . search_ref_dir(): take (ref_entry *) instead of (ref_dir *)
198 + . find_containing_direntry(): use (ref_entry *) instead of (ref_dir *)
199 + . add_ref(): take (ref_entry *) instead of (ref_dir *)
200 + . read_packed_refs(): take (ref_entry *) instead of (ref_dir *)
201 + . find_ref(): take (ref_entry *) instead of (ref_dir *)
202 + . is_refname_available(): take (ref_entry *) instead of (ref_dir *)
203 + . get_loose_refs(): return (ref_entry *) instead of (ref_dir *)
204 + . get_packed_refs(): return (ref_entry *) instead of (ref_dir *)
205 + . refs: wrap top-level ref_dirs in ref_entries
206 + . get_ref_dir(): keep track of the current ref_dir
207 + . do_for_each_ref(): only iterate over the subtree that was requested
208 + . refs: sort ref_dirs lazily
209 + . sort_ref_dir(): do not sort if already sorted
210 + . refs: store references hierarchically
211 + . refs.c: rename ref_array -> ref_dir
212 + . struct ref_entry: nest the value part in a union
213 + . check_refname_component(): return 0 for zero-length components
214 + . free_ref_entry(): new function
215 + . refs.c: reorder definitions more logically
216 + . is_refname_available(): reimplement using do_for_each_ref_in_array()
217 + . names_conflict(): simplify implementation
218 + . names_conflict(): new function, extracted from is_refname_available()
219 + . repack_without_ref(): reimplement using do_for_each_ref_in_array()
220 + . do_for_each_ref_in_arrays(): new function
221 + . do_for_each_ref_in_array(): new function
222 + . do_for_each_ref(): correctly terminate while processesing extra_refs
223 +
224 +I had to remove this temporarily out of 'pu' as I didn't want to deal with
225 +merge conflicts with the mh/ref-clone-without-extra-refs topic that
226 +removes yet another caller of add_extra_ref() that this series touches.
227
118 -* jc/pull-signed-tag (2012-01-11) 1 commit
119 - - merge: use editor by default in interactive sessions
228 +Will defer till the next cycle.
229
121 -Per Linus's strong suggestion, sugarcoated (aka "taking blame for the
122 -original UI screw-ups") so that it is easier for me to swallow and accept
123 -a potentially huge backward incompatibility issue, "git merge" is made to
124 -launch an editor to explain the merge in the merge commit by default in
125 -interactive sessions.
230 +* ss/git-svn-prompt-sans-terminal (2012-01-04) 3 commits
231 + - fixup! 15eaaf4
232 + - git-svn, perl/Git.pm: extend Git::prompt helper for querying users
233 + (merged to 'next' on 2012-01-05 at 954f125)
234 + + perl/Git.pm: "prompt" helper to honor GIT_ASKPASS and SSH_ASKPASS
235
127 -May need renaming the backward compatibility "GIT_MERGE_LEGACY"
128 -environment variable, and also will need a smoother migration plan.
236 +The bottom one has been replaced with a rewrite based on comments from
237 +Ævar. The second one needs more work, both in perl/Git.pm and prompt.c, to
238 +give precedence to tty over SSH_ASKPASS when terminal is available.
239
240 Will defer till the next cycle.
241
@@ -138,84 +248,109 @@ feature that devides the userbase.
248
249 Will defer till the next cycle.
250
251 +--------------------------------------------------
252 +[Cooking]
253 +
254 +* jc/pull-signed-tag (2012-01-23) 1 commit
255 + (merged to 'next' on 2012-01-23 at 4257553)
256 + + merge: use editor by default in interactive sessions
257 +
258 +Per Linus's strong suggestion, sugarcoated (aka "taking blame for the
259 +original UI screw-ups") so that it is easier for me to swallow and accept
260 +a potentially huge backward incompatibility issue, "git merge" is made to
261 +launch an editor to explain the merge in the merge commit by default in
262 +interactive sessions.
263 +
264 +I've updated the special-case environment variable to MERGE_AUTOEDIT that
265 +scripts can set to "no" when they start. There is no plan to encourage
266 +humans to keep using the historical behaviour, hence there is no support
267 +for configuration variable (e.g. merge.autoedit) that can be set to 'no'.
268 +Oh, also I updated the documentation a bit.
269 +
270 +Will merge early in the next cycle and deal with any fallout in 'master'.
271 +
272 * nd/maint-refname-in-hierarchy-check (2012-01-11) 1 commit
142 - - Fix incorrect ref namespace check
273 + (merged to 'next' on 2012-01-20 at acb5611)
274 + + Fix incorrect ref namespace check
275
276 Avoid getting confused by "ref/headxxx" and mistaking it as if it is under
277 the "refs/heads/" hierarchy.
146 -Not urgent.
278 +Will merge early in the next cycle.
279
280 * jc/advise-i18n (2011-12-22) 1 commit
149 - - i18n of multi-line advice messages
281 + (merged to 'next' on 2012-01-23 at 6447013)
282 + + i18n of multi-line advice messages
283
284 Allow localization of advice messages that tend to be longer and
285 multi-line formatted. For now this is deliberately limited to advise()
286 interface and not vreportf() in general as touching the latter has
287 interactions with error() that has plumbing callers whose prefix "error: "
288 should never be translated.
156 -Not urgent.
289 +
290 +Will merge early in the next cycle.
291
292 * rr/sequencer (2012-01-11) 2 commits
159 - - sequencer: factor code out of revert builtin
160 - - revert: prepare to move replay_action to header
293 + (merged to 'next' on 2012-01-23 at f349b56)
294 + + sequencer: factor code out of revert builtin
295 + + revert: prepare to move replay_action to header
296
297 Moving large chunk of code out of cherry-pick/revert for later reuse,
298 primarily to prepare for the next cycle.
164 -Not urgent.
299 +
300 +Will merge early in the next cycle.
301
302 * tr/maint-mailinfo (2012-01-16) 2 commits
167 - - mailinfo: with -b, keep space after [foo]
168 - - am: learn passing -b to mailinfo
303 + (merged to 'next' on 2012-01-20 at 278fae1)
304 + + mailinfo: with -b, keep space after [foo]
305 + + am: learn passing -b to mailinfo
306
307 Looked reasonable.
171 -Not urgent.
172 -
173 -* jk/credentials (2012-01-11) 3 commits
174 - (merged to 'next' on 2012-01-16 at 1c6c94a)
175 - + unix-socket: do not let close() or chdir() clobber errno during cleanup
176 - + credential-cache: report more daemon connection errors
177 - + unix-socket: handle long socket pathnames
178 -
179 -Minor fix-ups to the new feature.
180 -Will merge to 'master' by v1.7.9-rc2.
308 +Will merge early in the next cycle.
309
310 * pw/p4-view-updates (2012-01-11) 5 commits
183 - - git-p4: add tests demonstrating spec overlay ambiguities
184 - - git-p4: adjust test to adhere to stricter useClientSpec
185 - - git-p4: clarify comment
186 - - git-p4: fix verbose comment typo
187 - - git-p4: only a single ... wildcard is supported
311 + (merged to 'next' on 2012-01-20 at 8ca2c7b)
312 + + git-p4: add tests demonstrating spec overlay ambiguities
313 + + git-p4: adjust test to adhere to stricter useClientSpec
314 + + git-p4: clarify comment
315 + + git-p4: fix verbose comment typo
316 + + git-p4: only a single ... wildcard is supported
317 +
318 +Will merge early in the next cycle.
319
320 * rs/diff-postimage-in-context (2012-01-06) 1 commit
321 (merged to 'next' on 2012-01-09 at 9635032)
322 + xdiff: print post-image for common records instead of pre-image
323
324 Looked reasonable.
194 -Not urgent.
325 +Will merge early in the next cycle and deal with any fallout in 'master'.
326
327 * cb/push-quiet (2012-01-08) 3 commits
197 - - t5541: avoid TAP test miscounting
198 - - fix push --quiet: add 'quiet' capability to receive-pack
199 - - server_supports(): parse feature list more carefully
328 + (merged to 'next' on 2012-01-20 at 4326dda)
329 + + t5541: avoid TAP test miscounting
330 + + fix push --quiet: add 'quiet' capability to receive-pack
331 + + server_supports(): parse feature list more carefully
332
333 Looked reasonable.
202 -Not urgent.
203 -
204 -* nd/clone-detached (2012-01-16) 10 commits
205 - - clone: print advice on checking out detached HEAD
206 - - clone: allow --branch to take a tag
207 - - clone: refuse to clone if --branch points to bogus ref
208 - - clone: --branch=<branch> always means refs/heads/<branch>
209 - - clone: delay cloning until after remote HEAD checking
210 - - clone: factor out remote ref writing
211 - - clone: factor out HEAD update code
212 - - clone: factor out checkout code
213 - - clone: write detached HEAD in bare repositories
214 - - t5601: add missing && cascade
334 +Will merge early in the next cycle.
335 +
336 +* nd/clone-detached (2012-01-23) 11 commits
337 + (merged to 'next' on 2012-01-23 at bee31c6)
338 + + push: do not let configured foreign-vcs permanently clobbered
339 + (merged to 'next' on 2012-01-23 at 9cab64e)
340 + + clone: print advice on checking out detached HEAD
341 + + clone: allow --branch to take a tag
342 + + clone: refuse to clone if --branch points to bogus ref
343 + + clone: --branch=<branch> always means refs/heads/<branch>
344 + + clone: delay cloning until after remote HEAD checking
345 + + clone: factor out remote ref writing
346 + + clone: factor out HEAD update code
347 + + clone: factor out checkout code
348 + + clone: write detached HEAD in bare repositories
349 + + t5601: add missing && cascade
350 (this branch uses nd/clone-single-branch.)
351
217 -Looking good.
218 -Not urgent.
352 +Applied a band-aid to a corner-case regression.
353 +Will merge early in the next cycle and deal with any fallout in 'master'.
354
355 * nd/clone-single-branch (2012-01-08) 1 commit
356 (merged to 'next' on 2012-01-09 at 6c3c759)
@@ -223,76 +358,23 @@ Not urgent.
358 (this branch is used by nd/clone-detached.)
359
360 Looked reasonable.
226 -Not urgent.
361 +Will merge early in the next cycle.
362
363 * jn/gitweb-unspecified-action (2012-01-09) 1 commit
229 - - gitweb: Fix actionless dispatch for non-existent objects
364 + (merged to 'next' on 2012-01-20 at 2b31714)
365 + + gitweb: Fix actionless dispatch for non-existent objects
366
367 Looked reasonable.
232 -Not urgent.
368 +Will merge early in the next cycle.
369
370 * nd/index-pack-no-recurse (2012-01-16) 3 commits
235 - - index-pack: eliminate unlimited recursion in get_base_data()
236 - - index-pack: eliminate recursion in find_unresolved_deltas
237 - - Eliminate recursion in setting/clearing marks in commit list
371 + (merged to 'next' on 2012-01-20 at d1e964e)
372 + + index-pack: eliminate unlimited recursion in get_base_data()
373 + + index-pack: eliminate recursion in find_unresolved_deltas
374 + + Eliminate recursion in setting/clearing marks in commit list
375
376 Much better explained than the previous round.
240 -Will defer till the next cycle.
241 -
242 -* mh/ref-api-rest (2011-12-12) 35 commits
243 - - repack_without_ref(): call clear_packed_ref_cache()
244 - - read_packed_refs(): keep track of the directory being worked in
245 - - is_refname_available(): query only possibly-conflicting references
246 - - refs: read loose references lazily
247 - - read_loose_refs(): take a (ref_entry *) as argument
248 - - struct ref_dir: store a reference to the enclosing ref_cache
249 - - sort_ref_dir(): take (ref_entry *) instead of (ref_dir *)
250 - - do_for_each_ref_in_dir*(): take (ref_entry *) instead of (ref_dir *)
251 - - add_entry(): take (ref_entry *) instead of (ref_dir *)
252 - - search_ref_dir(): take (ref_entry *) instead of (ref_dir *)
253 - - find_containing_direntry(): use (ref_entry *) instead of (ref_dir *)
254 - - add_ref(): take (ref_entry *) instead of (ref_dir *)
255 - - read_packed_refs(): take (ref_entry *) instead of (ref_dir *)
256 - - find_ref(): take (ref_entry *) instead of (ref_dir *)
257 - - is_refname_available(): take (ref_entry *) instead of (ref_dir *)
258 - - get_loose_refs(): return (ref_entry *) instead of (ref_dir *)
259 - - get_packed_refs(): return (ref_entry *) instead of (ref_dir *)
260 - - refs: wrap top-level ref_dirs in ref_entries
261 - - get_ref_dir(): keep track of the current ref_dir
262 - - do_for_each_ref(): only iterate over the subtree that was requested
263 - - refs: sort ref_dirs lazily
264 - - sort_ref_dir(): do not sort if already sorted
265 - - refs: store references hierarchically
266 - - refs.c: rename ref_array -> ref_dir
267 - - struct ref_entry: nest the value part in a union
268 - - check_refname_component(): return 0 for zero-length components
269 - - free_ref_entry(): new function
270 - - refs.c: reorder definitions more logically
271 - - is_refname_available(): reimplement using do_for_each_ref_in_array()
272 - - names_conflict(): simplify implementation
273 - - names_conflict(): new function, extracted from is_refname_available()
274 - - repack_without_ref(): reimplement using do_for_each_ref_in_array()
275 - - do_for_each_ref_in_arrays(): new function
276 - - do_for_each_ref_in_array(): new function
277 - - do_for_each_ref(): correctly terminate while processesing extra_refs
278 -
279 -The API for extra anchoring points may require rethought first; that would
280 -hopefully make the "ref" part a lot simpler. And that is happening in
281 -another topic (which has graduated to 'master').
282 -
283 -Will defer till the next cycle.
284 -
285 -* ss/git-svn-prompt-sans-terminal (2012-01-04) 3 commits
286 - - fixup! 15eaaf4
287 - - git-svn, perl/Git.pm: extend Git::prompt helper for querying users
288 - (merged to 'next' on 2012-01-05 at 954f125)
289 - + perl/Git.pm: "prompt" helper to honor GIT_ASKPASS and SSH_ASKPASS
290 -
291 -The bottom one has been replaced with a rewrite based on comments from
292 -Ævar. The second one needs more work, both in perl/Git.pm and prompt.c, to
293 -give precedence to tty over SSH_ASKPASS when terminal is available.
294 -
295 -Will defer till the next cycle.
377 +Will merge early in the next cycle and deal with any fallout in 'master'.
378
379 * cb/git-daemon-tests (2012-01-08) 5 commits
380 (merged to 'next' on 2012-01-08 at 1db8351)
@@ -302,7 +384,7 @@ Will defer till the next cycle.
384 + dashed externals: kill children on exit
385 + run-command: optionally kill children on exit
386
305 -Will defer till the next cycle.
387 +Will merge early in the next cycle.
388
389 * jk/parse-object-cached (2012-01-06) 3 commits
390 (merged to 'next' on 2012-01-08 at 8c6fa4a)
@@ -311,4 +393,4 @@ Will defer till the next cycle.
393 + parse_object: try internal cache before reading object db
394
395 These are a bit scary changes, but I do think they are worth doing.
314 -Will defer till the next cycle.
396 +Will merge early in the next cycle and deal with any fallout in 'master'.