What's cooking (2008/07 #05)
[git/dscho.git] / whats-cooking.txt
blob9447fce87261a942d8757110ee21fcc2792457db
1 Subject: What's cooking in git.git (Jul 2008, issue #05; Sun, 13)
3 What's cooking in git.git (Jul 2008, issue #05; Sun, 13)
4 --------------------------------------------------------
6 Here are the topics that have been cooking.  Commits prefixed
7 with '-' are only in 'pu' while commits prefixed with '+' are
8 in 'next'.
10 The topics list the commits in reverse chronological order.  The topics
11 meant to be merged to the maintenance series have "maint-" in their names.
13 I think most of the important stuff is already in 'next'.  Let's start
14 talking about closing the merge window for 1.6.0.
16 ----------------------------------------------------------------
17 [New Topics]
19 * sb/dashless (Sun Jul 13 15:36:15 2008 +0200) 3 commits
20  - Make usage strings dash-less
21  - t/: Use "test_must_fail git" instead of "! git"
22  - t/test-lib.sh: exit with small negagive int is ok with
23    test_must_fail
25 * mv/dashless (Fri Jul 11 02:12:06 2008 +0200) 4 commits
26  - make remove-dashes: apply to scripts and programs as well, not
27    just to builtins
28  - git-bisect: use dash-less form on git bisect log
29  - t1007-hash-object.sh: use quotes for the test description
30  - t0001-init.sh: change confusing directory name
32 * sp/maint-bash-completion-optim (Mon Jul 14 00:22:03 2008 +0000) 1 commit
33  + bash completion: Append space after file names have been completed
35 Early parts are already merged to 'master' and need to be merged down to
36 maint as well, as this is about a "performance bug" that has been with us
37 almost forever.
39 * ag/rewrite_one (Sat Jul 12 22:00:57 2008 +0400) 1 commit
40  + Fix quadratic performance in rewrite_one.
42 * sp/win (Fri Jul 11 18:52:42 2008 +0200) 3 commits
43  + We need to check for msys as well as Windows in add--interactive.
44  + Convert CR/LF to LF in tag signatures
45  + Fixed text file auto-detection: treat EOF character 032 at the end
46    of file as printable
48 * js/merge-rr (Sat Jul 12 15:56:19 2008 +0100) 2 commits
49  + Move MERGE_RR from .git/rr-cache/ into .git/
50  + builtin-rerere: more carefully find conflict markers
52 * sb/rerere-lib (Wed Jul 9 14:58:57 2008 +0200) 2 commits
53  + rerere: Separate libgit and builtin functions
54  + builtin-rerere: more carefully find conflict markers
56 * ls/mailinfo (Sun Jul 13 20:30:12 2008 +0200) 3 commits
57  - git-mailinfo: use strbuf's instead of fixed buffers
58  - Add some useful functions for strbuf manipulation.
59  - Make some strbuf_*() struct strbuf arguments const.
61 * gi/cherry-cache (Sat Jul 12 20:14:51 2008 -0700) 1 commit
62  - cherry: cache patch-ids to avoid repeating work
64 This does not seem to pass tests even on its own.
66 * js/maint-pretty-mailmap (Sat Jul 12 00:28:18 2008 +0100) 1 commit
67  + Add pretty format %aN which gives the author name, respecting
68    .mailmap
70 * js/more-win (Sun Jul 13 22:31:23 2008 +0200) 6 commits
71  - Allow add_path() to add non-existent directories to the path
72  - Allow the built-in exec path to be relative to the command
73    invocation path
74  - Fix relative built-in paths to be relative to the command
75    invocation
76  + help (Windows): Display HTML in default browser using Windows'
77    shell API
78  + help.c: Add support for htmldir relative to git_exec_path()
79  + Move code interpreting path relative to exec-dir to new function
80    system_path()
82 The earlier parts are obvious; Dscho seemed to have some comments on the
83 later ones that are in 'pu'.
85 * lw/gitweb (Fri Jul 11 03:11:48 2008 +0200) 3 commits
86  - gitweb: use new Git::Repo API, and add optional caching
87  - Add new Git::Repo API
88  - gitweb: add test suite with Test::WWW::Mechanize::CGI
90 This does not pass t9710, at least for me X-<.
92 ----------------------------------------------------------------
93 [Will merge to master soon]
95 * jc/rebase-orig-head (Tue Jul 8 00:12:22 2008 -0400) 2 commits
96  + Documentation: mention ORIG_HEAD in am, merge, and rebase
97  + Teach "am" and "rebase" to mark the original position with
98    ORIG_HEAD
100 * jc/branch-merged (Tue Jul 8 17:55:47 2008 -0700) 3 commits
101  + branch --merged/--no-merged: allow specifying arbitrary commit
102  + branch --contains: default to HEAD
103  + parse-options: add PARSE_OPT_LASTARG_DEFAULT flag
105 This builds on top of the parse-options enhancement series that
106 has been cooking in 'next' for some time.
108 * om/rerere-careful (Mon Jul 7 14:42:48 2008 +0200) 1 commit
109  + builtin-rerere: more carefully find conflict markers
111 * ls/maint-mailinfo-patch-label (Thu Jul 10 23:41:33 2008 +0200) 1 commit
112  + git-mailinfo: Fix getting the subject from the in-body [PATCH]
113    line
115 ----------------------------------------------------------------
116 [Actively Cooking]
118 * xx/merge-in-c-into-next (Wed Jul 9 13:51:46 2008 -0700) 4 commits
119  + Teach git-merge -X<option> again.
120  + Merge branch 'jc/merge-theirs' into xx/merge-in-c-into-next
121  + builtin-merge.c: use parse_options_step() "incremental parsing"
122    machinery
123  + Merge branch 'ph/parseopt-step-blame' into xx/merge-in-c-into-next
125 I've described what this is in a separate message.
127 * rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
128  - Documentation: Improve documentation for git-imap-send(1)
129  - imap-send.c: more style fixes
130  - imap-send.c: style fixes
131  - git-imap-send: Support SSL
132  - git-imap-send: Allow the program to be run from subdirectories of
133    a git tree
135 Some people seem to prefer having this feature available also with gnutls.
136 If such a patch materializes soon, that would be good, but otherwise I'll
137 merge this as-is to 'next'.  Such an enhancement can be done in-tree on
138 top of this series.
140 * jc/merge-theirs (Mon Jun 30 22:18:57 2008 -0700) 5 commits
141  + Make "subtree" part more orthogonal to the rest of merge-
142    recursive.
143  + Teach git-pull to pass -X<option> to git-merge
144  + Teach git-merge to pass -X<option> to the backend strategy module
145  + git-merge-recursive-{ours,theirs}
146  + git-merge-file --ours, --theirs
148 Punting a merge by discarding your own work in conflicting parts but still
149 salvaging the parts that are cleanly automerged.  It is likely that this
150 will result in nonsense mishmash, but somehow often people want this, so
151 here they are.  The interface to the backends is updated so that you can
152 say "git merge -Xours -Xsubtree=foo/bar/baz -s recursive other" now.
154 * mv/merge-in-c (Sun Jul 13 08:13:55 2008 +0000) 19 commits
155  + reduce_heads(): thinkofix
156  + Add a new test for git-merge-resolve
157  + t6021: add a new test for git-merge-resolve
158  + Teach merge.log to "git-merge" again
159  + Build in merge
160  + Fix t7601-merge-pull-config.sh on AIX
161  + git-commit-tree: make it usable from other builtins
162  + Add new test case to ensure git-merge prepends the custom merge
163    message
164  + Add new test case to ensure git-merge reduces octopus parents when
165    possible
166  + Introduce reduce_heads()
167  + Introduce get_merge_bases_many()
168  + Add new test to ensure git-merge handles more than 25 refs.
169  + Introduce get_octopus_merge_bases() in commit.c
170  + git-fmt-merge-msg: make it usable from other builtins
171  + Move read_cache_unmerged() to read-cache.c
172  + Add new test to ensure git-merge handles pull.twohead and
173    pull.octopus
174  + Move parse-options's skip_prefix() to git-compat-util.h
175  + Move commit_list_count() to commit.c
176  + Move split_cmdline() to alias.c
178 Sverre seems to have a yet another fixup on top of this that came late and
179 I haven't looked at.
181 ----------------------------------------------------------------
182 [Graduated to "master"]
184 * js/pick-root (Fri Jul 4 16:19:52 2008 +0100) 1 commit
185  + Allow cherry-picking root commits
187 * ab/bundle (Sat Jul 5 17:26:40 2008 -0400) 1 commit
188  + Teach git-bundle to read revision arguments from stdin like git-
189    rev-list.
191 * sg/stash-k-i (Tue Jul 8 00:40:56 2008 -0700) 2 commits
192  + Documentation: tweak use case in "git stash save --keep-index"
193  + stash: introduce 'stash save --keep-index' option
195 One weakness of our "partial commit" workflow support used to be that the
196 user can incrementally build what is to be committed in the index but that
197 state cannot be tested as a whole in the working tree.  This allows you to
198 temporarily stash the remaining changes in the working tree so that the
199 index state before running "stash save --keep-index" can be seen in the
200 working tree to be tested and then committed.
202 * am/stash-branch (Mon Jul 7 02:50:10 2008 +0530) 2 commits
203  + Add a test for "git stash branch"
204  + Implement "git stash branch <newbranch> <stash>"
206 Creates a new branch out of the stashed state, after returning from the
207 interrupt that forced you to create the stash in the first place.
209 * tr/add-i-e (Thu Jul 3 00:00:00 2008 +0200) 3 commits
210  + git-add--interactive: manual hunk editing mode
211  + git-add--interactive: remove hunk coalescing
212  + git-add--interactive: replace hunk recounting with apply --recount
214 Adds 'e/dit' action to interactive add command.
216 * jc/report-tracking (Sun Jul 6 02:54:56 2008 -0700) 5 commits
217  + branch -r -v: do not spit out garbage
218  + stat_tracking_info(): clear object flags used during counting
219  + git-branch -v: show the remote tracking statistics
220  + git-status: show the remote tracking statistics
221  + Refactor "tracking statistics" code used by "git checkout"
223 Makes the "your branch is ahead of the tracked one by N commits" logic and
224 messages available to other commands; status and branch are updated.
226 * ph/parseopt-step-blame (Wed Jul 9 23:38:34 2008 +0200) 18 commits
227  + revisions: refactor handle_revision_opt into parse_revision_opt.
228  + git-shortlog: migrate to parse-options partially.
229  + git-blame: fix lapsus
230  + git-blame: migrate to incremental parse-option [2/2]
231  + git-blame: migrate to incremental parse-option [1/2]
232  + revisions: split handle_revision_opt() from setup_revisions()
233  + Merge branch 'jc/blame' (early part) into HEAD
234  + parse-opt: add PARSE_OPT_KEEP_ARGV0 parser option.
235  + parse-opt: fake short strings for callers to believe in.
236  + parse-opt: do not print errors on unknown options, return -2
237    intead.
238  + parse-opt: create parse_options_step.
239  + parse-opt: Export a non NORETURN usage dumper.
240  + parse-opt: have parse_options_{start,end}.
241  + git-blame --reverse
242  + builtin-blame.c: allow more than 16 parents
243  + builtin-blame.c: move prepare_final() into a separate function.
244  + rev-list --children
245  + revision traversal: --children option
247 Became active again ;-) This probably is ready for 'master' already,
248 except for the last two which I only looked at the patch and have not
249 used heavily in production yet.
251 ----------------------------------------------------------------
252 [On Hold]
254 * sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
255  + merge: remove deprecated summary and diffstat options and config
256    variables
258 This was previously in "will be in master soon" category, but it turns out
259 that the synonyms to the ones this one deletes are fairly new invention
260 that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
261 in 1.7.0.
263 * jc/dashless (Thu Jun 26 16:43:34 2008 -0700) 2 commits
264  + Revert "Make clients ask for "git program" over ssh and local
265    transport"
266  + Make clients ask for "git program" over ssh and local transport
268 This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
269 timeframe.
271 * jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
272  - diff: enable "too large a rename" warning when -M/-C is explicitly
273    asked for
275 This would be the right thing to do for command line use, but gitk will be
276 hit due to tcl/tk's limitation, so I am holding this back for now.
278 ----------------------------------------------------------------
279 [Stalled/Needs more work]
281 * sb/sequencer (Tue Jul 1 04:38:34 2008 +0200) 4 commits
282  . Migrate git-am to use git-sequencer
283  . Add git-sequencer test suite (t3350)
284  . Add git-sequencer prototype documentation
285  . Add git-sequencer shell prototype
287 * jc/grafts (Wed Jul 2 17:14:12 2008 -0700) 1 commit
288  - [BROKEN wrt shallow clones] Ignore graft during object transfer
290 Cloning or fetching from a repository from grafts did not send objects
291 that are hidden by grafts, but the commits in the resulting repository do
292 need these to pass fsck.  This fixes object transfer to ignore grafts.
294 Another fix is needed to git-prune so that it ignores grafts but treats
295 commits that are mentioned in grafts as reachable.
297 * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
298  - blame: show "previous" information in --porcelain/--incremental
299    format
300  - git-blame: refactor code to emit "porcelain format" output
302 This is for peeling to see what's behind the blamed commit, which may or
303 may not help applications like gitweb.