What's cooking (2009/05 #03)
[git/dscho.git] / whats-cooking.txt
blobd9fe4afefc2243c346d8a8ed509c042b9caf85ef
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (May 2009, #03; Mon, 25)
3 X-master-at: 9619ff14159ab3401636b9883a715b0f20b051df
4 X-next-at: 2435664148ab70c34750a9f1339d4ca898bd289e
6 What's cooking in git.git (May 2009, #03; Mon, 25)
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 ----------------------------------------------------------------
18 [New Topics]
20 * sb/opt-filename (Sat May 23 11:53:13 2009 -0700) 5 commits
21  - parse-opts: add OPT_FILENAME and transition builtins
22  - parse-opts: prepare for OPT_FILENAME
23  - Merge branch 'jc/mktree' into sb/opt-filename
24  - Merge branch 'sb/format-patch-parseopt' into sb/opt-filename
25  - Merge branch 'sb/show-branch-parse-options' into sb/opt-filename
26  - Merge branch 'master' into sb/opt-filename
27  + apply, fmt-merge-msg: use relative filenames
28  + commit: -F overrides -t
30 There are quite a few new callers to parse_options() in 'next' and 'pu'
31 that are more likely to graduate before this series, so for now I merged a
32 few of them and adjusted the commit "prepare for OPT_FILENAME".  I tried
33 to be careful but extra sets of eyeballs would be helpful.
35 * da/araxis-mergetool (Sun May 24 00:24:41 2009 +0000) 1 commit
36  + mergetool--lib: add support for araxis merge
38 I admit that I feel certain distaste in supporting a closed tool, but we
39 already make things bearable for people on Windows; Araxis is no worse,
40 right?
42 * rs/maint-grep-word-regexp-fix (Sat May 23 13:45:26 2009 +0200) 1 commit
43  + grep: fix word-regexp at the beginning of lines
45 * mm/apply-double-slash (Thu May 21 14:25:11 2009 +0200) 1 commit
46  + apply: handle filenames with double slashes better
48 * bc/old-iconv (Fri May 22 18:47:06 2009 -0500) 10 commits
49  + t8005: convert CP1251 character set to ISO8859-5
50  + t8005: use more portable character encoding names
51  + t5100: use ancient encoding syntax for backwards compatibility
52  + t9301: use ISO8859-1 rather than ISO-8859-1
53  + t3901: Use ISO8859-1 instead of ISO-8859-1 for backward
54    compatibility
55  + t3901: avoid negation on right hand side of '|'
56  + builtin-mailinfo.c: use "ISO8859-1" instead of "latin1" as
57    fallback encoding
58  + builtin-mailinfo.c: compare character encodings case insensitively
59  + Use 'UTF-8' rather than 'utf-8' everywhere for backward
60    compatibility
61  + t3900: use ancient iconv names for backward compatibility
63 * sb/show-branch-parse-options (Thu May 21 00:33:18 2009 -0700) 3 commits
64  + show-branch: migrate to parse-options API
65  + Merge branch 'mh/show-branch-color' into sb/show-branch-parse-
66    options
67  + parse-options: add PARSE_OPT_LITERAL_ARGHELP for complicated
68    argh's
70 * sb/maint-1.6.2-opt-filename-fix (Sat May 23 11:53:11 2009 -0700) 2 commits
71  + apply, fmt-merge-msg: use relative filenames
72  + commit: -F overrides -t
74 * jc/cache-tree (Fri May 22 23:14:25 2009 -0700) 5 commits
75  - Avoid "diff-index --cached" optimization under --find-copies-
76    harder
77  - Optimize "diff-index --cached" using cache-tree
78  - t4007: modernize the style
79  - cache-tree.c::cache_tree_find(): simplify inernal API
80  - write-tree --ignore-cache-tree
82 * jc/solaris-0811 (Fri May 22 22:55:31 2009 -0700) 2 commits
83  - OpenSolaris 200811 (SunOS 5.11) does not want OLD_ICONV
84  - Teach Solaris that _XOPEN_SOURCE=600 really menas XPG6
86 * cb/maint-1.6.0-xdl-merge-fix (Mon May 25 01:21:14 2009 +0100) 2 commits
87  - Change xdl_merge to generate output even for null merges
88  - t6023: merge-file fails to output anything for a degenerate merge
90 * jc/diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits
91  - diff: Rename QUIET internal option to QUICK
92  - diff: change semantics of "ignore whitespace" options
94 ----------------------------------------------------------------
95 [Graduated to "master"]
97 * cc/bisect (Sat May 9 17:55:47 2009 +0200) 20 commits
98  + bisect: make "git bisect" use new "--next-all" bisect-helper
99    function
100  + bisect: add "check_good_are_ancestors_of_bad" function
101  + bisect: implement the "check_merge_bases" function
102  + bisect: automatically sort sha1_array if needed when looking it up
103  + bisect: make skipped array functions more generic
104  + bisect: remove too much function nesting
105  + bisect: use new "struct argv_array" to prepare argv for
106    "setup_revisions"
107  + bisect: store good revisions in a "sha1_array"
108  + bisect: implement "rev_argv_push" to fill an argv with revs
109  + bisect: use "sha1_array" to store skipped revisions
110  + am: simplify "sq" function by using "git rev-parse --sq-quote"
111  + bisect: use "git rev-parse --sq-quote" instead of a custom "sq"
112    function
113  + rev-parse: add --sq-quote to shell quote arguments
114  + rev-list: remove stringed output flag from "show_bisect_vars"
115  + bisect--helper: remove "--next-vars" option as it is now useless
116  + bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
117  + bisect--helper: add "--next-exit" to output bisect results
118  + bisect: move common bisect functionality to "bisect_common"
119  + rev-list: refactor printing bisect vars
120  + rev-list: make "estimate_bisect_steps" non static
122 Rewriting major part of "git-bisect" shell script continues.  The patches
123 seem to be reasonably clean.
125 * fc/decorate-tag (Thu May 14 00:32:53 2009 +0300) 2 commits
126  + Prettify log decorations even more
127  + Change prettify_ref to prettify_refname
129 * mg/track (Mon May 11 16:42:54 2009 +0200) 2 commits
130  + Fix behavior with non-commit upstream references
131  + Test tracking of non-commit upstreams
133 * jn/gitweb-cleanup (Mon May 11 19:45:11 2009 +0200) 8 commits
134  + gitweb: Remove unused $hash_base parameter from
135    normalize_link_target
136  + gitweb: Simplify snapshot format detection logic in
137    evaluate_path_info
138  + gitweb: Use capturing parentheses only when you intend to capture
139  + gitweb: Replace wrongly added tabs with spaces
140  + gitweb: Use block form of map/grep in a few cases more
141  + gitweb: Always use three argument form of open
142  + gitweb: Always use three argument form of open
143  + gitweb: Do not use bareword filehandles
145 * js/maint-no-ln-across-libexec-and-bin (Mon May 11 13:02:18 2009 +0200) 1 commit
146  + Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile
148 * tp/send-email-from-config (Tue May 12 15:48:56 2009 -0700) 1 commit
149  + send-email: Add config option for sender address
151 * ae/anon-fetch-info (Fri Apr 17 10:20:11 2009 +0200) 1 commit
152  + fetch: Strip usernames from url's before storing them
154 * ac/graph-horizontal-line (Tue Apr 21 08:47:01 2009 -0400) 1 commit
155  + graph API: Use horizontal lines for more compact graphs
157 * mh/show-branch-color (Sat Apr 25 13:46:14 2009 +0200) 2 commits
158  + bash completion: show-branch color support
159  + show-branch: color the commit status signs
161 * mh/diff-stat-color (Sat Apr 25 00:06:47 2009 +0200) 1 commit
162  + diff: do not color --stat output like patch context
164 * js/add-edit (Mon Apr 27 19:51:42 2009 +0200) 2 commits
165  + t3702: fix reliance on SHELL_PATH being '/bin/sh'
166  + git-add: introduce --edit (to edit the diff vs. the index)
168 * jk/maint-add-empty (Tue Apr 28 23:21:01 2009 -0400) 1 commit
169  + add: don't complain when adding empty project root
171 * ar/unlink-err (Wed Apr 29 23:24:52 2009 +0200) 3 commits
172  + print unlink(2) errno in copy_or_link_directory
173  + replace direct calls to unlink(2) with unlink_or_warn
174  + Introduce an unlink(2) wrapper which gives warning if unlink
175    failed
177 * ar/merge-one-file-diag (Wed Apr 29 23:40:50 2009 +0200) 1 commit
178  + Clarify kind of conflict in merge-one-file helper
180 * np/push-delta (Fri May 1 16:56:47 2009 -0400) 1 commit
181  + allow OFS_DELTA objects during a push
183 * mt/submodule-reference (Mon May 4 22:30:01 2009 +0300) 1 commit
184  + Add --reference option to git submodule.
186 * fl/git-pm (Thu May 7 15:41:28 2009 +0200) 2 commits
187  + Git.pm: Always set Repository to absolute path if autodetecting
188  + Git.pm: Set GIT_WORK_TREE if we set GIT_DIR
190 * rs/grep-parseopt (Thu May 7 21:46:48 2009 +0200) 5 commits
191  + grep: use parseopt
192  + grep: remove global variable builtin_grep
193  + parseopt: add PARSE_OPT_NODASH
194  + parseopt: add OPT_NUMBER_CALLBACK
195  + parseopt: add OPT_NEGBIT
197 * jk/no-no-no-empty-directory (Fri May 8 01:01:17 2009 -0400) 2 commits
198  + parseopt: add OPT_NEGBIT
199  + parseopt: add OPT_NEGBIT
201 * jk/maint-1.6.0-trace-argv (Fri May 8 05:06:15 2009 -0400) 1 commit
202  + fix GIT_TRACE segfault with shell-quoted aliases
204 * hv/sample-update (Fri May 8 17:22:30 2009 +0200) 1 commit
205  + Extend sample update hook, disable modifying of existing tags
207 * rr/forbid-bs-in-ref (Fri May 8 07:32:37 2009 +0200) 1 commit
208  + Disallow '\' in ref names
210 * do/maint-merge-recursive-fix (Sat May 9 14:49:59 2009 -0700) 1 commit
211  + merge-recursive: never leave index unmerged while recursing
213 * jm/format-patch-no-auto-n-when-k-is-given (Sat May 9 10:12:01 2009 +0200) 1 commit
214  + format-patch let -k override a config-specified format.numbered
216 * lt/maint-diff-reduce-lstat (Sat May 9 15:11:17 2009 -0700) 2 commits
217  + Teach 'git checkout' to preload the index contents
218  + Avoid unnecessary 'lstat()' calls in 'get_stat_data()'
220 * da/mergetool-lib (Sat May 2 01:57:21 2009 -0700) 1 commit
221  + mergetool--lib: specialize diff options for emerge and ecmerge
223 ----------------------------------------------------------------
224 [Will merge to "master" soon]
226 * mw/send-email (Mon Apr 13 13:23:52 2009 -0500) 6 commits
227  + send-email: Remove superfluous `my $editor = ...'
228  + send-email: 'References:' should only reference what is sent
229  + send-email: Handle "GIT:" rather than "GIT: " during --compose
230  + Docs: send-email: --smtp-server-port can take symbolic ports
231  + Docs: send-email: Refer to CONFIGURATION section for
232    sendemail.multiedit
233  + Docs: send-email: Put options back into alphabetical order
235 * ph/submodule-rebase (Fri Apr 24 09:06:38 2009 +1000) 1 commit
236  + git-submodule: add support for --rebase.
238 * cc/bisect (Sun May 17 17:36:46 2009 +0200) 3 commits
239  + bisect: check ancestors without forking a "git rev-list" process
240  + commit: add function to unparse a commit and its parents
241  + bisect: rework some rev related functions to make them more
242    reusable
244 ----------------------------------------------------------------
245 [Stalled and may need help and prodding to go forward]
247 * lt/read-directory (Fri May 15 12:01:29 2009 -0700) 3 commits
248  - Add initial support for pathname conversion to UTF-8
249  - read_directory(): infrastructure for pathname character set
250    conversion
251  - Add 'fill_directory()' helper function for directory traversal
253 Before adding the real "conversion", this needs a few real fixups, I
254 think.  For example there is one hardcoded array that is used without
255 bounds check.
257 * ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits
258  - Fix for a merge where a branch has an F->D transition
259  - Add a reminder test case for a merge with F/D transition
261 Although the reported breakage is covered with the patch, Alex feels the
262 solution unsatisfactory. Cleaning up D/F conflict handling in merge-recursive
263 may be long overdue but seems to be a hard problem.
265 * ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
266  - blame.c: start libifying the blame infrastructure
268 A few minor point remains in this initial one.  I hate to do these minor
269 fix-ups myself, but I may end up doing so...
271 * jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
272  - Allow --date=local --date=other-format to work as expected
274 The one I posted had a few corner-case bugs that was caught with the test
275 suite; this one has them fixed.  People did not like the UI so it is kept
276 out of 'next'
278 * jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
279  - git-merge-file: allow converting the results for the work tree
281 This is a feature waiting for a user.
283 We did not give scripted Porcelains a way to say "this temporary file I am
284 using for merging is for this path, so use the core.autocrlf and attributes
285 rules for that final path".  Instead, merge-file simply wrote out the
286 data in the canonical repository representation.
288 rerere has the same issue, but it is a lot worse.  It reads the three
289 files (preimage, postimage and thisimage) from the work tree in the work
290 tree representation, merges them without converting them to the canonical
291 representation first but inserts the conflict markers with the canonical
292 representation and writes the resulting mess out.  It needs to be fixed to
293 read with convert_to_git(), merge them while they are still in the
294 canonical representation and possibly add conflict markers, and then write
295 the results out after convert_to_working_tree().  It also needs to write
296 in binary mode as well.
298 * db/foreign-scm (Tue Mar 24 23:04:12 2009 -0400) 3 commits
299  - Add option for using a foreign VCS
300  - Document details of transport function APIs
301  - Allow late reporting of fetched hashes
303 * hv/cvsps-tests (Sun Apr 5 01:40:50 2009 -0700) 8 commits
304  - t/t9600: remove exit after test_done
305  - cvsimport: extend testcase about patchset order to contain
306    branches
307  - cvsimport: add test illustrating a bug in cvsps
308  - Add a test of "git cvsimport"'s handling of tags and branches
309  - Add some tests of git-cvsimport's handling of vendor branches
310  - Test contents of entire cvsimported "master" tree contents
311  - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
312  - Start a library for cvsimport-related tests
314 ----------------------------------------------------------------
315 [Actively cooking]
317 * jc/mktree (Thu May 14 15:49:10 2009 -0700) 9 commits
318  + mktree: validate entry type in input
319  + mktree --batch: build more than one tree object
320  + mktree --missing: updated usage message and man page
321  + mktree --missing: allow missing objects
322  + t1010: add mktree test
323  + mktree: do not barf on a submodule commit
324  + builtin-mktree.c: use a helper function to handle one line of
325    input
326  + mktree: use parse-options
327  + build-in git-mktree
329 * jc/maint-add-p-coalesce-fix (Sat May 16 10:48:23 2009 -0700) 2 commits
330  + Revert "git-add--interactive: remove hunk coalescing"
331  + Splitting a hunk that adds a line at the top fails in "add -p"
333 * sb/format-patch-parseopt (Sat May 16 02:24:46 2009 -0700) 1 commit
334  + format-patch: migrate to parse-options API
336 * jh/notes (Sat May 16 13:44:17 2009 +0200) 5 commits
337  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
338  - Add an expensive test for git-notes
339  - Speed up git notes lookup
340  - Add a script to edit/inspect notes
341  - Introduce commit notes
343 * rc/http-push (Mon May 18 16:14:24 2009 +0800) 15 commits
344  - http*: add helper methods for fetching objects (loose)
345  - http*: add helper methods for fetching objects/info/packs
346  - http*: add helper methods for fetching packs
347  - http*: add fetch_http_pack_index
348  - http: create function end_url_with_slash
349  - http*: move common variables and macros to http.[ch]
350  - http-push: do not SEGV after fetching a bad pack idx file
351  - http*: copy string returned by sha1_to_hex
352  - http-walker: verify remote packs
353  - http-push, http-walker: style fixes
354  - t5550-http-fetch: test fetching of packed objects
355  - http-push: fix missing "#ifdef USE_CURL_MULTI" around
356    "is_running_queue"
357  - http-push: send out fetch requests on queue
358  - t5540-http-push: test fetching of packed objects
359  - t5540-http-push: test fetching of loose objects
361 This is not the re-rolled 18-patch series we discussed yesterday.
363 * cc/replace (Tue Apr 14 00:36:59 2009 +0200) 13 commits
364  - Documentation: add documentation for "git replace"
365  - Add git-replace to .gitignore
366  - builtin-replace: use "usage_msg_opt" to give better error messages
367  - parse-options: add new function "usage_msg_opt"
368  - builtin-replace: teach "git replace" to actually replace
369  - Add new "git replace" command
370  - environment: add global variable to disable replacement
371  - mktag: call "check_sha1_signature" with the replacement sha1
372  - replace_object: add a test case
373  - object: call "check_sha1_signature" with the replacement sha1
374  - sha1_file: add a "read_sha1_file_repl" function
375  - replace_object: add mechanism to replace objects found in
376    "refs/replace/"
377  - refs: add a "for_each_replace_ref" function
379 I suspect an attempt to replace an object that is directly listed on the
380 command line would not work very well with this series.
382 ----------------------------------------------------------------
383 [On Hold]
385 * jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
386  - receive-pack: default receive.denyDeleteCurrent to refuse
388 * jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
389  - Refuse updating the current branch in a non-bare repository via
390    push
392 These are for 1.7.0, but the messages when they trigger together may need
393 to be rethought.