What's cooking (2009/03 #01)
[git/dscho.git] / whats-cooking.txt
blob699e051bb33b116a4a1b42c8f1ce078b246a996d
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Mar 2009, #01; Tue, 03)
3 X-master-at: 1d035f85649cbb0a4fcc3e341f7e854acf9cf3c1
4 X-next-at: 23381c887989ea63153c562061b1c4703ee75baf
6 What's cooking in git.git (Mar 2009, #01; Tue, 03)
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 The topics list the commits in reverse chronological order.  The topics
15 meant to be merged to the maintenance series have "maint-" in their names.
17 The master branch is slightly past 1.6.2-rc2.  It's been a week and I
18 think I can declare the final on this Wednesday, *if* I am not too mired
19 by the day job, but I do not know what would happen yet.
21 As an experiment, 'next' and 'pu' stayed open during this release freeze;
22 new topics have been accepted.  I have to say that the experiment was a
23 moderate success, and many topics in 'next' seem to be of fairly high
24 quality already, which would mean that we will have a shorter cycle before
25 1.6.3.
27 ----------------------------------------------------------------
28 [New Topics]
30 * jk/clone-post-checkout (Tue Mar 3 00:37:51 2009 -0500) 1 commit
31  - clone: run post-checkout hook when checking out
33 * hv/cvsimport (Mon Mar 2 18:59:36 2009 +0100) 1 commit
34  - cvsimport: add test illustrating a bug in cvsps
36 * jc/push-to-create (Mon Mar 2 22:36:16 2009 -0800) 1 commit
37  - Push to create
39 * fc/parseopt-config (Sat Feb 21 02:49:29 2009 +0200) 11 commits
40  - git config: don't allow --get-color* and variable type
41  - git config: don't allow extra arguments for -e or -l.
42  - git config: don't allow multiple variable types
43  - git config: don't allow multiple config file locations
44  - git config: reorganize to use parseopt
45  - git config: reorganize get_color*
46  - git config: trivial rename in preparation for parseopt
47  - git_config(): not having a per-repo config file is not an error
48  + git config: trivial cleanup for editor action
49  + git config: codestyle cleanups
50  + config: Add new option to open an editor.
52 * tr/format-patch-thread (Thu Feb 19 22:26:33 2009 +0100) 4 commits
53  - format-patch: support deep threading
54  - format-patch: thread as reply to cover letter even with in-reply-
55    to
56  - format-patch: track several references
57  - format-patch: threading test reactivation
59 * ns/pretty-format (Tue Feb 24 15:33:29 2009 +0200) 5 commits
60  + bash completion: add --format= and --oneline options for "git log"
61  + Add tests for git log --pretty, --format and --oneline.
62  + Add --oneline that is a synonym to "--pretty=oneline --abbrev-
63    commit"
64  + Give short-hands to --pretty=tformat:%formatstring
65  + Add --format that is a synonym to --pretty
67 * mh/cvsimport-tests (Mon Feb 23 06:08:14 2009 +0100) 5 commits
68  - Add a test of "git cvsimport"'s handling of tags and branches
69  - Add some tests of git-cvsimport's handling of vendor branches
70  - Test contents of entire cvsimported "master" tree contents
71  - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
72  - Start a library for cvsimport-related tests
74 * tr/maint-1.6.0-send-email-irt (Sun Mar 1 23:45:41 2009 +0100) 1 commit
75  - send-email: respect in-reply-to regardless of threading
77 * jc/maint-1.6.0-keep-pack (Sat Feb 28 00:37:19 2009 -0800) 6 commits
78  + is_kept_pack(): final clean-up
79  + Simplify is_kept_pack()
80  + Consolidate ignore_packed logic more
81  + has_sha1_kept_pack(): take "struct rev_info"
82  + has_sha1_pack(): refactor "pretend these packs do not exist"
83    interface
84  + git-repack: resist stray environment variable
86 * en/maint-hash-object (Sat Feb 28 12:56:49 2009 -0700) 1 commit
87  + Ensure proper setup of git_dir for git-hash-object
89 * el/blame-date (Fri Feb 20 14:51:11 2009 -0800) 1 commit
90  - Make git blame's date output format configurable, like git log
92 * js/remote-improvements (Wed Feb 25 03:32:28 2009 -0500) 22 commits
93  - builtin-remote: new show output style for push refspecs
94  - builtin-remote: new show output style
95  - remote: make guess_remote_head() use exact HEAD lookup if it is
96    available
97  - builtin-remote: add set-head subcommand
98  - builtin-remote: teach show to display remote HEAD
99  - builtin-remote: fix two inconsistencies in the output of "show
100    <remote>"
101  - builtin-remote: make get_remote_ref_states() always populate
102    states.tracked
103  - builtin-remote: rename variables and eliminate redundant function
104    call
105  - builtin-remote: remove unused code in get_ref_states
106  - builtin-remote: refactor duplicated cleanup code
107  - string-list: new for_each_string_list() function
108  - remote: make match_refs() not short-circuit
109  - remote: make match_refs() copy src ref before assigning to
110    peer_ref
111  - remote: let guess_remote_head() optionally return all matches
112  - remote: make copy_ref() perform a deep copy
113  - remote: simplify guess_remote_head()
114  - move locate_head() to remote.c
115  - move duplicated ref_newer() to remote.c
116  - move duplicated get_local_heads() to remote.c
117  - refactor find_ref_by_name() to accept const list
118  - add basic http clone/fetch tests
119  - test scripts: refactor start_httpd helper
121 * js/clone-depth-local (Fri Feb 27 00:04:06 2009 -0800) 3 commits
122  . parse_options(): do not "increment" boolean
123  . clone: ignore --depth when cloning locally (implicitly --local)
124  . clone: do not ignore --no-local option
126 Jeff had a good suggestion for this series but it was tripped by
127 a misfeature in parse_options().
129 * rs/memmem (Tue Mar 3 00:19:30 2009 +0100) 2 commits
130  - optimize compat/ memmem()
131  - diffcore-pickaxe: use memmem()
133 As always with patches from RenĂ©, this is already next material.
135 * mv/parseopt-ls-files (Tue Feb 17 15:27:11 2009 +0100) 2 commits
136  - parse-opt: migrate builtin-ls-files.
137  - Turn the flags in struct dir_struct into a single variable
139 * jk/sane-relative-time (Tue Feb 24 00:42:16 2009 -0500) 1 commit
140  + never fallback relative times to absolute
142 * tv/rebase-stat (Sun Mar 1 22:28:28 2009 +0100) 2 commits
143  - git-pull: Allow --stat and --no-stat to be used with --rebase
144  - git-rebase: Add --stat and --no-stat for producing diffstat on
145    rebase
147 ----------------------------------------------------------------
148 [Discarded]
150 * jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits
151  - fsck: three levels of validation
152  - verify-pack: add --quick
153  - verify_pack(): allow a quicker verification for a pack with
154    version 2 idx
155  - pack-check.c: minor formatting fix to match coding style
157 J6t has a good point that if this had any value then medium level should
158 replace the default.  I am tempted to actually dropping this as a failed
159 experiment.
161 * js/remote-set-head (Sat Feb 14 05:30:30 2009 -0500) 5 commits
162  - builtin-remote: better handling of multiple remote HEADs
163  - builtin-remote: add set-head subcommand
164  - builtin-remote: teach show to display remote HEAD
165  - builtin-remote: move duplicated cleanup code its own function
166  - builtin-clone: move locate_head() to remote.c so it can be re-used
168 * jk/head-lookup (Sun Feb 15 01:18:18 2009 -0500) 5 commits
169  - remote: use exact HEAD lookup if it is available
170  - remote: refactor guess_remote_head
171  - refactor find_refs_by_name to accept const list
172  - add basic http clone/fetch tests
173  - test scripts: refactor start_httpd helper
175 These two are now consolidated into Jay's remove-improvements series
176 listed above.
178 ----------------------------------------------------------------
179 [Stalled and may need help and prodding to go forward]
181 * gb/gitweb-base (Sun Feb 15 10:18:36 2009 +0100) 1 commit
182  - gitweb: fix wrong base URL when non-root DirectoryIndex
184 * ns/stash-keep (Thu Feb 12 06:25:14 2009 +0900) 1 commit
185  - stash: --keep option just saves
187 Do we want to keep this one?
189 * lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 1 commit
190  - archive.c: add support for --submodules[=(all|checkedout)]
192 Discussion stalled on the submodule selection criteria.
194 * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
195  + blame: show "previous" information in --porcelain/--incremental
196    format
197  + git-blame: refactor code to emit "porcelain format" output
199 This gives Porcelains (like gitweb) the information on the commit _before_
200 the one that the final blame is laid on, which should save them one
201 rev-parse to dig further.  The line number in the "previous" information
202 may need refining, and sanity checking code for reference counting may
203 need to be resurrected before this can move forward.
205 I thought recent tig discussion may blow new life into it, but is this
206 unneeded?  If so I'd rather revert it (or discard after 1.6.2).
208 * db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
209  - Support fetching from foreign VCSes
210  - Add specification of git-vcs helpers
211  - Add "vcs" config option in remotes
213 The "spec" did not seem quite well cooked yet, but in the longer term I
214 think something like this to allow interoperating with other SCMs as if
215 the other end is a native git repository is a very worthy goal.
217 * cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
218  - builtin-replace: use "usage_msg_opt" to give better error messages
219  - parse-options: add new function "usage_msg_opt"
220  - builtin-replace: teach "git replace" to actually replace
221  - Add new "git replace" command
222  - environment: add global variable to disable replacement
223  - mktag: call "check_sha1_signature" with the replacement sha1
224  - replace_object: add a test case
225  - object: call "check_sha1_signature" with the replacement sha1
226  - sha1_file: add a "read_sha1_file_repl" function
227  - replace_object: add mechanism to replace objects found in
228    "refs/replace/"
229  - refs: add a "for_each_replace_ref" function
231 I think the code is much cleaner than the first round, but I am not
232 convinced it is doing the right thing in the connectivity traverser.  
233 Independent review sorely needed.
235 * sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
236  - gitweb: Optional grouping of projects by category
237  - gitweb: Split git_project_list_body in two functions
238  - gitweb: Modularized git_get_project_description to be more generic
240 Design discussion between Jakub and Sebastien seems to have stalled, but
241 Jakub seems to be taking this over.
243 ----------------------------------------------------------------
244 [Reverted]
246 * mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
247  ? Revert previous two commits
248  ? move the color variables to color.c
249  ? handle color.ui at a central place
251 This broke git-format-patch badly.
253 * js/rebase-error-a-bit-more-verbose (Sun Feb 8 21:22:18 2009 -0800) 2 commits
254  ? Revert "rebase: explain why when the HEAD could not be detached"
255  ? rebase: explain why when the HEAD could not be detached
257 This turned out to be unnecessary.
259 * rs/maint-1.6.0-windows-ceiling (Sat Feb 7 12:40:40 2009 -0800) 2 commits
260  ? Revert "fix t1504 on Windows"
261  ? fix t1504 on Windows
263 I'm giving a fresh start to J6t's series which contains this.
265 * lh/reverted-submodule-tree-traversal (Sun Jan 25 18:39:55 2009 -0800) 4 commits
266  ? Revert round #1 of the series
267  ? builtin-ls-tree: enable traversal of submodules
268  ? archive.c: enable traversal of submodules
269  ? tree.c: add support for traversal of submodules
271 I'm giving a fresh start to Lars's second iteration.
273 ----------------------------------------------------------------
274 [Will merge to 'next' soon]
276 * js/send-email (Mon Mar 2 23:52:18 2009 -0500) 5 commits
277  - send-email: add --confirm option and configuration setting
278  + send-email: don't create temporary compose file until it is needed
279  + send-email: --suppress-cc improvements
280  + send-email: handle multiple Cc addresses when reading mbox message
281  + send-email: allow send-email to run outside a repo
283 ----------------------------------------------------------------
284 [Ready for 'master' after 1.6.2]
286 * sg/rerere-cleanup (Sat Feb 14 23:21:04 2009 +0100) 1 commit
287  + rerere: remove duplicated functions
289 * jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit
290  + git-add -i/-p: learn to unwrap C-quoted paths
292 * jw/imap-preformatted-html (Thu Feb 12 08:58:12 2009 -0600) 1 commit
293  + imap.preformattedHTML to tell Thunderbird to send non-flowed text
295 The patch text should be identical to Jeremy's "Virtual Patch", except
296 that the configuration variable was renamed per list discussion.
298 * jw/format-patch-attach (Thu Feb 12 09:51:55 2009 -0600) 1 commit
299  + Enable setting attach as the default in .gitconfig for git-format-
300    patch.
302 * sr/force-rebase (Fri Feb 13 23:48:01 2009 +0100) 1 commit
303  + Teach rebase to rebase even if upstream is up to date
305 * fg/exclude-bq (Tue Feb 10 15:20:17 2009 +0100) 1 commit
306  + Support "\" in non-wildcard exclusion entries
308 * dm/add-i-edit-abort (Thu Feb 12 00:19:41 2009 -0500) 1 commit
309  + add -i: revisit hunk on editor failure
311 * tp/completion (Sat Feb 21 15:48:43 2009 +0100) 6 commits
312  + Fixup: Add bare repository indicator for __git_ps1
313  + Add bare repository indicator for __git_ps1
314  + completion: More fixes to prevent unbound variable errors
315  + completion: Better __git_ps1 support when not in working directory
316  + completion: Use consistent if [...] convention, not "test"
317  + completion: For consistency, change "git rev-parse" to __gitdir
318    calls
320 * js/branch-symref (Wed Feb 18 22:34:44 2009 -0500) 4 commits
321  + add basic branch display tests
322  + branch: clean up repeated strlen
323  + Avoid segfault with 'git branch' when the HEAD is detached
324  + builtin-branch: improve output when displaying remote branches
326 * al/ansi-color (Fri Feb 13 22:53:41 2009 +0100) 2 commits
327  + builtin-branch.c: Rename branch category color names
328  + Clean up use of ANSI color sequences
330 * kb/checkout-optim (Mon Feb 23 19:02:57 2009 +0100) 14 commits
331  + write_index(): update index_state->timestamp after flushing to
332    disk
333  + verify_uptodate(): add ce_uptodate(ce) test
334  + make USE_NSEC work as expected
335  + fix compile error when USE_NSEC is defined
336  + check_updates(): effective removal of cache entries marked
337    CE_REMOVE
338  + lstat_cache(): print a warning if doing ping-pong between cache
339    types
340  + show_patch_diff(): remove a call to fstat()
341  + write_entry(): use fstat() instead of lstat() when file is open
342  + write_entry(): cleanup of some duplicated code
343  + create_directories(): remove some memcpy() and strchr() calls
344  + unlink_entry(): introduce schedule_dir_for_removal()
345  + lstat_cache(): swap func(length, string) into func(string, length)
346  + lstat_cache(): generalise longest_match_lstat_cache()
347  + lstat_cache(): small cleanup and optimisation
349 * js/valgrind (Thu Feb 5 22:03:00 2009 +0100) 9 commits
350  + valgrind: do not require valgrind 3.4.0 or newer
351  + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
352  + Tests: let --valgrind imply --verbose and --tee
353  + Add a script to coalesce the valgrind outputs
354  + t/Makefile: provide a 'valgrind' target
355  + test-lib.sh: optionally output to test-results/$TEST.out, too
356  + Valgrind support: check for more than just programming errors
357  + valgrind: ignore ldso and more libz errors
358  + Add valgrind support in test scripts
360 ----------------------------------------------------------------
361 [Actively cooking]
363 * tr/gcov (Thu Feb 19 12:13:42 2009 +0100) 8 commits
364  - Test git-patch-id
365  - Test rev-list --parents/--children
366  - Test log --decorate
367  - Test fsck a bit harder
368  - Test log --graph
369  - Test diff --dirstat functionality
370  - Test that diff can read from stdin
371  - Support coverage testing with GCC/gcov
373 * js/notes (Sat Feb 14 21:23:25 2009 +0100) 13 commits
374  - notes: refuse to edit notes outside refs/notes/
375  - t3301: use test_must_fail instead of !
376  - t3301: fix confusing quoting in test for valid notes ref
377  - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR
378  - notes: only clean up message file when editing
379  - handle empty notes gracefully
380  + git notes show: test empty notes
381  + git-notes: fix printing of multi-line notes
382  + notes: fix core.notesRef documentation
383  + Add an expensive test for git-notes
384  + Speed up git notes lookup
385  + Add a script to edit/inspect notes
386  + Introduce commit notes
388 Earlier part was merged to master and then reverted there.  Will be
389 rebased 1.6.2 to keep my sanity.
391 * fc/config-editor (Sat Feb 21 02:48:54 2009 +0200) 3 commits
392  + git config: trivial cleanup for editor action
393  + git config: codestyle cleanups
394  + config: Add new option to open an editor.
396 Rerolled and looked sane.
398 ----------------------------------------------------------------
399 [On Hold]
401 * jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
402  - receive-pack: default receive.denyDeleteCurrent to refuse
404 * jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
405  - Refuse updating the current branch in a non-bare repository via
406    push
408 This is for 1.7.0.
410 * jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
411  - git commit: pathspec without -i/-o implies -i semantics during a
412    merge
413  - builtin-commit: shorten eye-sore overlong lines
414  - Add "partial commit" tests during a conflicted merge
416 This was only meant as a weatherballoon to help facilitate discussion.
418 * jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
419  - git-merge-file: allow converting the results for the work tree
421 This is a feature waiting for a user.  I do not need it in 1.6.2
423 We did not give scripted Porcelains a way to say "this temporary file I am
424 using for merging is for this path, so use the core.autocrlf and attributes
425 rules for that final path".  Instead, merge-file simply wrote out the
426 data in the canonical repository representation.
428 rerere has the same issue, but it is a lot worse.  It reads the three
429 files (preimage, postimage and thisimage) from the work tree in the work
430 tree representation, merges them without converting them to the canonical
431 representation first but inserts the conflict markers with the canonical
432 representation and writes the resulting mess out.  It needs to be fixed to
433 read with convert_to_git(), merge them while they are still in the
434 canonical representation and possibly add conflict markers, and then write
435 the results out after convert_to_working_tree().  It also needs to write
436 in binary mode as well.