What's cooking (2009/08 #06)
[git/dscho.git] / whats-cooking.txt
blob33e4afca633931910ea1bbebd43b7ba31ae18721
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Aug 2009, #06; Sun, 30)
3 X-master-at: f324cb50be3d88c6fb6123c85da749695a749f60
4 X-next-at: 5fc6248250e68c3b723efb9b868d8fc27499065a
6 What's cooking in git.git (Aug 2009, #06; Sun, 30)
7 --------------------------------------------------
9 Here are the topics that have been cooking.  Commits prefixed with '-' are
10 only in 'pu' while commits prefixed with '+' are in 'next'.  The ones
11 marked with '.' do not appear in any of the integration branches, but I am
12 still holding onto them.
14 After the 1.6.5 cycle, the next release will be 1.7.0, and we will push
15 out the planned "push safety" change.  1.7.0 would be a good time to
16 introduce "justifiable" changes that are not strictly backward compatible.
18 During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.
20 --------------------------------------------------
21 [Graduated to "master"]
23 * wl/insta-mongoose (2009-08-21) 1 commit
24   (merged to 'next' on 2009-08-25 at da1d566)
25  + Add support for the Mongoose web server.
27 * as/maint-graph-interesting-fix (2009-08-21) 2 commits.
28   (merged to 'next' on 2009-08-25 at 9d5e215)
29  + Add tests for rev-list --graph with options that simplify history
30  + graph API: fix bug in graph_is_interesting()
32 * jc/maint-unpack-objects-strict (2009-08-13) 1 commit.
33   (merged to 'next' on 2009-08-23 at 38eb750)
34  + Fix "unpack-objects --strict"
36 * jh/submodule-foreach (2009-08-20) 9 commits
37   (merged to 'next' on 2009-08-20 at 671bea4)
38  + git clone: Add --recursive to automatically checkout (nested) submodules
39  + t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
40   (merged to 'next' on 2009-08-18 at f4a881d)
41  + git submodule status: Add --recursive to recurse into nested submodules
42  + git submodule update: Introduce --recursive to update nested submodules
43  + git submodule foreach: Add --recursive to recurse into nested submodules
44  + git submodule foreach: test access to submodule name as '$name'
45  + Add selftest for 'git submodule foreach'
46  + git submodule: Cleanup usage string and add option parsing to cmd_foreach()
47  + git submodule foreach: Provide access to submodule name, as '$name'
49 * lt/block-sha1 (2009-08-17) 4 commits
50   (merged to 'next' on 2009-08-18 at 67a1ce8)
51  + remove ARM and Mozilla SHA1 implementations
52  + block-sha1: guard gcc extensions with __GNUC__
53  + make sure byte swapping is optimal for git
54  + block-sha1: make the size member first in the context struct
56 * np/maint-1.6.3-deepen (2009-08-24) 1 commit.
57   (merged to 'next' on 2009-08-25 at 8e383d4)
58  + fix simple deepening of a repo
60 * jk/maint-1.6.3-checkout-unborn (2009-08-24) 1 commit.
61   (merged to 'next' on 2009-08-25 at 5f29625)
62  + checkout: do not imply "-f" on unborn branches
64 * mm/reset-report (2009-08-21) 2 commits
65   (merged to 'next' on 2009-08-25 at f2a4424)
66  + reset: make the reminder output consistent with "checkout"
67  + Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
69 * jc/shortstatus (2009-08-15) 11 commits
70   (merged to 'next' on 2009-08-15 at 7e40766)
71  + git commit --dry-run -v: show diff in color when asked
72  + Documentation/git-commit.txt: describe --dry-run
73   (merged to 'next' on 2009-08-12 at 53bda17)
74  + wt-status: collect untracked files in a separate "collect" phase
75  + Make git_status_config() file scope static to builtin-commit.c
76  + wt-status: move wt_status_colors[] into wt_status structure
77  + wt-status: move many global settings to wt_status structure
78  + commit: --dry-run
79   (merged to 'next' on 2009-08-06 at fe8cb94)
80  + status: show worktree status of conflicted paths separately
81  + wt-status.c: rework the way changes to the index and work tree are summarized
82  + diff-index: keep the original index intact
83  + diff-index: report unmerged new entries
84  (this branch is used by jc/1.7.0-status.)
86 --------------------------------------------------
87 [New Topics]
89 * jc/upload-pack-hook (2009-08-28) 2 commits
90  - upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
91  - upload-pack: add a trigger for post-upload-pack hook
93 I do not know if the distinction between fetching some but not all refs
94 and fetching full set of refs into an empty repository is something worth
95 making, so in that sense the tip commit is somewhat iffy.
97 One reason this series makes me somewhat uneasy is that Tom, the original
98 starter of the discussion went dark after sending a proposed patch.  Maybe
99 he has been too busy, but I have been hoping that GitHub as a stakeholder
100 has somebody who monitors the list when he is not available.
102 Does anybody from GitHub have any input?  Is there something that needs to
103 be improved to fill GitHub's needs?  Does GitHub want to stick to its own
104 fork, and were all these discussions for improvements unwanted?
106 * jk/clone-b (2009-08-26) 1 commit
107   (merged to 'next' on 2009-08-30 at 10a68d1)
108  + clone: add --branch option to select a different HEAD
110 * pk/import-dirs (2009-08-24) 1 commit
111  - Add script for importing bits-and-pieces to Git.
113 This version makes me suspect that the author might regret the choice of
114 the import format that does not allow escaping of paths, nor does not
115 allow leading blanks for readability without changing semantics, both of
116 which make it somewhat limiting and error prone.  These issues will be
117 hard to rectify without breaking the backward compatibility, for a tool
118 that could otherwise turn out to be useful.
120 As a contrib/ material, I probably shouldn't be too worried about these
121 issues, but I am keeping this out of 'next' for now, just in case the
122 author chooses to polish the usability of the tool for general audience.
124 It is a different story if the submission was just throwing out a one-time
125 hack in the open in the hope that some other people might find it useful,
126 but without any intention of maintaining it.  But then I do not have a
127 strong reason to keep this in my tree, either.  The mailing list archive
128 is a more suitable storage media for such a patch.
130 --------------------------------------------------
131 [Stalled]
133 * jh/notes (2009-08-27) 12 commits.
134  - Add '%N'-format for pretty-printing commit notes
135  - Add flags to get_commit_notes() to control the format of the note string
136  - notes.c: Implement simple memory pooling of leaf nodes
137  - Selftests verifying semantics when loading notes trees with various fanouts
138  - Teach the notes lookup code to parse notes trees with various fanout schemes
139  - t3302-notes-index-expensive: Speed up create_repo()
140  - fast-import: Add support for importing commit notes
141  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
142  - Add an expensive test for git-notes
143  - Speed up git notes lookup
144  - Add a script to edit/inspect notes
145  - Introduce commit notes
147 I heard the cvs-helper series depends on this one.  It seems that the
148 fan-out strategy is being rethought?
150 * js/stash-dwim (2009-07-27) 1 commit.
151   (merged to 'next' on 2009-08-16 at 67896c4)
152  + Make 'git stash -k' a short form for 'git stash save --keep-index'
153  (this branch is used by tr/reset-checkout-patch.)
155 * tr/reset-checkout-patch (2009-08-27) 9 commits.
156   (merged to 'next' on 2009-08-27 at d314281)
157  + Make test case number unique
158   (merged to 'next' on 2009-08-18 at e465bb3)
159  + tests: disable interactive hunk selection tests if perl is not available
160   (merged to 'next' on 2009-08-16 at 67896c4)
161  + DWIM 'git stash save -p' for 'git stash -p'
162  + Implement 'git stash save --patch'
163  + Implement 'git checkout --patch'
164  + Implement 'git reset --patch'
165  + builtin-add: refactor the meat of interactive_add()
166  + Add a small patch-mode testing library
167  + git-apply--interactive: Refactor patch mode code
168  (this branch uses js/stash-dwim.)
170 There was a discussion on better DWIMmery for the above two topics to (1)
171 forbid "git stash save --anything-with-dash" and (2) redirect with any
172 option "git stash --opt" to "git stash save --opt", to keep it flexible
173 and safe at the same time.  I think it is a sane thing to do, but nothing
174 has happened lately.
176 * db/vcs-helper (2009-08-09) 17 commits
177  - Allow helpers to request marks for fast-import
178  - Allow helpers to report in "list" command that the ref is unchanged
179  - Add support for "import" helper command
180  - transport-helper_init(): fix a memory leak in error path
181  - Add a config option for remotes to specify a foreign vcs
182  - Allow programs to not depend on remotes having urls
183  - Allow fetch to modify refs
184  - Use a function to determine whether a remote is valid
185  - Use a clearer style to issue commands to remote helpers
186   (merged to 'next' on 2009-08-07 at f3533ba)
187  + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
188  + Makefile: do not link three copies of git-remote-* programs
189  + Makefile: git-http-fetch does not need expat
190   (merged to 'next' on 2009-08-06 at 15da79d)
191  + http-fetch: Fix Makefile dependancies
192  + Add transport native helper executables to .gitignore
193   (merged to 'next' on 2009-08-05 at 33d491e)
194  + git-http-fetch: not a builtin
195  + Use an external program to implement fetching with curl
196  + Add support for external programs for handling native fetches
197  (this branch is used by jh/cvs-helper.)
199 We had a few messages on what the list consensus was with this series.  My
200 impression, after going back to the archive, is that there wasn't.
202 * jn/gitweb-blame (2009-08-06) 3 commits
203  - gitweb: Create links leading to 'blame_incremental' using JavaScript
204  - gitweb: Incremental blame (WIP)
205  - gitweb: Add optional "time to generate page" info in footer
207 Ajax-y blame WIP
209 --------------------------------------------------
210 [Cooking]
212 * je/send-email-no-subject (2009-08-05) 1 commit
213   (merged to 'next' on 2009-08-30 at b6455c2)
214  + send-email: confirm on empty mail subjects
216 The existing tests to covers the positive case (i.e. as long as the user
217 says "yes" to the "do you really want to send this message that lacks
218 subject", the message is sent) of this feature, but the feature itself
219 needs its own test to verify the negative case (i.e. does it correctly
220 stop if the user says "no"?)
222 * lt/approxidate (2009-08-30) 6 commits
223   (merged to 'next' on 2009-08-30 at e016e3d)
224  + fix approxidate parsing of relative months and years
225  + tests: add date printing and parsing tests
226  + refactor test-date interface
227  + Add date formatting and parsing functions relative to a given time
228   (merged to 'next' on 2009-08-26 at 62853f9)
229  + Further 'approxidate' improvements
230  + Improve on 'approxidate'
232 Fixes a few "reasonably formatted but thus-far misparsed" date strings.
233 With tests by Peff, this should be ready for -rc0.
235 * mr/gitweb-snapshot (2009-08-25) 3 commits
236   (merged to 'next' on 2009-08-30 at e4edd0b)
237  + gitweb: add t9501 tests for checking HTTP status codes
238  + gitweb: split test suite into library and tests
239  + gitweb: improve snapshot error handling
241 * jc/mailinfo-scissors (2009-08-26) 5 commits
242   (merged to 'next' on 2009-08-30 at 5fc6248)
243  + mailinfo.scissors: new configuration
244  + am/mailinfo: Disable scissors processing by default
245  + Documentation: describe the scissors mark support of "git am"
246  + Teach mailinfo to ignore everything before -- >8 -- mark
247  + builtin-mailinfo.c: fix confusing internal API to mailinfo()
249 I didn't pick up the patch to simplify the definition of scissors. I do
250 not have strong opinion on it either way, but the list would hopefully
251 decide it before too long.
253 * tf/diff-whitespace-incomplete-line (2009-08-23) 2 commits.
254   (merged to 'next' on 2009-08-26 at 4fc7784)
255  + xutils: Fix xdl_recmatch() on incomplete lines
256  + xutils: Fix hashing an incomplete line with whitespaces at the end
258 Will merge.
260 * cc/sequencer-rebase-i (2009-08-28) 15 commits
261  - rebase -i: use "git sequencer--helper --cherry-pick"
262  - sequencer: add "--cherry-pick" option to "git sequencer--helper"
263  - sequencer: add "do_commit()" and related functions working on "next_commit"
264  - pick: libify "pick_help_msg()"
265  - revert: libify cherry-pick and revert functionnality
266  - rebase -i: use "git sequencer--helper --fast-forward"
267  - sequencer: let "git sequencer--helper" callers set "allow_dirty"
268  - sequencer: add "--fast-forward" option to "git sequencer--helper"
269  - sequencer: add "do_fast_forward()" to perform a fast forward
270  - rebase -i: use "git sequencer--helper --reset-hard"
271  - sequencer: add "--reset-hard" option to "git sequencer--helper"
272  - sequencer: add "reset_almost_hard()" and related functions
273  - rebase -i: use "git sequencer--helper --make-patch"
274  - sequencer: add "make_patch" function to save a patch
275  - sequencer: add "builtin-sequencer--helper.c"
277 Migrating "rebase -i" bit by bit to C.
279 * jh/cvs-helper (2009-08-18) 7 commits
280  - More fixes to the git-remote-cvs installation procedure
281  - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
282  - Add simple selftests of git-remote-cvs functionality
283  - git-remote-cvs: Remote helper program for CVS repositories
284  - 2/2: Add Python support library for CVS remote helper
285  - 1/2: Add Python support library for CVS remote helper
286  - Basic build infrastructure for Python scripts
287  (this branch uses db/vcs-helper.)
289 Builds on db/vcs-helper (which is stalled, so this cannot move further at
290 the moment).  There is a re-roll planned, so I did not pick up test fixes
291 from Brandon myself.
293 * sr/gfi-options (2009-08-27) 6 commits
294  - fast-import: test the new option command
295  - fast-import: add option command
296  - fast-import: test the new feature command
297  - fast-import: add feature command
298  - fast-import: put marks reading in it's own function
299  - fast-import: put option parsing code in separate functions
301 Re-rolled, based on an off-list discussion I was/am not aware of.
302 Looked ready for 'next'.
304 * nd/sparse (2009-08-20) 19 commits
305  - sparse checkout: inhibit empty worktree
306  - Add tests for sparse checkout
307  - read-tree: add --no-sparse-checkout to disable sparse checkout support
308  - unpack-trees(): ignore worktree check outside checkout area
309  - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
310  - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
311  - unpack-trees.c: generalize verify_* functions
312  - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
313  - Introduce "sparse checkout"
314  - dir.c: export excluded_1() and add_excludes_from_file_1()
315  - excluded_1(): support exclude files in index
316  - unpack-trees(): carry skip-worktree bit over in merged_entry()
317  - Read .gitignore from index if it is skip-worktree
318  - Avoid writing to buffer in add_excludes_from_file_1()
319  - Teach Git to respect skip-worktree bit (writing part)
320  - Teach Git to respect skip-worktree bit (reading part)
321  - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
322  - Add test-index-version
323  - update-index: refactor mark_valid() in preparation for new options
325 --------------------------------------------------
326 [For 1.7.0]
328 * jc/1.7.0-status (2009-08-15) 3 commits
329   (merged to 'next' on 2009-08-22 at b3507bb)
330  + git status: not "commit --dry-run" anymore
331  + git stat -s: short status output
332  + git stat: the beginning of "status that is not a dry-run of commit"
334 With this, "git status" is no longer "git commit --preview".
336 * jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
337   (merged to 'next' on 2009-08-22 at 5106de8)
338  + send-email: make --no-chain-reply-to the default
340 * jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
341   (merged to 'next' on 2009-08-30 at 0623572)
342  + diff.c: fix typoes in comments
343   (merged to 'next' on 2009-08-27 at 81fb2bd)
344  + Make test case number unique
345   (merged to 'next' on 2009-08-02 at 9c08420)
346  + diff: Rename QUIET internal option to QUICK
347  + diff: change semantics of "ignore whitespace" options
349 This changes exit code from "git diff --ignore-whitespace" and friends
350 when there is no actual output.  It is a backward incompatible change, but
351 we could argue that it is a bugfix.
353 * jc/1.7.0-push-safety (2009-02-09) 2 commits
354   (merged to 'next' on 2009-08-02 at 38b82fe)
355  + Refuse deleting the current branch via push
356  + Refuse updating the current branch in a non-bare repository via push
358 --------------------------------------------------
359 [I have been too busy to purge these]
361 * jc/log-tz (2009-03-03) 1 commit.
362  - Allow --date=local --date=other-format to work as expected
364 Maybe some people care about this.  I dunno.
366 * jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
367  - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
369 Maybe some people care about this.  I dunno.
371 * ar/maint-1.6.2-merge-recursive-d-f (2009-05-11) 2 commits.
372  . Fix for a merge where a branch has an F->D transition
373  . Add a reminder test case for a merge with F/D transition
375 * jc/merge-convert (2009-01-26) 1 commit.
376  . git-merge-file: allow converting the results for the work tree
378 * lt/read-directory (2009-05-15) 3 commits.
379  . Add initial support for pathname conversion to UTF-8
380  . read_directory(): infrastructure for pathname character set conversion
381  . Add 'fill_directory()' helper function for directory traversal
383 * ps/blame (2009-03-12) 1 commit.
384  . blame.c: start libifying the blame infrastructure
386 * pb/tracking (2009-07-16) 7 commits.
387  . branch.c: if remote is not config'd for branch, don't try delete push config
388  . branch, checkout: introduce autosetuppush
389  . move deletion of merge configuration to branch.c
390  . remote: add per-remote autosetupmerge and autosetuprebase configuration
391  . introduce a struct tracking_config
392  . branch: install_branch_config and struct tracking refactoring
393  . config: allow false and true values for branch.autosetuprebase
395 Has been ejected from 'pu' for some time, expecting a reroll.
397 * ne/rev-cache (2009-08-21) 6 commits
398  . support for path name caching in rev-cache
399  . full integration of rev-cache into git, completed test suite
400  . administrative functions for rev-cache, start of integration into git
401  . support for non-commit object caching in rev-cache
402  . basic revision cache system, no integration or features
403  . man page and technical discussion for rev-cache
405 Updated but seems to break upload-pack tests when merged to 'pu'; given
406 what this series touches, breakages in that area are expected.
407 May discard if a working reroll comes, to give it a fresh start.