What's in
[git/spearce.git] / whats / cooking / 2009 / 08 / 05.txt
bloba1a84402ae6e98a8a8764b8c513b202ed09b39df
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Aug 2009, #05; Wed, 26)
3 X-master-at: 68ea4741643d9e7c4bdac7cbbe6292edc69430ef
4 X-next-at: 4fc77847c70f00e94586150f808d0418ca64bbb8
6 What's cooking in git.git (Aug 2009, #05; Wed, 26)
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 * aj/fix-read-tree-from-scratch (2009-08-17) 1 commit
24   (merged to 'next' on 2009-08-20 at 7a04133)
25  + read-tree: Fix regression with creation of a new index file.
27 * jc/maint-checkout-index-to-prefix (2009-08-16) 1 commit
28   (merged to 'next' on 2009-08-20 at 2f6aea2)
29  + check_path(): allow symlinked directories to checkout-index --prefix
31 * jl/submodule-summary-diff-files (2009-08-15) 2 commits
32   (merged to 'next' on 2009-08-15 at 165bd8e)
33  + Documentaqtion/git-submodule.txt: Typofix
34   (merged to 'next' on 2009-08-14 at a702e78)
35  + git submodule summary: add --files option
37 * lh/short-decorate (2009-08-15) 1 commit
38   (merged to 'next' on 2009-08-18 at b8c1d96)
39  + git-log: allow --decorate[=short|full]
41 * oa/stash-na (2009-08-11) 1 commit
42   (merged to 'next' on 2009-08-14 at 12c2e2b)
43  + git stash: Give friendlier errors when there is nothing to apply
44 --------------------------------------------------
45 [New Topics]
47 * np/maint-1.6.3-deepen (2009-08-24) 1 commit.
48   (merged to 'next' on 2009-08-25 at 8e383d4)
49  + fix simple deepening of a repo
51 * jk/maint-1.6.3-checkout-unborn (2009-08-24) 1 commit.
52   (merged to 'next' on 2009-08-25 at 5f29625)
53  + checkout: do not imply "-f" on unborn branches
55 * mr/gitweb-snapshot (2009-08-25) 3 commits
56  - gitweb: add t9501 tests for checking HTTP status codes
57  - gitweb: split test suite into library and tests
58  - gitweb: improve snapshot error handling
59 --------------------------------------------------
60 [Stalled]
62 * js/stash-dwim (2009-07-27) 1 commit.
63   (merged to 'next' on 2009-08-16 at 67896c4)
64  + Make 'git stash -k' a short form for 'git stash save --keep-index'
65  (this branch is used by tr/reset-checkout-patch.)
67 * tr/reset-checkout-patch (2009-08-18) 8 commits.
68   (merged to 'next' on 2009-08-18 at e465bb3)
69  + tests: disable interactive hunk selection tests if perl is not available
70   (merged to 'next' on 2009-08-16 at 67896c4)
71  + DWIM 'git stash save -p' for 'git stash -p'
72  + Implement 'git stash save --patch'
73  + Implement 'git checkout --patch'
74  + Implement 'git reset --patch'
75  + builtin-add: refactor the meat of interactive_add()
76  + Add a small patch-mode testing library
77  + git-apply--interactive: Refactor patch mode code
78  (this branch uses js/stash-dwim.)
80 There was a discussion on better DWIMmery for the above two topics to (1)
81 forbid "git stash save --anything-with-dash" and (2) redirect with any
82 option "git stash --opt" to "git stash save --opt", to keep it flexible
83 and safe at the same time.  I think it is a sane thing to do, but nothing
84 has happened lately.
86 * jn/gitweb-blame (2009-08-06) 3 commits
87  - gitweb: Create links leading to 'blame_incremental' using JavaScript
88  - gitweb: Incremental blame (WIP)
89  - gitweb: Add optional "time to generate page" info in footer
91 Ajax-y blame WIP
93 * db/vcs-helper (2009-08-09) 17 commits
94  - Allow helpers to request marks for fast-import
95  - Allow helpers to report in "list" command that the ref is unchanged
96  - Add support for "import" helper command
97  - transport-helper_init(): fix a memory leak in error path
98  - Add a config option for remotes to specify a foreign vcs
99  - Allow programs to not depend on remotes having urls
100  - Allow fetch to modify refs
101  - Use a function to determine whether a remote is valid
102  - Use a clearer style to issue commands to remote helpers
103   (merged to 'next' on 2009-08-07 at f3533ba)
104  + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
105  + Makefile: do not link three copies of git-remote-* programs
106  + Makefile: git-http-fetch does not need expat
107   (merged to 'next' on 2009-08-06 at 15da79d)
108  + http-fetch: Fix Makefile dependancies
109  + Add transport native helper executables to .gitignore
110   (merged to 'next' on 2009-08-05 at 33d491e)
111  + git-http-fetch: not a builtin
112  + Use an external program to implement fetching with curl
113  + Add support for external programs for handling native fetches
114  (this branch is used by jh/cvs-helper.)
116 There was a discussion that suggests that the use of colon ':' before vcs
117 helper name needs to be corrected.  Nothing happened since.
119 * je/send-email-no-subject (2009-08-05) 1 commit
120  - send-email: confirm on empty mail subjects
122 This seems to break t9001.  Near the tip of 'pu' I have a iffy
123 workaround.
124 --------------------------------------------------
125 [Cooking]
127 * mm/reset-report (2009-08-21) 2 commits
128   (merged to 'next' on 2009-08-25 at f2a4424)
129  + reset: make the reminder output consistent with "checkout"
130  + Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
132 * wl/insta-mongoose (2009-08-21) 1 commit
133   (merged to 'next' on 2009-08-25 at da1d566)
134  + Add support for the Mongoose web server.
136 * lt/approxidate (2009-08-22) 2 commits
137   (merged to 'next' on 2009-08-26 at 62853f9)
138  + Further 'approxidate' improvements
139  + Improve on 'approxidate'
141 Fixes a few "reasonably formatted but thus-far misparsed" date strings.
142 As Nico suggested, we would need a test to prevent regression to existing
143 support for date strings that are "reasonably formatted".
145 * jc/mailinfo-scissors (2009-08-25) 2 commits
146  - Documentation: describe the scissors mark support of "git am"
147  - Teach mailinfo to ignore everything before -- >8 -- mark
149 * tf/diff-whitespace-incomplete-line (2009-08-23) 2 commits.
150   (merged to 'next' on 2009-08-26 at 4fc7784)
151  + xutils: Fix xdl_recmatch() on incomplete lines
152  + xutils: Fix hashing an incomplete line with whitespaces at the end
154 * cc/sequencer-rebase-i (2009-08-21) 17 commits.
155  - rebase -i: use "git sequencer--helper --cherry-pick"
156  - sequencer: add "--cherry-pick" option to "git sequencer--helper"
157  - sequencer: add "do_commit()" and related functions
158  - pick: libify "pick_help_msg()"
159  - revert: libify pick
160  - rebase -i: use "git sequencer--helper --fast-forward"
161  - sequencer: let "git sequencer--helper" callers set "allow_dirty"
162  - sequencer: add "--fast-forward" option to "git sequencer--helper"
163  - sequencer: add "do_fast_forward()" to perform a fast forward
164  - rebase -i: use "git sequencer--helper --reset-hard"
165  - sequencer: add "--reset-hard" option to "git sequencer--helper"
166  - sequencer: add comments about reset_almost_hard()
167  - sequencer: add "reset_almost_hard()" and related functions
168  - rebase -i: use "git sequencer--helper --make-patch"
169  - sequencer: free memory used in "make_patch" function
170  - sequencer: add "make_patch" function to save a patch
171  - sequencer: add "builtin-sequencer--helper.c"
173 Migrating "rebase -i" bit by bit to C.  I am inclined to agree with Dscho
174 that maybe this approach forces the migration to follow the structure of
175 the shell script too much, and could force a suboptimal end result, but
176 we'll see.
178 * as/maint-graph-interesting-fix (2009-08-21) 2 commits.
179   (merged to 'next' on 2009-08-25 at 9d5e215)
180  + Add tests for rev-list --graph with options that simplify history
181  + graph API: fix bug in graph_is_interesting()
183 Looked sane.
185 * jc/shortstatus (2009-08-15) 11 commits
186   (merged to 'next' on 2009-08-15 at 7e40766)
187  + git commit --dry-run -v: show diff in color when asked
188  + Documentation/git-commit.txt: describe --dry-run
189   (merged to 'next' on 2009-08-12 at 53bda17)
190  + wt-status: collect untracked files in a separate "collect" phase
191  + Make git_status_config() file scope static to builtin-commit.c
192  + wt-status: move wt_status_colors[] into wt_status structure
193  + wt-status: move many global settings to wt_status structure
194  + commit: --dry-run
195   (merged to 'next' on 2009-08-06 at fe8cb94)
196  + status: show worktree status of conflicted paths separately
197  + wt-status.c: rework the way changes to the index and work tree are summarized
198  + diff-index: keep the original index intact
199  + diff-index: report unmerged new entries
200  (this branch is used by jc/1.7.0-status.)
202 Will cook for a bit more and then merge.
204 * jc/maint-unpack-objects-strict (2009-08-13) 1 commit.
205   (merged to 'next' on 2009-08-23 at 38eb750)
206  + Fix "unpack-objects --strict"
208 Will merge.
210 * jh/submodule-foreach (2009-08-20) 9 commits
211   (merged to 'next' on 2009-08-20 at 671bea4)
212  + git clone: Add --recursive to automatically checkout (nested) submodules
213  + t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
214   (merged to 'next' on 2009-08-18 at f4a881d)
215  + git submodule status: Add --recursive to recurse into nested submodules
216  + git submodule update: Introduce --recursive to update nested submodules
217  + git submodule foreach: Add --recursive to recurse into nested submodules
218  + git submodule foreach: test access to submodule name as '$name'
219  + Add selftest for 'git submodule foreach'
220  + git submodule: Cleanup usage string and add option parsing to cmd_foreach()
221  + git submodule foreach: Provide access to submodule name, as '$name'
223 Will merge.
225 * jh/notes (2009-07-29) 8 commits.
226  - t3302-notes-index-expensive: Speed up create_repo()
227  - fast-import: Add support for importing commit notes
228  - First draft of notes tree parser with support for fanout subtrees
229  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
230  - Add an expensive test for git-notes
231  - Speed up git notes lookup
232  - Add a script to edit/inspect notes
233  - Introduce commit notes
235 The cvs-helper series depends on this one.  I have a recollection
236 that some people were not happy about the fan-out of the notes tree
237 layout, but has the issue been resolved to a concensus?
239 * ne/rev-cache (2009-08-21) 6 commits
240  . support for path name caching in rev-cache
241  . full integration of rev-cache into git, completed test suite
242  . administrative functions for rev-cache, start of integration into git
243  . support for non-commit object caching in rev-cache
244  . basic revision cache system, no integration or features
245  . man page and technical discussion for rev-cache
247 Updated but seems to break upload-pack tests when merged to 'pu'; given
248 what this series touches, breakages in that area are expected.
249 May discard if a working reroll comes, to give it a fresh start.
251 * jh/cvs-helper (2009-08-18) 7 commits
252  - More fixes to the git-remote-cvs installation procedure
253  - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
254  - Add simple selftests of git-remote-cvs functionality
255  - git-remote-cvs: Remote helper program for CVS repositories
256  - 2/2: Add Python support library for CVS remote helper
257  - 1/2: Add Python support library for CVS remote helper
258  - Basic build infrastructure for Python scripts
259  (this branch uses db/vcs-helper.)
261 Builds on db/vcs-helper (which is stalled, so this cannot move).
263 The testing of Python part seemed to be still fragile even with the latest
264 fix on one of my boches with an earlier round already installed, but I
265 didn't look very deeply before removing the older installation.
267 * sr/gfi-options (2009-08-24) 4 commits
268  - fast-import: test the new option command
269  - fast-import: add option command
270  - fast-import: put marks reading in it's own function
271  - fast-import: put option parsing code in seperate functions
273 Will merge to 'next' shortly.
275 * lt/block-sha1 (2009-08-17) 4 commits
276   (merged to 'next' on 2009-08-18 at 67a1ce8)
277  + remove ARM and Mozilla SHA1 implementations
278  + block-sha1: guard gcc extensions with __GNUC__
279  + make sure byte swapping is optimal for git
280  + block-sha1: make the size member first in the context struct
282 May merge soon; Solaris performance patches that was discussed
283 earlier can happen on 'master', as the series is usable as-is.
285 * nd/sparse (2009-08-20) 20 commits
286  - sparse checkout: inhibit empty worktree
287  - Add tests for sparse checkout
288  - read-tree: add --no-sparse-checkout to disable sparse checkout support
289  - unpack-trees(): ignore worktree check outside checkout area
290  - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
291  - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
292  - unpack-trees.c: generalize verify_* functions
293  - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
294  - Introduce "sparse checkout"
295  - dir.c: export excluded_1() and add_excludes_from_file_1()
296  - excluded_1(): support exclude files in index
297  - unpack-trees(): carry skip-worktree bit over in merged_entry()
298  - Read .gitignore from index if it is skip-worktree
299  - Avoid writing to buffer in add_excludes_from_file_1()
300  - Teach Git to respect skip-worktree bit (writing part)
301  - Teach Git to respect skip-worktree bit (reading part)
302  - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
303  - Add test-index-version
304  - update-index: refactor mark_valid() in preparation for new options
305   (merged to 'next' on 2009-08-20 at ea167d7)
306  + Prevent diff machinery from examining assume-unchanged entries on worktree
308 The first one was an independent fix; the rest has been replaced with the
309 "return of no-checkout" series.
310 --------------------------------------------------
311 [For 1.7.0]
313 * jc/1.7.0-status (2009-08-15) 3 commits
314   (merged to 'next' on 2009-08-22 at b3507bb)
315  + git status: not "commit --dry-run" anymore
316  + git stat -s: short status output
317  + git stat: the beginning of "status that is not a dry-run of commit"
318  (this branch uses jc/shortstatus.)
320 With this, "git status" is no longer "git commit --preview".
322 * jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
323   (merged to 'next' on 2009-08-22 at 5106de8)
324  + send-email: make --no-chain-reply-to the default
326 * jc/1.7.0-diff-whitespace-only-status (2009-05-23) 2 commits.
327   (merged to 'next' on 2009-08-02 at 9c08420)
328  + diff: Rename QUIET internal option to QUICK
329  + diff: change semantics of "ignore whitespace" options
331 This changes exit code from "git diff --ignore-whitespace" and friends
332 when there is no actual output.  It is a backward incompatible change, but
333 we could argue that it is a bugfix.
335 * jc/1.7.0-push-safety (2009-02-09) 2 commits
336   (merged to 'next' on 2009-08-02 at 38b82fe)
337  + Refuse deleting the current branch via push
338  + Refuse updating the current branch in a non-bare repository via push
339 --------------------------------------------------
340 [I have been too busy to purge these]
342 * jc/log-tz (2009-03-03) 1 commit.
343  - Allow --date=local --date=other-format to work as expected
345 Maybe some people care about this.  I dunno.
347 * jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
348  - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
350 Maybe some people care about this.  I dunno.
352 * ar/maint-1.6.2-merge-recursive-d-f (2009-05-11) 2 commits.
353  . Fix for a merge where a branch has an F->D transition
354  . Add a reminder test case for a merge with F/D transition
356 * jc/merge-convert (2009-01-26) 1 commit.
357  . git-merge-file: allow converting the results for the work tree
359 * lt/read-directory (2009-05-15) 3 commits.
360  . Add initial support for pathname conversion to UTF-8
361  . read_directory(): infrastructure for pathname character set conversion
362  . Add 'fill_directory()' helper function for directory traversal
364 * ps/blame (2009-03-12) 1 commit.
365  . blame.c: start libifying the blame infrastructure
367 * pb/tracking (2009-07-16) 7 commits.
368  . branch.c: if remote is not config'd for branch, don't try delete push config
369  . branch, checkout: introduce autosetuppush
370  . move deletion of merge configuration to branch.c
371  . remote: add per-remote autosetupmerge and autosetuprebase configuration
372  . introduce a struct tracking_config
373  . branch: install_branch_config and struct tracking refactoring
374  . config: allow false and true values for branch.autosetuprebase
376 Has been ejected from 'pu' for some time, expecting a reroll.