What's cooking (2009/08 #02)
[git/dscho.git] / whats-cooking.txt
blobdb051a1ffa179ad9d426429ae474b9a19bf91369
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Aug 2009, #02; Wed, 12)
3 X-master-at: 6ffd781226f04629eff63a684b47ad7555143312
4 X-next-at: e5cd0abadfa20eaf7a76784ad5802115c75eff2f
6 What's cooking in git.git (Aug 2009, #02; Wed, 12)
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 branches, but I am still
12 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 [New Topics]
23 * ld/p4 (Thu Jul 30 00:13:46 2009 +0100) 1 commit
24  - git-p4: stream from perforce to speed up clones
26 Waiting for Ack/Nack from stakeholders.  Probably I should merge this to
27 'next' soon, keep it there for a week and see if anybody screams, aka
28 "Nack now or forever hold your peace" ;-).
30 * mr/gitweb-xz (Thu Aug 6 10:28:25 2009 -0400) 3 commits
31  - gitweb: add support for XZ compressed snapshots
32  - gitweb: update INSTALL regarding specific snapshot settings
33  - gitweb: support to globally disable a snapshot format
35 This should be safe as long as it does not silently enable itself for
36 folks who merely updated gitweb to this version without explicitly asking
37 for the new format (but I do not remember if that is what the patch does).
39 * jh/cvs-helper (Wed Aug 12 02:13:51 2009 +0200) 4 commits
40  - Add simple selftests of git-remote-cvs functionality
41  - Third draft of CVS remote helper program
42  - Add Python support library for CVS remote helper
43  - Basic build infrastructure for Python scripts
45 Builds on db/vcs-helper.  The last round failed its own selftest for me,
46 but this one seems to be Ok.  Documentation/git-remote-cvs.txt needs to be
47 fixed to build, though.
49 * bc/maint-am-email (Thu Aug 6 20:08:13 2009 -0500) 2 commits
50  + git-am: print fair error message when format detection fails
51  + am: allow individual e-mail files as input
53 It seems that the "not mbox but a single piece of e-mail" format was
54 something many people relied on.  I'm cooking this in 'next', and
55 hopefully it can graduate both to 'master' and 'maint'.
57 * js/maint-cover-letter-non-ascii (Mon Aug 10 18:22:22 2009 +0200) 2 commits
58  + Correctly mark cover letters' encodings if they are not pure ASCII
59  + Expose the has_non_ascii() function
61 * jc/verify-pack-stat (Fri Aug 7 15:45:30 2009 -0700) 2 commits
62  + verify-pack --stat-only: show histogram without verifying
63  + Merge branch 'maint' into jc/verify-pack-stat
65 * lt/block-sha1 (Wed Aug 12 15:47:55 2009 -0400) 15 commits
66  + block-sha1: support for architectures with memory alignment
67    restrictions
68  + block-sha1: split the different "hacks" to be individually
69    selected
70  + block-sha1: move code around
71  + block-sha1: improve code on large-register-set machines
72  + block-sha1: improved SHA1 hashing
73  + block-sha1: perform register rotation using cpp
74  + block-sha1: get rid of redundant 'lenW' context
75  + block-sha1: Use '(B&C)+(D&(B^C))' instead of '(B&C)|(D&(B|C))' in
76    round 3
77  + block-sha1: macroize the rounds a bit further
78  + block-sha1: re-use the temporary array as we calculate the SHA1
79  + block-sha1: make the 'ntohl()' part of the first SHA1 loop
80  + block-sha1: minor fixups
81  + block-sha1: try to use rol/ror appropriately
82  + block-sha1: undo ctx->size change
83  + Add new optimized C 'block-sha1' routines
85 Linus's "written in C, faster than handcrafted asm" SHA-1 implementation
86 with clean-up and ARM support from Nico.
88 * nd/sparse (Tue Aug 11 22:44:06 2009 +0700) 8 commits
89  . --sparse for porcelains
90  . Support sparse checkout in unpack_trees() and read-tree
91  . unpack-trees.c: generalize verify_* functions
92  . dir.c: export excluded_1() and add_excludes_from_file_1()
93  . excluded_1(): support exclude "directories" in index
94  . Read .gitignore from index if it is assume-unchanged
95  . Avoid writing to buffer in add_excludes_from_file_1()
96  . Prevent diff machinery from examining assume-unchanged entries on
97    worktree
99 Privately applied but not yet queued to 'pu', expecting a minor reroll
100 near the tip.
102 * jk/maint-merge-msg-fix (Sun Aug 9 06:02:51 2009 -0400) 3 commits
103  + merge: indicate remote tracking branches in merge message
104  + merge: fix incorrect merge message for ambiguous tag/branch
105  + add tests for merge message headings
107 ----------------------------------------------------------------
108 [Graduated to "master"]
110 * zf/maint-gitweb-acname (Sun Aug 2 09:42:24 2009 +0200) 1 commit
111  - gitweb: parse_commit_text encoding fix
113 * jc/maint-merge-recursive-fix (Thu Jul 30 17:38:15 2009 -0700) 1 commit
114  - merge-recursive: don't segfault while handling rename clashes
116 * js/run-command-updates (Tue Aug 4 11:28:40 2009 +0200) 7 commits
117  + run-command.c: squelch a "use before assignment" warning
118  + receive-pack: remove unnecessary run_status report
119  + run_command: report failure to execute the program, but optionally
120    don't
121  + run_command: encode deadly signal number in the return value
122  + run_command: report system call errors instead of returning error
123    codes
124  + run_command: return exit code as positive value
125  + MinGW: simplify waitpid() emulation macros
127 * mk/grep-max-depth (Wed Jul 22 19:52:15 2009 +0200) 1 commit
128  + grep: Add --max-depth option.
130 * jp/symlink-dirs (Wed Jul 29 20:22:25 2009 -0700) 3 commits
131  + git-checkout: be careful about untracked symlinks
132  + lstat_cache: guard against full match of length of 'name'
133    parameter
134  + Demonstrate bugs when a directory is replaced with a symlink
136 ----------------------------------------------------------------
137 [In 'next']
139 * bc/mailsplit-cr-at-eol (Tue Aug 4 22:31:59 2009 -0500) 4 commits
140  + Allow mailsplit (and hence git-am) to handle mails with CRLF line-
141    endings
142  + builtin-mailsplit.c: remove read_line_with_nul() since it is no
143    longer used
144  + builtin-mailinfo,builtin-mailsplit: use strbufs
145  + strbuf: add new function strbuf_getwholeline()
147 * gb/apply-ignore-whitespace (Tue Aug 4 13:16:49 2009 +0200) 1 commit
148  + git apply: option to ignore whitespace differences
150 * cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits
151  + t6050: check pushing something based on a replaced commit
152  + Documentation: add documentation for "git replace"
153  + Add git-replace to .gitignore
154  + builtin-replace: use "usage_msg_opt" to give better error messages
155  + parse-options: add new function "usage_msg_opt"
156  + builtin-replace: teach "git replace" to actually replace
157  + Add new "git replace" command
158  + environment: add global variable to disable replacement
159  + mktag: call "check_sha1_signature" with the replacement sha1
160  + replace_object: add a test case
161  + object: call "check_sha1_signature" with the replacement sha1
162  + sha1_file: add a "read_sha1_file_repl" function
163  + replace_object: add mechanism to replace objects found in
164    "refs/replace/"
165  + refs: add a "for_each_replace_ref" function
167 * jc/1.7.0-diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits
168  + diff: Rename QUIET internal option to QUICK
169  + diff: change semantics of "ignore whitespace" options
171 This changes exit code from "git diff --ignore-whitespace" and friends
172 when there is no actual output.  It is a backward incompatible change, but
173 we could argue that it is a bugfix.
175 * jc/1.7.0-push-safety (Mon Feb 9 00:19:46 2009 -0800) 2 commits
176  + Refuse deleting the current branch via push
177  + Refuse updating the current branch in a non-bare repository via
178    push
180 ----------------------------------------------------------------
181 [In 'pu']
183 * jn/gitweb-blame (Thu Aug 6 19:11:52 2009 +0200) 14 commits
184  - gitweb: Create links leading to 'blame_incremental' using
185    JavaScript
186  - gitweb: Incremental blame (proof of concept)
187  - gitweb: Add optional "time to generate page" info in footer
188  + Revert the four topmost commits from jn/gitweb-blame topic
189  + gitweb: Create links leading to 'blame_incremental' using
190    JavaScript
191  + gitweb: Incremental blame (proof of concept)
192  + gitweb: Add optional "time to generate page" info in footer
193  + gitweb: Add -partial_query option to href() subroutine
194  + gitweb: Use light/dark for class names also in 'blame' view
195  + gitweb: Add author initials in 'blame' view, a la "git gui blame"
196  + gitweb: Mark commits with no "previous" in 'blame' view
197  + gitweb: Use "previous" header of git-blame -p in 'blame' view
198  + gitweb: Mark boundary commits in 'blame' view
199  + gitweb: Make .error style generic
201 I haven't picked up Jakub's replacement to the second one from the tip.
202 We probably should merge up to "Use light/dark" (aef3768) to 'master' and
203 start the rest over.
205 * jc/maint-clean-nested-dir-safety (Tue Jun 30 15:33:45 2009 -0700) 1 commit
206  + clean: require double -f options to nuke nested git repository and
207    work tree
209 This probably should go in 'master' soonish.
211 * jc/shortstatus (Tue Aug 4 23:55:22 2009 -0700) 12 commits
212  - git stat -s: short status output
213  - git stat: pathspec limits, unlike traditional "git status"
214  - git stat: the beginning
215  + wt-status: collect untracked files in a separate "collect" phase
216  + Make git_status_config() file scope static to builtin-commit.c
217  + wt-status: move wt_status_colors[] into wt_status structure
218  + wt-status: move many global settings to wt_status structure
219  + commit: --dry-run
220  + status: show worktree status of conflicted paths separately
221  + wt-status.c: rework the way changes to the index and work tree are
222    summarized
223  + diff-index: keep the original index intact
224  + diff-index: report unmerged new entries
226 Slowly progressing.  I've addressed issues pointed out by Jeff in his
227 review, and hopefully the whole thing would be ready to go.
229 * db/vcs-helper (Sun Aug 9 15:28:28 2009 -0400) 17 commits
230  - Allow helpers to request marks for fast-import
231  - Allow helpers to report in "list" command that the ref is
232    unchanged
233  - Add support for "import" helper command
234  - transport-helper_init(): fix a memory leak in error path
235  - Add a config option for remotes to specify a foreign vcs
236  - Allow programs to not depend on remotes having urls
237  - Allow fetch to modify refs
238  - Use a function to determine whether a remote is valid
239  - Use a clearer style to issue commands to remote helpers
240  + Makefile: install hardlinks for git-remote-<scheme> supported by
241    libcurl if possible
242  + Makefile: do not link three copies of git-remote-* programs
243  + Makefile: git-http-fetch does not need expat
244  + http-fetch: Fix Makefile dependancies
245  + Add transport native helper executables to .gitignore
246  + git-http-fetch: not a builtin
247  + Use an external program to implement fetching with curl
248  + Add support for external programs for handling native fetches
250 This consolidates various previous rounds from Daniel and Johan.  It seems
251 that the use of colon ':' before vcs helper name needs to be corrected
252 before this series can go further.
254 * je/send-email-no-subject (Wed Aug 5 18:49:54 2009 +0200) 1 commit
255  - send-email: confirm on empty mail subjects
257 This seems to break t9001.  Near the tip of 'pu' I have a iffy workaround.
259 * jh/notes (Wed Jul 29 04:25:26 2009 +0200) 8 commits
260  - t3302-notes-index-expensive: Speed up create_repo()
261  - fast-import: Add support for importing commit notes
262  - First draft of notes tree parser with support for fanout subtrees
263  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
264  - Add an expensive test for git-notes
265  - Speed up git notes lookup
266  - Add a script to edit/inspect notes
267  - Introduce commit notes
269 * cc/sequencer-rebase-i (Wed Aug 5 22:53:00 2009 +0200) 8 commits
270  - rebase -i: use "git sequencer--helper --reset-hard"
271  - sequencer: add "--reset-hard" option to "git sequencer--helper"
272  - sequencer: add comments about reset_almost_hard()
273  - sequencer: add "reset_almost_hard()" and related functions
274  - rebase -i: use "git sequencer--helper --make-patch"
275  - sequencer: free memory used in "make_patch" function
276  - sequencer: add "make_patch" function to save a patch
277  - sequencer: add "builtin-sequencer--helper.c"
279 More sequencer updates.  I didn't look at the latest round that had a
280 handful "oops, fix that earlier botch" patches, expecting a cleaner
281 reroll.
283 * jc/mailinfo-remove-brackets (Wed Jul 15 15:31:12 2009 -0700) 1 commit
284  - mailinfo: -b option keeps [bracketed] strings that is not a
285    [PATCH] marker
287 * tr/reset-checkout-patch (Tue Jul 28 23:20:12 2009 +0200) 8 commits
288  - DWIM 'git stash save -p' for 'git stash -p'
289  - Merge branch 'js/stash-dwim' into tr/reset-checkout-patch
290  - Make 'git stash -k' a short form for 'git stash save --keep-index'
291  - Implement 'git stash save --patch'
292  - Implement 'git checkout --patch'
293  - Implement 'git reset --patch'
294  - builtin-add: refactor the meat of interactive_add()
295  - git-apply--interactive: Refactor patch mode code
297 Progress?
299 * js/stash-dwim (Mon Jul 27 20:37:10 2009 +0200) 1 commit
300  - Make 'git stash -k' a short form for 'git stash save --keep-index'
302 This should be merged to 'next' soonish, but I keep forgetting.
304 * pb/tracking (Thu Jul 16 16:26:15 2009 -0500) 7 commits
305  . branch.c: if remote is not config'd for branch, don't try delete
306    push config
307  . branch, checkout: introduce autosetuppush
308  . move deletion of merge configuration to branch.c
309  . remote: add per-remote autosetupmerge and autosetuprebase
310    configuration
311  . introduce a struct tracking_config
312  . branch: install_branch_config and struct tracking refactoring
313  . config: allow false and true values for branch.autosetuprebase
315 Has been ejected from 'pu' for some time, expecting a reroll.
317 * jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
318  - Allow --date=local --date=other-format to work as expected