What's cooking (2011/12 #06)
[git/jnareb-git.git] / whats-cooking.txt
blob624cdf3b169f097f6a7f052a80de291010a5ac4f
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Dec 2011, #06; Sun, 18)
3 X-master-at: d16520499d2652b5b59dfb25f9cf2d56a4c6913a
4 X-next-at: 03f4636270a389f701ff4d876e0535fb9fbdc969
6 What's cooking in git.git (Dec 2011, #06; Sun, 18)
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 A handful of topics have graduated to 'master', but they are all minor.
14 More important features for 1.7.9 will come in the next batch (marked as
15 'Will merge to "master"' below), which should happen in a couple of days;
16 Peff's credential series is among them.
18 Here are the repositories that have my integration branches:
20 With maint, master, next, pu, todo:
22         git://git.kernel.org/pub/scm/git/git.git
23         git://repo.or.cz/alt-git.git
24         https://code.google.com/p/git-core/
25         https://github.com/git/git
27 With only maint and master:
29         git://git.sourceforge.jp/gitroot/git-core/git.git
30         git://git-core.git.sourceforge.net/gitroot/git-core/git-core
32 With all the topics and integration branches:
34         https://github.com/gitster/git
36 The preformatted documentation in HTML and man format are found in:
38         git://git.kernel.org/pub/scm/git/git-{htmldocs,manpages}.git/
39         git://repo.or.cz/git-{htmldocs,manpages}.git/
40         https://code.google.com/p/git-{htmldocs,manpages}.git/
41         https://github.com/gitster/git-{htmldocs,manpages}.git/
43 --------------------------------------------------
44 [Graduated to "master"]
46 * aw/rebase-i-stop-on-failure-to-amend (2011-11-30) 1 commit
47   (merged to 'next' on 2011-12-09 at a117e83)
48  + rebase -i: interrupt rebase when "commit --amend" failed during "reword"
50 * jc/commit-amend-no-edit (2011-12-08) 5 commits
51   (merged to 'next' on 2011-12-09 at b9cfa4e)
52  + test: commit --amend should honor --no-edit
53  + commit: honour --no-edit
54  + t7501 (commit): modernize style
55  + test: remove a porcelain test that hard-codes commit names
56  + test: add missing "&&" after echo command
58 * jc/stream-to-pack (2011-12-01) 5 commits
59   (merged to 'next' on 2011-12-09 at d0fd605)
60  + bulk-checkin: replace fast-import based implementation
61  + csum-file: introduce sha1file_checkpoint
62  + finish_tmp_packfile(): a helper function
63  + create_tmp_packfile(): a helper function
64  + write_pack_header(): a helper function
65  (this branch is used by jc/split-blob.)
67 Teaches "git add" to send large-ish blob data straight to a packfile.
68 This is a continuation to the "large file support" topic. The codepath to
69 move data from worktree to repository is made aware of streaming, just
70 like the checkout codepath that goes the other way, which was done in the
71 previous "large file support" topic in the 1.7.7 cycle.
73 * jh/fast-import-notes (2011-11-28) 3 commits
74   (merged to 'next' on 2011-12-09 at 2b01132)
75  + fast-import: Fix incorrect fanout level when modifying existing notes refs
76  + t9301: Add 2nd testcase exposing bugs in fast-import's notes fanout handling
77  + t9301: Fix testcase covering up a bug in fast-import's notes fanout handling
79 * jk/upload-archive-use-start-command (2011-11-21) 1 commit
80   (merged to 'next' on 2011-12-09 at 88cb83a)
81  + upload-archive: use start_command instead of fork
83 --------------------------------------------------
84 [New Topics]
86 * cn/maint-lf-to-crlf-filter (2011-12-16) 1 commit
87  - lf_to_crlf_filter(): tell the caller we added "\n" when draining
88  (this branch is used by jc/maint-lf-to-crlf-keep-crlf.)
90 A recent fix to the codepath was not quite correct.
92 Will merge to "next".
94 * jc/maint-lf-to-crlf-keep-crlf (2011-12-18) 1 commit
95  - lf_to_crlf_filter(): resurrect CRLF->CRLF hack
96  (this branch uses cn/maint-lf-to-crlf-filter.)
98 The lf-to-crlf filter in the streaming checkout codepath forgot that we
99 try not to convert LF to CRLF if the repository data already has CRLF.
101 Will merge to "next".
103 * jc/request-pull-show-head-4 (2011-12-16) 1 commit
104   (merged to 'next' on 2011-12-16 at bea51ac)
105  + request-pull: update the "pull" command generation logic
107 Will merge to "master".
109 * jk/doc-fsck (2011-12-16) 1 commit
110  - docs: brush up obsolete bits of git-fsck manpage
112 Will merge to "next".
114 * jk/follow-rename-score (2011-12-16) 1 commit
115  - use custom rename score during --follow
117 Will merge to "next".
119 * jk/pretty-reglog-ent (2011-12-16) 1 commit
120  - pretty: give placeholders to reflog identity
122 Will merge to "next".
124 * jk/http-push-to-empty (2011-12-17) 1 commit
125  - remote-curl: don't pass back fake refs
127 Will merge to "next".
129 * jk/maint-push-v-is-verbose (2011-12-17) 1 commit
130  - make "git push -v" actually verbose
132 Will merge to "next".
134 * jk/maint-strbuf-missing-init (2011-12-18) 2 commits
135  - Update jk/maint-strbuf-missing-init to builtin/ rename
136  - commit, merge: initialize static strbuf
138 Will merge to "next".
140 * rs/diff-tree-combined-clean-up (2011-12-17) 3 commits
141  - submodule: use diff_tree_combined_merge() instead of diff_tree_combined()
142  - pass struct commit to diff_tree_combined_merge()
143  - use struct sha1_array in diff_tree_combined()
145 Will merge to "next".
147 * jn/maint-gitweb-utf8-fix (2011-12-18) 4 commits
148  - gitweb: Fix fallback mode of to_utf8 subroutine
149  - gitweb: Output valid utf8 in git_blame_common('data')
150  - gitweb: esc_html() site name for title in OPML
151  - gitweb: Call to_utf8() on input string in chop_and_escape_str()
153 Will merge to "next".
155 * pw/p4-docs-and-tests (2011-12-18) 11 commits
156  - git-p4: document and test submit options
157  - git-p4: test and document --use-client-spec
158  - git-p4: test --keep-path
159  - git-p4: test --max-changes
160  - git-p4: document and test --import-local
161  - git-p4: honor --changesfile option and test
162  - git-p4: document and test clone --branch
163  - git-p4: test cloning with two dirs, clarify doc
164  - git-p4: clone does not use --git-dir
165  - git-p4: test debug macro
166  - git-p4: introduce asciidoc documentation
168 * jc/advise-push-default (2011-12-18) 2 commits
169  - push: hint to use push.default=upstream when appropriate
170  - advice: Document that they all default to true
172 A counter-proposal to jc/push-ignore-stale that may encourage a bad
173 workflow.
175 --------------------------------------------------
176 [Cooking]
178 * ef/setenv-putenv (2011-12-14) 2 commits
179  - compat/setenv.c: error if name contains '='
180  - compat/setenv.c: update errno when erroring out
181  (this branch is used by ef/x-setenv-putenv.)
183 Will merge to "next".
185 * jk/maint-do-not-feed-stdin-to-tests (2011-12-15) 1 commit
186  - test-lib: redirect stdin of tests
188 Will merge to "next".
190 * jn/test-cleanup-7006 (2011-12-14) 1 commit
191  - test: errors preparing for a test are not special
193 Will merge to "next".
195 * nd/war-on-nul-in-commit (2011-12-15) 3 commits
196  - commit_tree(): refuse commit messages that contain NULs
197  - Convert commit_tree() to take strbuf as message
198  - merge: abort if fails to commit
200 Will merge to "next".
202 * jk/git-prompt (2011-12-12) 10 commits
203  - contrib: add credential helper for OS X Keychain
204  - Makefile: OS X has /dev/tty
205  - Makefile: linux has /dev/tty
206  - credential: use git_prompt instead of git_getpass
207  - prompt: use git_terminal_prompt
208  - add generic terminal prompt function
209  - refactor git_getpass into generic prompt function
210  - move git_getpass to its own source file
211  - imap-send: don't check return value of git_getpass
212  - imap-send: avoid buffer overflow
213  (this branch uses jk/credentials.)
215 Will merge to 'next' after taking another look.
217 * mh/ref-api-rest (2011-12-12) 35 commits
218  - repack_without_ref(): call clear_packed_ref_cache()
219  - read_packed_refs(): keep track of the directory being worked in
220  - is_refname_available(): query only possibly-conflicting references
221  - refs: read loose references lazily
222  - read_loose_refs(): take a (ref_entry *) as argument
223  - struct ref_dir: store a reference to the enclosing ref_cache
224  - sort_ref_dir(): take (ref_entry *) instead of (ref_dir *)
225  - do_for_each_ref_in_dir*(): take (ref_entry *) instead of (ref_dir *)
226  - add_entry(): take (ref_entry *) instead of (ref_dir *)
227  - search_ref_dir(): take (ref_entry *) instead of (ref_dir *)
228  - find_containing_direntry(): use (ref_entry *) instead of (ref_dir *)
229  - add_ref(): take (ref_entry *) instead of (ref_dir *)
230  - read_packed_refs(): take (ref_entry *) instead of (ref_dir *)
231  - find_ref(): take (ref_entry *) instead of (ref_dir *)
232  - is_refname_available(): take (ref_entry *) instead of (ref_dir *)
233  - get_loose_refs(): return (ref_entry *) instead of (ref_dir *)
234  - get_packed_refs(): return (ref_entry *) instead of (ref_dir *)
235  - refs: wrap top-level ref_dirs in ref_entries
236  - get_ref_dir(): keep track of the current ref_dir
237  - do_for_each_ref(): only iterate over the subtree that was requested
238  - refs: sort ref_dirs lazily
239  - sort_ref_dir(): do not sort if already sorted
240  - refs: store references hierarchically
241  - refs.c: rename ref_array -> ref_dir
242  - struct ref_entry: nest the value part in a union
243  - check_refname_component(): return 0 for zero-length components
244  - free_ref_entry(): new function
245  - refs.c: reorder definitions more logically
246  - is_refname_available(): reimplement using do_for_each_ref_in_array()
247  - names_conflict(): simplify implementation
248  - names_conflict(): new function, extracted from is_refname_available()
249  - repack_without_ref(): reimplement using do_for_each_ref_in_array()
250  - do_for_each_ref_in_arrays(): new function
251  - do_for_each_ref_in_array(): new function
252  - do_for_each_ref(): correctly terminate while processesing extra_refs
253  (this branch uses mh/ref-api.)
255 The API for extra anchoring points may require rethought first; that would
256 hopefully make the "ref" part a lot simpler.
258 * ci/stripspace-docs (2011-12-12) 1 commit
259   (merged to 'next' on 2011-12-13 at 35b2cdf)
260  + Update documentation for stripspace
262 Will merge to "master".
264 * jk/maint-mv (2011-12-12) 5 commits
265   (merged to 'next' on 2011-12-13 at 58caedb)
266  + mv: be quiet about overwriting
267  + mv: improve overwrite warning
268  + mv: make non-directory destination error more clear
269  + mv: honor --verbose flag
270  + docs: mention "-k" for both forms of "git mv"
272 Will merge to "master".
274 * jk/maint-snprintf-va-copy (2011-12-12) 1 commit
275   (merged to 'next' on 2011-12-13 at d37a7e1)
276  + compat/snprintf: don't look at va_list twice
278 Will merge to "master".
280 * jn/maint-sequencer-fixes (2011-12-12) 7 commits
281   (merged to 'next' on 2011-12-13 at 5b3950c)
282  + revert: stop creating and removing sequencer-old directory
283  + Revert "reset: Make reset remove the sequencer state"
284  + revert: do not remove state until sequence is finished
285  + revert: allow single-pick in the middle of cherry-pick sequence
286  + revert: pass around rev-list args in already-parsed form
287  + revert: allow cherry-pick --continue to commit before resuming
288  + revert: give --continue handling its own function
289  (this branch is used by rr/revert-cherry-pick.)
291 Will merge to "master".
293 * mh/ref-api (2011-12-12) 16 commits
294   (merged to 'next' on 2011-12-15 at d65a830)
295  + add_ref(): take a (struct ref_entry *) parameter
296  + create_ref_entry(): extract function from add_ref()
297  + repack_without_ref(): remove temporary
298  + resolve_gitlink_ref_recursive(): change to work with struct ref_cache
299  + Pass a (ref_cache *) to the resolve_gitlink_*() helper functions
300  + resolve_gitlink_ref(): improve docstring
301  + get_ref_dir(): change signature
302  + refs: change signatures of get_packed_refs() and get_loose_refs()
303  + is_dup_ref(): extract function from sort_ref_array()
304  + add_ref(): add docstring
305  + parse_ref_line(): add docstring
306  + is_refname_available(): remove the "quiet" argument
307  + clear_ref_array(): rename from free_ref_array()
308  + refs: rename parameters result -> sha1
309  + refs: rename "refname" variables
310  + struct ref_entry: document name member
311  (this branch is used by mh/ref-api-rest.)
313 Later part split out to expedite moving the earlier good bits forward.
315 Will merge to "master".
317 * nd/resolve-ref (2011-12-13) 3 commits
318   (merged to 'next' on 2011-12-13 at c7002e9)
319  + Rename resolve_ref() to resolve_ref_unsafe()
320  + Convert resolve_ref+xstrdup to new resolve_refdup function
321  + revert: convert resolve_ref() to read_ref_full()
323 Will merge to "master".
325 * tr/grep-threading (2011-12-16) 3 commits
326  - grep: disable threading in non-worktree case
327  - grep: enable threading with -p and -W using lazy attribute lookup
328  - grep: load funcname patterns for -W
330 Will merge to 'next' after taking another look.
332 * tr/pty-all (2011-12-12) 3 commits
333  - t/lib-terminal: test test-terminal's sanity
334  - test-terminal: set output terminals to raw mode
335  - test-terminal: give the child an empty stdin TTY
337 The test breakage that originally triggered interest in this topic is
338 fixed more cleanly with Peff's jk/maint-do-not-feed-stdin-to-tests but
339 this series may independently be useful.
341 Jonathan had good review comments, and this would need to be rerolled.
343 * jc/push-ignore-stale (2011-12-14) 2 commits
344  - push: --ignore-stale option
345  - set_ref_status_for_push(): use transport-flags abstraction
347 Probably solving a wrong problem and encouraging a wrong workflow while at
348 it. Will drop. jc/advise-push-default might be a better approach.
350 * jk/fetch-no-tail-match-refs (2011-12-13) 4 commits
351   (merged to 'next' on 2011-12-13 at 805c018)
352  + connect.c: drop path_match function
353  + fetch-pack: match refs exactly
354  + t5500: give fully-qualified refs to fetch-pack
355  + drop "match" parameter from get_remote_heads
357 Will merge to "master".
359 * jk/maint-push-over-dav (2011-12-13) 2 commits
360   (merged to 'next' on 2011-12-13 at 45e376c)
361  + http-push: enable "proactive auth"
362  + t5540: test DAV push with authentication
364 Will merge to "master".
366 * rr/revert-cherry-pick (2011-12-15) 6 commits
367  - t3502, t3510: clarify cherry-pick -m failure
368  - t3510 (cherry-pick-sequencer): use exit status
369  - revert: simplify getting commit subject in format_todo()
370  - revert: tolerate extra spaces, tabs in insn sheet
371  - revert: make commit subjects in insn sheet optional
372  - revert: free msg in format_todo()
373  (this branch uses jn/maint-sequencer-fixes.)
375 Picked up only the earlier bits that are reasonably clear for now.
377 Will merge to "next".
379 * ew/keepalive (2011-12-05) 1 commit
380   (merged to 'next' on 2011-12-13 at 1b5d5c4)
381  + enable SO_KEEPALIVE for connected TCP sockets
383 * jc/checkout-m-twoway (2011-12-15) 3 commits
384   (merged to 'next' on 2011-12-15 at cc64fed)
385  + checkout_merged(): squelch false warning from some gcc
386   (merged to 'next' on 2011-12-11 at b61057f)
387  + Test 'checkout -m -- path'
388   (merged to 'next' on 2011-12-09 at c946009)
389  + checkout -m: no need to insist on having all 3 stages
391 Will merge to "master".
393 * tr/cache-tree (2011-12-06) 5 commits
394   (merged to 'next' on 2011-12-13 at e0da64d)
395  + reset: update cache-tree data when appropriate
396  + commit: write cache-tree data when writing index anyway
397  + Refactor cache_tree_update idiom from commit
398  + Test the current state of the cache-tree optimization
399  + Add test-scrap-cache-tree
401 Will merge to "master".
403 * rr/test-chaining (2011-12-11) 7 commits
404   (merged to 'next' on 2011-12-13 at b08445e)
405  + t3401: use test_commit in setup
406  + t3401: modernize style
407  + t3040 (subprojects-basic): fix '&&' chaining, modernize style
408  + t1510 (worktree): fix '&&' chaining
409  + t3030 (merge-recursive): use test_expect_code
410  + test: fix '&&' chaining
411  + t3200 (branch): fix '&&' chaining
413 Will merge to "master".
415 * jc/split-blob (2011-12-01) 6 commits
416  . WIP (streaming chunked)
417  - chunked-object: fallback checkout codepaths
418  - bulk-checkin: support chunked-object encoding
419  - bulk-checkin: allow the same data to be multiply hashed
420  - new representation types in the packstream
421  - varint-in-pack: refactor varint encoding/decoding
423 Not ready. At least pack-objects and fsck need to learn the new encoding
424 for the series to be usable locally, and then index-pack/unpack-objects
425 needs to learn it to be used remotely.
427 * jk/credentials (2011-12-12) 14 commits
428   (merged to 'next' on 2011-12-12 at 7a6d658)
429  + t: add test harness for external credential helpers
430  + credentials: add "store" helper
431  + strbuf: add strbuf_add*_urlencode
432  + Makefile: unix sockets may not available on some platforms
433  + credentials: add "cache" helper
434  + docs: end-user documentation for the credential subsystem
435  + credential: make relevance of http path configurable
436  + credential: add credential.*.username
437  + credential: apply helper config
438  + http: use credential API to get passwords
439  + credential: add function for parsing url components
440  + introduce credentials API
441  + t5550: fix typo
442  + test-lib: add test_config_global variant
443  (this branch is used by jk/git-prompt.)
445 Later part split out to expedite moving the earlier good bits forward.
447 Will merge to "master".
449 * ab/enable-i18n (2011-12-05) 1 commit
450   (merged to 'next' on 2011-12-13 at 65af8cd)
451  + i18n: add infrastructure for translating Git with gettext
453 * jc/signed-commit (2011-11-29) 5 commits
454  - gpg-interface: allow use of a custom GPG binary
455  - pretty: %G[?GS] placeholders
456  - test "commit -S" and "log --show-signature"
457  - log: --show-signature
458  - commit: teach --gpg-sign option
460 Not exactly urgent.