What's cooking (2012/03 #08)
[alt-git.git] / whats-cooking.txt
blob2bf78c75fabd7cc3f6c2d55925f9491024366ab6
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Mar 2012, #08; Fri, 23)
3 X-master-at: c16df57c5a778ef14ede7ad202c74146269d61ac
4 X-next-at: 1bdf608349ec8c63dd8b91991095c3368a1e8a87
6 What's cooking in git.git (Mar 2012, #08; Fri, 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 'next'.
12 The tip of 'master' was tagged as 1.7.10-rc2 today.
14 You can find the changes described here in the integration branches of the
15 repositories listed at
17     http://git-blame.blogspot.com/p/git-public-repositories.html
19 --------------------------------------------------
20 [Graduated to "master"]
22 * am/completion-zsh-fix (2012-03-21) 1 commit
23  + contrib/completion: "local var=()" is misinterpreted as func-decl by zsh
25 * dw/gitweb-doc-grammo (2012-03-23) 1 commit
26  + Documentation/gitweb: trivial English fixes
28 Typofix.
30 --------------------------------------------------
31 [New Topics]
33 * lp/maint-diff-three-dash-with-graph (2012-03-20) 3 commits
34  - t4202: add test for "log --graph --stat -p" separator lines
35  - log --graph: fix break in graph lines
36  - log --graph --stat: three-dash separator should come after graph lines
38 The combination of two options "log --graph --stat" was an obscure corner
39 case nobody cared about, and did not correctly show the ancestry graph
40 lines.
42 I've split the original patch into three pieces, one for fixes to two
43 different issues and a test.  Also the test is adjusted so that the series
44 can be back-merged to older codebase that did not have 7f81463 (Use
45 correct grammar in diffstat summary line, 2012-02-01) that first appeared
46 in v1.7.9.2
48 * wk/gitweb-snapshot-use-if-modified-since (2012-03-20) 1 commit
49  - Pull gitweb If-Modified-Since handling out into its own function and use for snapshots.
51 Unreviewed; the title looks way too long and does not sit well in the
52 shortlog output.
54 * jc/maint-merge-autoedit (2012-03-20) 1 commit
55  - merge: backport GIT_MERGE_AUTOEDIT support
57 In 1.7.10, we added GIT_MERGE_AUTOEDIT=no environment variable to help
58 older scripts to let them refuse giving users a chance to explain the
59 merge, but forgot that 1.7.9 automatically opens an editor when merging an
60 annotated tag, and there is no equivalent escape hatch.  A merge of this
61 topic to 1.7.10 track becomes a no-op, but we may want to apply this to
62 the 1.7.9.x series.
64 * jk/diff-no-rename-empty (2012-03-23) 4 commits
65  - merge-recursive: don't detect renames of empty files
66  - teach diffcore-rename to optionally ignore empty content
67  - make is_empty_blob_sha1 available everywhere
68  - drop casts from users EMPTY_TREE_SHA1_BIN
70 Forbids rename detection logic from matching two empty files as renames
71 during merge-recursive to prevent mismerges.
73 --------------------------------------------------
74 [Stalled]
76 * cn/apply-fix-ws-can-lengthen-lines (2012-03-11) 1 commit
77  . apply: reallocate the postimage buffer when needed
79 Attempts to address an ancient bug that dates back to the addition
80 of an oddball "tab-in-indent" whitespace breakage class that wants
81 to have longer lines than the original when fixing things up.
83 Needs more work; results in double-frees.
85 * nd/columns (2012-03-13) 12 commits
86  - column: support grouping entries
87  - column: support "denser" mode
88  - ls-files: support --column
89  - tag: add --column
90  - column: support piping stdout to external git-column process
91  - status: add --column
92  - branch: add --column
93  - help: reuse print_columns() for help -a
94  - column: add dense layout support
95  - column: add columnar layout
96  - Stop starting pager recursively
97  - Add column layout skeleton and git-column
99 Rerolled again.  Modulo minor nits, looked nicer than the previous round.
101 * nd/threaded-index-pack (2012-03-11) 2 commits
102  - index-pack: support multithreaded delta resolving
103  - index-pack: split second pass obj handling into own function
105 Another reroll after a bugreport on pthread usage discovered by Ramsey,
106 but it seems the topic is cooking between Ramsay and Duy out of tree.
107 Waiting for resolution.
109 * jh/apply-free-patch (2012-03-21) 4 commits
110  - apply.c: WIP ownership audit
111  - apply: free patch->result
112  - apply: free patch->{def,old,new}_name fields
113  - apply: do not leak patches and fragments
115 Valgrind reports quite a lot of discarded memory inside apply. I have a
116 slight suspicion that we should first clarify the ownership rules of
117 pieces of memory in this standalone program that was designed to be "run
118 once and let exit take care of the memory" before proceeding further.
120 Will defer til 1.7.10.
122 * dg/test-from-elsewhere (2012-03-04) 2 commits
123  - Support out-of-tree Valgrind tests
124  - Allow overriding GIT_BUILD_DIR
126 Better support for out-of-tree test scripts, but it appears that the
127 approach needs to be rethought.  By repointing TEST_DIRECTORY to a
128 directory other than $(pwd)/.., an out of place test script can reach
129 test helpers and freshly built Git relative to it (GIT_BUILD_DIR is
130 a mere short-hand for $TEST_DIRECTORY/..).
132 Discussion stalled.
134 * hv/submodule-recurse-push (2012-02-13) 3 commits
135  - push: teach --recurse-submodules the on-demand option
136  - Refactor submodule push check to use string list instead of integer
137  - Teach revision walking machinery to walk multiple times sequencially
139 The bottom one was not clearly explained and needs a reroll.
141 * ss/git-svn-prompt-sans-terminal (2012-01-04) 3 commits
142  - fixup! 15eaaf4
143  - git-svn, perl/Git.pm: extend Git::prompt helper for querying users
144  - perl/Git.pm: "prompt" helper to honor GIT_ASKPASS and SSH_ASKPASS
146 The bottom one has been replaced with a rewrite based on comments
147 from Ævar. The second one needs more work, both in perl/Git.pm and
148 prompt.c, to give precedence to tty over SSH_ASKPASS when terminal
149 is available.
151 * jc/split-blob (2012-03-16) 6 commits
152  - chunked-object: streaming checkout
153  - chunked-object: fallback checkout codepaths
154  - bulk-checkin: support chunked-object encoding
155  - bulk-checkin: allow the same data to be multiply hashed
156  - new representation types in the packstream
157  - varint-in-pack: refactor varint encoding/decoding
159 Not ready.
161 I finished the streaming checkout codepath, but as explained in
162 127b177 (bulk-checkin: support chunked-object encoding, 2011-11-30),
163 these are still early steps of a long and painful journey. At least
164 pack-objects and fsck need to learn the new encoding for the series
165 to be usable locally, and then index-pack/unpack-objects needs to
166 learn it to be used remotely.
168 Given that I heard a lot of noise that people want large files, and
169 that I was asked by somebody at GitTogether'11 privately for an
170 advice on how to pay developers (not me) to help adding necessary
171 support, I am somewhat dissapointed that the original patch series
172 that was sent almost two months ago still remains here without much
173 comments and updates from the developer community. I even made the
174 interface to the logic that decides where to split chunks easily
175 replaceable, and I deliberately made the logic in the original patch
176 extremely stupid to entice others, especially the "bup" fanboys, to
177 come up with a better logic, thinking that giving people an easy
178 target to shoot for, they may be encouraged to help out. The plan is
179 not working :-(.
181 --------------------------------------------------
182 [Cooking]
184 * th/difftool-diffall (2012-03-23) 9 commits
185  - difftool: print list of valid tools with '--tool-help'
186  - difftool: teach difftool to handle directory diffs
187  - difftool: replace system call with Git::command_noisy
188  - difftool: eliminate setup_environment function
189  - difftool: stop appending '.exe' to git
190  - difftool: remove explicit change of PATH
191  - difftool: exit(0) when usage is printed
192  - difftool: add '--no-gui' option
193  - difftool: parse options using Getopt::Long
195 Rolls the two-directory-diff logic from diffall script (in contrib/) into
196 "git difftool" framework. 
198 * jc/maint-clean-nested-worktree-in-subdir (2012-03-15) 2 commits
199   (merged to 'next' on 2012-03-20 at fb5485e)
200  + clean: preserve nested git worktree in subdirectories
201  + remove_dir_recursively(): Add flag for skipping removal of toplevel dir
202  (this branch is tangled with jh/notes-merge-in-git-dir-worktree.)
204 "git clean -d -f" (not "-d -f -f") is supposed to protect nested working
205 trees of independent git repositories that exist in the current project
206 working tree from getting removed, but the protection applied only to such
207 working trees that are at the top-level of the current project by mistake.
209 Not urgent.
211 * ct/advise-push-default (2012-03-19) 1 commit
212  - push: Provide situational hints for non-fast-forward errors
214 Breaks down the cases in which "git push" fails due to non-ff into three
215 categories, and gives separate advise messages.  This should be a good
216 change regardless of mm/push-default-switch-warning topic.
218 * nl/rebase-i-cheat-sheet (2012-03-20) 1 commit
219   (merged to 'next' on 2012-03-20 at 3092a2b)
220  + rebase -i: remind that the lines are top-to-bottom
222 Not urgent.
224 * da/difftool-test (2012-03-19) 1 commit
225   (merged to 'next' on 2012-03-20 at 0ada7d4)
226  + t7800: Test difftool passing arguments to diff
228 Makes sure "difftool" options can be given in any order.
230 * jh/notes-merge-in-git-dir-worktree (2012-03-15) 4 commits
231   (merged to 'next' on 2012-03-20 at 0c1b1de)
232  + notes-merge: Don't remove .git/NOTES_MERGE_WORKTREE; it may be the user's cwd
233  + notes-merge: use opendir/readdir instead of using read_directory()
234  + t3310: illustrate failure to "notes merge --commit" inside $GIT_DIR/
235  + remove_dir_recursively(): Add flag for skipping removal of toplevel dir
236  (this branch is tangled with jc/maint-clean-nested-worktree-in-subdir.)
238 Running "notes merge --commit" failed to perform correctly when run
239 from any directory inside $GIT_DIR/.  When "notes merge" stops with
240 conflicts, $GIT_DIR/NOTES_MERGE_WORKTREE is the place a user edits
241 to resolve it.
243 Not urgent.
245 * jn/diffstat-tests (2012-03-13) 7 commits
246   (merged to 'next' on 2012-03-20 at 8791b2f)
247  + diffstat summary line varies by locale: miscellany
248  + test: use numstat instead of diffstat in binary-diff test
249  + test: use --numstat instead of --stat in "git stash show" tests
250  + test: test cherry-pick functionality and output separately
251  + test: modernize funny-names test style
252  + test: use numstat instead of diffstat in funny-names test
253  + test: use test_i18ncmp when checking --stat output
255 Some tests checked the "diff --stat" output when they do not have to,
256 which unnecessarily made things harder to verify under GETTEXT_POISON.
258 Not urgent.
260 * tr/maint-word-diff-regex-sticky (2012-03-14) 3 commits
261   (merged to 'next' on 2012-03-20 at b3f67cd)
262  + diff: tweak a _copy_ of diff_options with word-diff
263  + diff: refactor the word-diff setup from builtin_diff_cmd
264  + t4034: diff.*.wordregex should not be "sticky" in --word-diff
266 The regexp configured with wordregex was incorrectly reused across
267 files.
268 Not urgent.
270 * zj/test-cred-helper-nicer-prove (2012-03-15) 2 commits
271   (merged to 'next' on 2012-03-20 at b675ec1)
272  + t0303: resurrect commit message as test documentation
273  + t0303: immediately bail out w/o GIT_TEST_CREDENTIAL_HELPER
275 Minor improvement to t0303.
276 Not urgent.
278 * jc/commit-hook-authorship (2012-03-11) 3 commits
279   (merged to 'next' on 2012-03-12 at 05ca7f8)
280  + commit: pass author/committer info to hooks
281  + t7503: does pre-commit-hook learn authorship?
282  + ident.c: add split_ident_line() to parse formatted ident line
283  (this branch is tangled with jc/run-hook-env-1.)
285 "git commit --author=$name" did not tell the name that was being
286 recorded in the resulting commit to hooks, even though it does do so
287 when the end user overrode the authorship via the "GIT_AUTHOR_NAME"
288 environment variable.  This is a simpler of the two approaches.
290 Will defer til 1.7.10.
292 * jc/run-hook-env-1 (2012-03-11) 3 commits
293  - run_hook(): enhance the interface to pass arbitrary environment
294  + t7503: does pre-commit-hook learn authorship?
295  + ident.c: add split_ident_line() to parse formatted ident line
296  (this branch is tangled with jc/commit-hook-authorship.)
298 Not urgent.
300 Updates run_hook() API to be much less specific to "commit".  It would
301 only be useful if people start doing more interesting things with hooks.
303 * jc/diff-algo-cleanup (2012-02-19) 2 commits
304   (merged to 'next' on 2012-03-15 at cca0032)
305  + xdiff: PATIENCE/HISTOGRAM are not independent option bits
306  + xdiff: remove XDL_PATCH_* macros
308 Resurrects the preparatory clean-up patches from another topic that was
309 discarded, as this would give a saner foundation to build on diff.algo
310 configuration option series.
312 Not urgent.
314 * rs/unpack-trees-leakfix (2012-03-06) 1 commit
315   (merged to 'next' on 2012-03-07 at 69a69cd)
316  + unpack-trees: plug minor memory leak
318 Will defer til 1.7.10.
320 * mm/push-default-switch-warning (2012-03-09) 1 commit
321  - push: start warning upcoming default change for push.default
323 Not urgent.
325 This resurrects an ancient patch I wrote during a discussion we had in the
326 1.6.3-1.6.4 era.  This should probably come after ct/advise-push-default
327 topic and at that point the advise messages need to be rephrased, taking
328 the future default change into account.
330 * jc/fmt-merge-msg-people (2012-03-13) 1 commit
331  - fmt-merge-msg: show those involved in a merged series
333 The "fmt-merge-msg" command learns to list the primary contributors
334 involved in the side topic you are merging.
336 Will defer til 1.7.10.
338 * nl/http-proxy-more (2012-03-15) 5 commits
339   (merged to 'next' on 2012-03-20 at c004001)
340  + http: rename HTTP_REAUTH to HTTP_AUTH_RETRY
341  + http: Avoid limit of retrying request only twice
342  + http: handle proxy authentication failure (error 407)
343  + http: handle proxy proactive authentication
344  + http: try http_proxy env var when http.proxy config option is not set
346 The code to talk to http proxies learn to use the same credential
347 API used to talk to the final http destinations.
349 Will defer til 1.7.10.
351 * nd/stream-more (2012-03-07) 7 commits
352   (merged to 'next' on 2012-03-07 at 7325922)
353  + update-server-info: respect core.bigfilethreshold
354  + fsck: use streaming API for writing lost-found blobs
355  + show: use streaming API for showing blobs
356  + parse_object: avoid putting whole blob in core
357  + cat-file: use streaming API to print blobs
358  + Add more large blob test cases
359  + streaming: make streaming-write-entry to be more reusable
361 Use API to read blob data in smaller chunks in more places to
362 reduce the memory footprint.  In general, looked fairly good.
364 Will defer til 1.7.10.
366 --------------------------------------------------
367 [Discarded]
369 * tb/maint-remove-irrelevant-i18n-test (2012-03-06) 1 commit
370   (merged to 'next' on 2012-03-07 at 23f2dd1)
371  + t0204: remove a test that checks undefined behaviour
373 I tentatively parked this in 'next' but later reverted the merge.