What's cooking (2012/01 #05)
[alt-git.git] / whats-cooking.txt
blob6fdb7041c697b54f4f976890a318572acd069766
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Jan 2012, #05; Mon, 23)
3 X-master-at: 69204d0ab18d28d07ee2c8c9b50bbf5bd80343ab
4 X-next-at: bee31c659a45b507c95fb5bc777eb04fad181b4d
6 What's cooking in git.git (Jan 2012, #05; Mon, 23)
7 --------------------------------------------------
9 Here are the topics that have been cooking.  Commits prefixed with '-' are
10 only in 'pu' (proposed updates) while commits prefixed with '+' are in
11 'next'.
13 Here are the repositories that have my integration branches:
15 With maint, master, next, pu, todo:
17         git://git.kernel.org/pub/scm/git/git.git
18         git://repo.or.cz/alt-git.git
19         https://code.google.com/p/git-core/
20         https://github.com/git/git
22 With only maint and master:
24         git://git.sourceforge.jp/gitroot/git-core/git.git
25         git://git-core.git.sourceforge.net/gitroot/git-core/git-core
27 With all the topics and integration branches:
29         https://github.com/gitster/git
31 The preformatted documentation in HTML and man format are found in:
33         git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/
34         git://repo.or.cz/git-{htmldocs,manpages}.git/
35         https://code.google.com/p/git-{htmldocs,manpages}.git/
36         https://github.com/gitster/git-{htmldocs,manpages}.git/
38 --------------------------------------------------
39 [Graduated to "master"]
41 * jc/pull-signed-tag-doc (2012-01-17) 1 commit
42  + pulling signed tag: add howto document
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
52 Minor fix-ups to the new feature.
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
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
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
68 --------------------------------------------------
69 [New Topics]
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
75 Looked reasonable.
76 Will merge early in the next cycle.
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
85 Looked reasonable; will hopefully help making mh/ref-api-rest simpler and
86 cleaner.
88 Will merge early in the next cycle.
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)
94 Will merge early in the next cycle and deal with any fallout in 'master'.
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
102 Will merge early in the next cycle and deal with any fallout in 'master'.
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
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.
111 Will merge early in the next cycle and deal with any fallout in 'master'.
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
117 A bugfix.
118 Will merge early in the next cycle.
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.)
129 Will merge early in the next cycle.
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.)
137 A handful of review comments seen.
138 Expecting a re-roll.
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
144 Looked reasonable.
145 Will merge early in the next cycle.
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
151 Looked reasonable.
152 Will merge early in the next cycle.
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
158 Looked reasonable.
159 Will merge early in the next cycle.
161 --------------------------------------------------
162 [Stalled]
164 * jc/advise-push-default (2011-12-18) 1 commit
165  - push: hint to use push.default=upstream when appropriate
167 Peff had a good suggestion outlining an updated code structure so that
168 somebody new can try to dip his or her toes in the development. Any
169 takers?
171 Waiting for a reroll.
173 * jc/split-blob (2011-12-01) 6 commits
174  . WIP (streaming chunked)
175  - chunked-object: fallback checkout codepaths
176  - bulk-checkin: support chunked-object encoding
177  - bulk-checkin: allow the same data to be multiply hashed
178  - new representation types in the packstream
179  - varint-in-pack: refactor varint encoding/decoding
181 Not ready.
183 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.
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
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.
228 Will defer till the next cycle.
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
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.
240 Will defer till the next cycle.
242 * nd/commit-ignore-i-t-a (2012-01-16) 2 commits
243  - commit, write-tree: allow to ignore CE_INTENT_TO_ADD while writing trees
244  - cache-tree: update API to take abitrary flags
246 May want to consider this as fixing an earlier UI mistake, and not as a
247 feature that devides the userbase.
249 Will defer till the next cycle.
251 --------------------------------------------------
252 [Cooking]
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
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.
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.
270 Will merge early in the next cycle and deal with any fallout in 'master'.
272 * nd/maint-refname-in-hierarchy-check (2012-01-11) 1 commit
273   (merged to 'next' on 2012-01-20 at acb5611)
274  + Fix incorrect ref namespace check
276 Avoid getting confused by "ref/headxxx" and mistaking it as if it is under
277 the "refs/heads/" hierarchy.
278 Will merge early in the next cycle.
280 * jc/advise-i18n (2011-12-22) 1 commit
281   (merged to 'next' on 2012-01-23 at 6447013)
282  + i18n of multi-line advice messages
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.
290 Will merge early in the next cycle.
292 * rr/sequencer (2012-01-11) 2 commits
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
297 Moving large chunk of code out of cherry-pick/revert for later reuse,
298 primarily to prepare for the next cycle.
300 Will merge early in the next cycle.
302 * tr/maint-mailinfo (2012-01-16) 2 commits
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
307 Looked reasonable.
308 Will merge early in the next cycle.
310 * pw/p4-view-updates (2012-01-11) 5 commits
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
318 Will merge early in the next cycle.
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
324 Looked reasonable.
325 Will merge early in the next cycle and deal with any fallout in 'master'.
327 * cb/push-quiet (2012-01-08) 3 commits
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
333 Looked reasonable.
334 Will merge early in the next cycle.
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.)
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'.
355 * nd/clone-single-branch (2012-01-08) 1 commit
356   (merged to 'next' on 2012-01-09 at 6c3c759)
357  + clone: add --single-branch to fetch only one branch
358  (this branch is used by nd/clone-detached.)
360 Looked reasonable.
361 Will merge early in the next cycle.
363 * jn/gitweb-unspecified-action (2012-01-09) 1 commit
364   (merged to 'next' on 2012-01-20 at 2b31714)
365  + gitweb: Fix actionless dispatch for non-existent objects
367 Looked reasonable.
368 Will merge early in the next cycle.
370 * nd/index-pack-no-recurse (2012-01-16) 3 commits
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
376 Much better explained than the previous round.
377 Will merge early in the next cycle and deal with any fallout in 'master'.
379 * cb/git-daemon-tests (2012-01-08) 5 commits
380   (merged to 'next' on 2012-01-08 at 1db8351)
381  + git-daemon tests: wait until daemon is ready
382  + git-daemon: produce output when ready
383  + git-daemon: add tests
384  + dashed externals: kill children on exit
385  + run-command: optionally kill children on exit
387 Will merge early in the next cycle.
389 * jk/parse-object-cached (2012-01-06) 3 commits
390   (merged to 'next' on 2012-01-08 at 8c6fa4a)
391  + upload-pack: avoid parsing tag destinations
392  + upload-pack: avoid parsing objects during ref advertisement
393  + parse_object: try internal cache before reading object db
395 These are a bit scary changes, but I do think they are worth doing.
396 Will merge early in the next cycle and deal with any fallout in 'master'.