Meta/dodoc: assign default values
[alt-git.git] / whats-cooking.txt
blob45f4cf38338dedeb69ff6de75a3e1631385568ce
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Apr 2012, #11; Sun, 29)
3 X-master-at: 10d4332e007132a38dc61f03c760d355da5cd550
4 X-next-at: ed71f9c8badf2d237c862b15ea4145e0ecd96004
6 What's cooking in git.git (Apr 2012, #11; Sun, 29)
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 'next'.
12 The sixth and seventh batch of topics in this cycle is now in 'master'.  I
13 also merged accumulated fixes that have been in 'master' since v1.7.10 to
14 'maint', so that we can issue the first maintenance release sometime next
15 week.
17 You can find the changes described here in the integration branches of the
18 repositories listed at
20     http://git-blame.blogspot.com/p/git-public-repositories.html
22 --------------------------------------------------
23 [Graduated to "master"]
25 * cb/cherry-pick-rev-path-confusion (2012-04-15) 1 commit
26   (merged to 'next' on 2012-04-23 at f872ba5)
27  + cherry-pick: do not expect file arguments
29 The command line parser choked "git cherry-pick $name" when $name can be
30 both revision name and a pathname, even though $name can never be a path
31 in the context of the command.
33 The issue the patch addresses is real, but the way it is implemented felt
34 unnecessarily invasive a bit.  It may be cleaner for this caller to add
35 the "--" to the end of the argv_array it passes to setup_revisions().
37 * cb/http-multi-curl-auth (2012-04-14) 4 commits
38   (merged to 'next' on 2012-04-23 at b0259be)
39  + http: use newer curl options for setting credentials
40  + http: clean up leak in init_curl_http_auth
41  + fix http auth with multiple curl handles
42  + http auth fails with multiple curl handles
44 Fixes http authentication breakage when we keep multiple HTTP requests in
45 flight using curl-multi.
47 * cb/maint-report-mount-point-correctly-in-setup (2012-04-15) 1 commit
48   (merged to 'next' on 2012-04-23 at 9e0c8b4)
49  + properly keep track of current working directory
51 The filesystem boundary was not correctly reported when .git directory
52 discovery stopped at a mount point.
54 * jc/merge-reduce-parents-early (2012-04-18) 5 commits
55   (merged to 'next' on 2012-04-23 at 16e7e53)
56  + fmt-merge-msg: discard needless merge parents
57  + builtin/merge.c: reduce parents early
58  + builtin/merge.c: collect other parents early
59  + builtin/merge.c: remove "remoteheads" global variable
60  + merge tests: octopus with redundant parents
62 * jk/repack-no-explode-objects-from-old-pack (2012-04-18) 4 commits
63   (merged to 'next' on 2012-04-20 at 4eb2534)
64  + gc: use argv-array for sub-commands
65  + argv-array: add a new "pushl" method
66  + argv-array: refactor empty_argv initialization
67   (merged to 'next' on 2012-04-15 at 7586e50)
68  + gc: do not explode objects which will be immediately pruned
70 * js/daemon-test-race-fix (2012-04-27) 1 commit
71   (merged to 'next' on 2012-04-27 at 6edb57f)
72  + t5570: fix forwarding of git-daemon messages via cat
74 The shell construct to launch git-daemon and wait for it to start
75 serving during the test was faulty, and this fixes it.
77 Replaced cb/daemon-test-race-fix topic with this, as this addresses
78 the real cause of the issue.
80 * js/fast-import-test-9300 (2012-04-20) 1 commit
81   (merged to 'next' on 2012-04-23 at a9bd236)
82  + t9300-fast-import: avoid 'exit' in test_expect_success snippets
84 * kk/gitweb-omit-expensive (2012-04-26) 2 commits
85   (merged to 'next' on 2012-04-27 at b057127)
86  + gitweb: Option to not display information about owner
87  + gitweb: Option to omit column with time of the last change
88  (this branch uses kk/maint-gitweb-missing-owner.)
90 "gitweb" learned to optionally omit output of fields that are expensive
91 to generate.
93 * kk/maint-gitweb-missing-owner (2012-04-25) 1 commit
94   (merged to 'next' on 2012-04-27 at e526304)
95  + gitweb: Don't set owner if got empty value from projects.list
96  (this branch is used by kk/gitweb-omit-expensive.)
98 * mm/include-userpath (2012-04-25) 2 commits
99   (merged to 'next' on 2012-04-26 at c68e261)
100  + fixup! config: expand tildes in include.path variable
101  + config: expand tildes in include.path variable
103 The new "include.path" directive in the configuration files learned
104 to understand "~/path" and "~user/path".
106 * pw/t5800-import-race-fix (2012-04-24) 1 commit
107   (merged to 'next' on 2012-04-24 at e97bb42)
108  + git-remote-testgit: fix race when spawning fast-import
110 Longstanding bug in a test scaffolding that occasionally made t5800
111 hang was fixed.
113 * rs/commit-list-append (2012-04-25) 3 commits
114   (merged to 'next' on 2012-04-26 at 2ba48b3)
115  + commit: remove commit_list_reverse()
116  + revision: append to list instead of insert and reverse
117  + sequencer: export commit_list_append()
119 * rt/cherry-revert-conflict-summary (2012-04-19) 1 commit
120   (merged to 'next' on 2012-04-23 at e7766c2)
121  + sequencer: remove additional blank line
123 In the older days, the header "Conflicts:" in "cherry-pick" and
124 "merge" was separated by a blank line from the list of paths that
125 follow for readability, but when "merge" was rewritten in C, we lost
126 it by mistake. Remove the newline from "cherry-pick" to make them
127 match again.
129 --------------------------------------------------
130 [New Topics]
132 * zj/mksh-columns-breakage (2012-04-27) 1 commit
133  - test-lib: skip test with COLUMNS=1 under mksh
134  (this branch is used by lp/diffstat-with-graph and nd/columns.)
136 A broken shell does not let us set an environment value to an
137 arbitrary value, interfering with some of the tests. Introduce a test
138 prerequisite so that we can skip some tests on such a platform.
140 Will merge to 'next'.
142 --------------------------------------------------
143 [Stalled]
145 * jc/run-hook-env-1 (2012-03-11) 1 commit
146  - run_hook(): enhance the interface to pass arbitrary environment
148 Not urgent.
150 Updates run_hook() API to be much less specific to "commit".  It would
151 only be useful if people start doing more interesting things with hooks.
153 * jc/split-blob (2012-04-03) 7 commits
154  - chunked-object: streaming checkout
155  - chunked-object: fallback checkout codepaths
156  - bulk-checkin: support chunked-object encoding
157  - bulk-checkin: allow the same data to be multiply hashed
158  - new representation types in the packstream
159  - packfile: use varint functions
160  + varint: make it available outside the context of pack
161  (this branch is tangled with jc/index-v4.)
163 Not ready.
165 I finished the streaming checkout codepath, but as explained in
166 127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
167 these are still early steps of a long and painful journey. At least
168 pack-objects and fsck need to learn the new encoding for the series
169 to be usable locally, and then index-pack/unpack-objects needs to
170 learn it to be used remotely.
172 Given that I heard a lot of noise that people want large files, and
173 that I was asked by somebody at GitTogether'11 privately for an
174 advice on how to pay developers (not me) to help adding necessary
175 support, I am somewhat dissapointed that the original patch series
176 that was sent almost two months ago still remains here without much
177 comments and updates from the developer community. I even made the
178 interface to the logic that decides where to split chunks easily
179 replaceable, and I deliberately made the logic in the original patch
180 extremely stupid to entice others, especially the "bup" fanboys, to
181 come up with a better logic, thinking that giving people an easy
182 target to shoot for, they may be encouraged to help out. The plan is
183 not working :-(.
185 --------------------------------------------------
186 [Cooking]
188 * mm/simple-push (2012-04-24) 7 commits
189  - push.default doc: explain simple after upstream
190  - push: document the future default change for push.default (matching -> simple)
191  - t5570: use explicit push refspec
192  - push: introduce new push.default mode "simple"
193  - t5528-push-default.sh: add helper functions
194  - Undocument deprecated alias 'push.default=tracking'
195  - Documentation: explain push.default option a bit more
196  (this branch is used by mm/push-default-switch-warning.)
198 New users tend to work on one branch at a time and push the result
199 out. The current and upstream modes of push is a more suitable default
200 mode than matching mode for these people, but neither is surprise-free
201 depending on how the project is set up. Introduce a "simple" mode that
202 is a subset of "upstream" but only works when the branch is named the same
203 between the remote and local repositories.
205 The plan is to make it the new default when push.default is not
206 configured.
208 Will merge to 'next'.
210 * mh/ref-api-lazy-loose (2012-04-26) 18 commits
211  - refs: read loose references lazily
212  - read_loose_refs(): eliminate ref_cache argument
213  - struct ref_dir: store a reference to the enclosing ref_cache
214  - search_for_subdir(): return (ref_dir *) instead of (ref_entry *)
215  - get_ref_dir(): add function for getting a ref_dir from a ref_entry
216  - read_loose_refs(): rename function from get_ref_dir()
217  - refs: wrap top-level ref_dirs in ref_entries
218  - find_containing_dir(): use strbuf in implementation of this function
219  - bisect: copy filename string obtained from git_path()
220  - do_for_each_reflog(): reuse strbuf across recursive function calls
221  - do_for_each_reflog(): use a strbuf to hold logfile name
222  - do_for_each_reflog(): return early on error
223  - get_ref_dir(): take the containing directory as argument
224  - refs.c: extract function search_for_subdir()
225  - get_ref_dir(): require that the dirname argument ends in '/'
226  - get_ref_dir(): rename "base" parameter to "dirname"
227  - get_ref_dir(): use a strbuf to hold refname
228  - get_ref_dir(): return early if directory cannot be read
230 Refs API is updated to lazily read sub-hierarchies of refs/ namespace,
231 so that we do not have to grab everything from the filesystem when we
232 are only interested in listing branches, for example.
234 * jk/maint-config-bogus-section (2012-04-25) 1 commit
235   (merged to 'next' on 2012-04-26 at 9919198)
236  + config: reject bogus section names for --rename-section
238 "git config --rename-section" to rename an existing section into a
239 bogus one did not check the new name.
241 Will merge to 'master'.
243 * jk/doc-asciidoc-inline-literal (2012-04-26) 1 commit
244  - docs: stop using asciidoc no-inline-literal
246 Our documentation was written for an ancient version of AsciiDoc,
247 making the source not very readable.
249 Will merge to 'next'.
251 * nd/i18n (2012-04-25) 11 commits
252  - help: replace underlining "help -a" headers using hyphens with a blank line
253   (merged to 'next' on 2012-04-24 at 07965a4)
254  + i18n: bundle: mark strings for translation
255  + i18n: index-pack: mark strings for translation
256  + i18n: apply: update say_patch_name to give translators complete sentence
257  + i18n: apply: mark strings for translation
258  + i18n: remote: mark strings for translation
259  + i18n: make warn_dangling_symref() automatically append \n
260  + i18n: help: mark strings for translation
261  + i18n: mark relative dates for translation
262  + strbuf: convenience format functions with \n automatically appended
263  + Makefile: feed all header files to xgettext
265 More message strings marked for i18n.
267 Will merge to 'next'.
269 * nh/empty-rebase (2012-04-24) 4 commits
270   (merged to 'next' on 2012-04-24 at 91d2dfd)
271  + git-rebase: add keep_empty flag
272  + git-cherry-pick: Add test to validate new options
273  + git-cherry-pick: Add keep-redundant-commits option
274  + git-cherry-pick: add allow-empty option
276 "git rebase" learned to optionally keep commits that do not introduce
277 any change in the original history.
279 * lp/diffstat-with-graph (2012-04-27) 8 commits
280  - t4052: work around shells unable to set COLUMNS to 1
281  - Merge branch 'zj/mksh-columns-breakage' into lp/diffstat-with-graph
282   (merged to 'next' on 2012-04-23 at 8de0747)
283  + Prevent graph_width of stat width from falling below min
284  + t4052: Test diff-stat output with minimum columns
285  + t4052: Adjust --graph --stat output for prefixes
286  + Adjust stat width calculations to take --graph output into account
287  + Add output_prefix_length to diff_options
288  + t4052: test --stat output with --graph
289  (this branch uses zj/mksh-columns-breakage; is tangled with nd/columns.)
291 Will merge to 'next'.
293 * nd/columns (2012-04-27) 10 commits
294  - tag: add --column
295  - column: support piping stdout to external git-column process
296  - status: add --column
297  - branch: add --column
298  - help: reuse print_columns() for help -a
299  - column: add dense layout support
300  - t9002: work around shells that are unable to set COLUMNS to 1
301  - column: add columnar layout
302  - Stop starting pager recursively
303  - Add column layout skeleton and git-column
304  (this branch uses zj/mksh-columns-breakage; is tangled with lp/diffstat-with-graph.)
306 A couple of commands learn --column option to produce columnar output.
308 * nl/http-proxy-more (2012-04-26) 8 commits
309  - http: try an uppercase version of $proto_proxy
310  - http: fix proxy password passing
311  - http: fix proxy authentication
312  - http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
313  - http: Avoid limit of retrying request only twice
314  - http: handle proxy authentication failure (error 407)
315  - http: handle proxy proactive authentication
316  - http: try http_proxy env var when http.proxy config option is not set
318 Still needs to address review comments from Peff, some of which were
319 partly addressed with later "fixup" patches queued here.
321 It probably is a good idea to re-roll the entire series.
323 * ld/git-p4-tags-and-labels (2012-04-25) 7 commits
324   (merged to 'next' on 2012-04-25 at 8b959e5)
325  + git p4: fix unit tests
326   (merged to 'next' on 2012-04-24 at bf55d92)
327  + git p4: move verbose to base class
328  + git p4: Ignore P4EDITOR if it is empty
329  + git p4: Squash P4EDITOR in test harness
330  + git p4: fix-up "import/export of labels to/from p4"
331   (merged to 'next' on 2012-04-15 at 1b1e9a1)
332  + git p4: import/export of labels to/from p4
333  + git p4: Fixing script editor checks
335 What's the current status of this topic?  Pete?  Luke?
337 * nd/threaded-index-pack (2012-04-19) 4 commits
338  - index-pack: disable threading if NO_PREAD is defined
339  - index-pack: support multithreaded delta resolving
340  - index-pack: split second pass obj handling into own function
341  - compat/win32/pthread.h: Add an pthread_key_delete() implementation
343 * tr/xdiff-fast-hash (2012-04-09) 1 commit
344   (merged to 'next' on 2012-04-24 at ed693cf)
345  + xdiff: load full words in the inner loop of xdl_hash_record
347 Breakage reported on MacOS X.  Perhaps needs to be reverted out of 'next'.
349 * jc/index-v4 (2012-04-27) 12 commits
350   (merged to 'next' on 2012-04-29 at ed71f9c)
351  + index-v4: document the entry format
352  + unpack-trees: preserve the index file version of original
353   (merged to 'next' on 2012-04-19 at 5e4b029)
354  + update-index: upgrade/downgrade on-disk index version
355  + read-cache.c: write prefix-compressed names in the index
356  + read-cache.c: read prefix-compressed names in index on-disk version v4
357  + read-cache.c: move code to copy incore to ondisk cache to a helper function
358  + read-cache.c: move code to copy ondisk to incore cache to a helper function
359  + read-cache.c: report the header version we do not understand
360  + read-cache.c: make create_from_disk() report number of bytes it consumed
361  + read-cache.c: allow unaligned mapping of the index file
362  + cache.h: hide on-disk index details
363  + varint: make it available outside the context of pack
364  (this branch is tangled with jc/split-blob.)
366 Trivially shrinks the on-disk size of the index file to save both I/O and
367 checksum overhead.  It even comes with a technical doc updates ;-)
369 * th/difftool-diffall (2012-04-23) 8 commits
370  - difftool: print list of valid tools with '--tool-help'
371  - difftool: teach difftool to handle directory diffs
372  - difftool: eliminate setup_environment function
373  - difftool: stop appending '.exe' to git
374  - difftool: remove explicit change of PATH
375  - difftool: exit(0) when usage is printed
376  - difftool: add '--no-gui' option
377  - difftool: parse options using Getopt::Long
379 Rolls the two-directory-diff logic from diffall script (in contrib/) into
380 "git difftool" framework. 
382 What's the doneness of this topic?  David?  Tim?
384 * mm/push-default-switch-warning (2012-04-26) 2 commits
385  - t5541: warning message is given even with --quiet
386  - push: start warning upcoming default change for push.default
387  (this branch uses mm/simple-push.)
389 Will squash the two, but this has to wait for a few release cycles.
391 --------------------------------------------------
392 [Discarded]
394 * cb/daemon-test-race-fix (2012-04-27) 2 commits
395   (merged to 'next' on 2012-04-27 at 84bbcf8)
396  + Revert "git-daemon wrapper to wait until daemon is ready"
397   (merged to 'next' on 2012-04-24 at d5c30be)
398  + git-daemon wrapper to wait until daemon is ready
400 Fix race condition between starting and waiting for git-daemon in the
401 test.
403 Reverted from 'next' to replace it with js/daemon-test-race-fix.