What's in
[git/spearce.git] / whats / cooking / 2009 / 05 / 02.txt
bloba1bfac8d9de94c804c8ef89e871bd1d823381c6c
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (May 2009, #02; Sun, 17)
3 X-master-at: 55524fcf9d6676ca3840227092bf3a14ba404615
4 X-next-at: 540caa5c275c0ad44c1bc979c37075f58e3459de
6 What's cooking in git.git (May 2009, #02; Sun, 17)
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 * jc/mktree (Thu May 14 15:49:10 2009 -0700) 9 commits
21  - mktree: validate entry type in input
22  - mktree --batch: build more than one tree object
23  - mktree --missing: updated usage message and man page
24  - mktree --missing: allow missing objects
25  - t1010: add mktree test
26  - mktree: do not barf on a submodule commit
27  - builtin-mktree.c: use a helper function to handle one line of
28    input
29  - mktree: use parse-options
30  - build-in git-mktree
32 * ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits
33  - Fix for a merge where a branch has an F->D transition
34  - Add a reminder test case for a merge with F/D transition
36 Although the reported breakage is covered with the patch, Alex feels the
37 solution unsatisfactory. Cleaning up D/F conflict handling in merge-recursive
38 may be long overdue but seems to be a hard problem.
40 * jc/maint-add-p-coalesce-fix (Sat May 16 10:48:23 2009 -0700) 2 commits
41  + Revert "git-add--interactive: remove hunk coalescing"
42  + Splitting a hunk that adds a line at the top fails in "add -p"
44 * sb/format-patch-parseopt (Sat May 16 02:24:46 2009 -0700) 1 commit
45  - format-patch: migrate to parse-options API
47 * fc/decorate-tag (Thu May 14 00:32:53 2009 +0300) 2 commits
48  + Prettify log decorations even more
49  + Change prettify_ref to prettify_refname
51 * mg/track (Mon May 11 16:42:54 2009 +0200) 2 commits
52  + Fix behavior with non-commit upstream references
53  + Test tracking of non-commit upstreams
55 * jn/gitweb-cleanup (Mon May 11 19:45:11 2009 +0200) 8 commits
56  + gitweb: Remove unused $hash_base parameter from
57    normalize_link_target
58  + gitweb: Simplify snapshot format detection logic in
59    evaluate_path_info
60  + gitweb: Use capturing parentheses only when you intend to capture
61  + gitweb: Replace wrongly added tabs with spaces
62  + gitweb: Use block form of map/grep in a few cases more
63  + gitweb: Always use three argument form of open
64  + gitweb: Always use three argument form of open
65  + gitweb: Do not use bareword filehandles
67 * js/maint-no-ln-across-libexec-and-bin (Mon May 11 13:02:18 2009 +0200) 1 commit
68  + Add NO_CROSS_DIRECTORY_HARDLINKS support to the Makefile
70 * jh/notes (Sat May 16 13:44:17 2009 +0200) 5 commits
71  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
72  - Add an expensive test for git-notes
73  - Speed up git notes lookup
74  - Add a script to edit/inspect notes
75  - Introduce commit notes
77 * tp/send-email-from-config (Tue May 12 15:48:56 2009 -0700) 1 commit
78  + send-email: Add config option for sender address
80 * lt/read-directory (Fri May 15 12:01:29 2009 -0700) 3 commits
81  - Add initial support for pathname conversion to UTF-8
82  - read_directory(): infrastructure for pathname character set
83    conversion
84  - Add 'fill_directory()' helper function for directory traversal
86 ----------------------------------------------------------------
87 [Will merge to "master" soon]
89 * mw/send-email (Mon Apr 13 13:23:52 2009 -0500) 6 commits
90  + send-email: Remove superfluous `my $editor = ...'
91  + send-email: 'References:' should only reference what is sent
92  + send-email: Handle "GIT:" rather than "GIT: " during --compose
93  + Docs: send-email: --smtp-server-port can take symbolic ports
94  + Docs: send-email: Refer to CONFIGURATION section for
95    sendemail.multiedit
96  + Docs: send-email: Put options back into alphabetical order
98 * ae/anon-fetch-info (Fri Apr 17 10:20:11 2009 +0200) 1 commit
99  + fetch: Strip usernames from url's before storing them
101 * ac/graph-horizontal-line (Tue Apr 21 08:47:01 2009 -0400) 1 commit
102  + graph API: Use horizontal lines for more compact graphs
104 * ph/submodule-rebase (Fri Apr 24 09:06:38 2009 +1000) 1 commit
105  + git-submodule: add support for --rebase.
107 * mh/show-branch-color (Sat Apr 25 13:46:14 2009 +0200) 2 commits
108  + bash completion: show-branch color support
109  + show-branch: color the commit status signs
111 * mh/diff-stat-color (Sat Apr 25 00:06:47 2009 +0200) 1 commit
112  + diff: do not color --stat output like patch context
114 * js/add-edit (Mon Apr 27 19:51:42 2009 +0200) 2 commits
115  + t3702: fix reliance on SHELL_PATH being '/bin/sh'
116  + git-add: introduce --edit (to edit the diff vs. the index)
118 * jk/maint-add-empty (Tue Apr 28 23:21:01 2009 -0400) 1 commit
119  + add: don't complain when adding empty project root
121 When you say "git add ." in an empty directory, you get "No path matches
122 ''", instead of "No path matches '.'", and this "fixes" it by hiding the
123 error and making the command silently succeed.  Strictly speaking it
124 introduces inconsistency, but I think an empty directory is so
125 uninteresting special case that not signalling it as an error is Ok.
127 * ar/unlink-err (Wed Apr 29 23:24:52 2009 +0200) 3 commits
128  + print unlink(2) errno in copy_or_link_directory
129  + replace direct calls to unlink(2) with unlink_or_warn
130  + Introduce an unlink(2) wrapper which gives warning if unlink
131    failed
133 * ar/merge-one-file-diag (Wed Apr 29 23:40:50 2009 +0200) 1 commit
134  + Clarify kind of conflict in merge-one-file helper
136 * np/push-delta (Fri May 1 16:56:47 2009 -0400) 1 commit
137  + allow OFS_DELTA objects during a push
139 * mt/submodule-reference (Mon May 4 22:30:01 2009 +0300) 1 commit
140  + Add --reference option to git submodule.
142 * fl/git-pm (Thu May 7 15:41:28 2009 +0200) 2 commits
143  + Git.pm: Always set Repository to absolute path if autodetecting
144  + Git.pm: Set GIT_WORK_TREE if we set GIT_DIR
146 * rs/grep-parseopt (Thu May 7 21:46:48 2009 +0200) 5 commits
147  + grep: use parseopt
148  + grep: remove global variable builtin_grep
149  + parseopt: add PARSE_OPT_NODASH
150  + parseopt: add OPT_NUMBER_CALLBACK
151  + parseopt: add OPT_NEGBIT
153 * jk/no-no-no-empty-directory (Fri May 8 01:01:17 2009 -0400) 2 commits
154  + parseopt: add OPT_NEGBIT
155  + parseopt: add OPT_NEGBIT
157 I somehow botched the commit log message of the top one; it is about
158 fixing "ls-files --no-empty-directory".
160 * jk/maint-1.6.0-trace-argv (Fri May 8 05:06:15 2009 -0400) 1 commit
161  + fix GIT_TRACE segfault with shell-quoted aliases
163 * hv/sample-update (Fri May 8 17:22:30 2009 +0200) 1 commit
164  + Extend sample update hook, disable modifying of existing tags
166 * rr/forbid-bs-in-ref (Fri May 8 07:32:37 2009 +0200) 1 commit
167  + Disallow '\' in ref names
169 This retroactively forbids use of what people could have been using
170 happily, which, strictly speaking, is a no-no, but makes sense in the
171 longer term.
173 * do/maint-merge-recursive-fix (Sat May 9 14:49:59 2009 -0700) 1 commit
174  + merge-recursive: never leave index unmerged while recursing
176 * jm/format-patch-no-auto-n-when-k-is-given (Sat May 9 10:12:01 2009 +0200) 1 commit
177  + format-patch let -k override a config-specified format.numbered
179 * lt/maint-diff-reduce-lstat (Sat May 9 15:11:17 2009 -0700) 2 commits
180  + Teach 'git checkout' to preload the index contents
181  + Avoid unnecessary 'lstat()' calls in 'get_stat_data()'
183 * cc/bisect (Sat May 9 17:55:47 2009 +0200) 20 commits
184  + bisect: make "git bisect" use new "--next-all" bisect-helper
185    function
186  + bisect: add "check_good_are_ancestors_of_bad" function
187  + bisect: implement the "check_merge_bases" function
188  + bisect: automatically sort sha1_array if needed when looking it up
189  + bisect: make skipped array functions more generic
190  + bisect: remove too much function nesting
191  + bisect: use new "struct argv_array" to prepare argv for
192    "setup_revisions"
193  + bisect: store good revisions in a "sha1_array"
194  + bisect: implement "rev_argv_push" to fill an argv with revs
195  + bisect: use "sha1_array" to store skipped revisions
196  + am: simplify "sq" function by using "git rev-parse --sq-quote"
197  + bisect: use "git rev-parse --sq-quote" instead of a custom "sq"
198    function
199  + rev-parse: add --sq-quote to shell quote arguments
200  + rev-list: remove stringed output flag from "show_bisect_vars"
201  + bisect--helper: remove "--next-vars" option as it is now useless
202  + bisect: use "git bisect--helper --next-exit" in "git-bisect.sh"
203  + bisect--helper: add "--next-exit" to output bisect results
204  + bisect: move common bisect functionality to "bisect_common"
205  + rev-list: refactor printing bisect vars
206  + rev-list: make "estimate_bisect_steps" non static
208 Rewriting major part of "git-bisect" shell script continues.  The patches
209 seem to be reasonably clean.
211 ----------------------------------------------------------------
212 [Stalled and may need help and prodding to go forward]
214 * ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
215  - blame.c: start libifying the blame infrastructure
217 A few minor point remains in this initial one.  I hate to do these minor
218 fix-ups myself, but I may end up doing so...
220 * jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
221  - Allow --date=local --date=other-format to work as expected
223 The one I posted had a few corner-case bugs that was caught with the test
224 suite; this one has them fixed.  People did not like the UI so it is kept
225 out of 'next'
227 * jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
228  - git-merge-file: allow converting the results for the work tree
230 This is a feature waiting for a user.
232 We did not give scripted Porcelains a way to say "this temporary file I am
233 using for merging is for this path, so use the core.autocrlf and attributes
234 rules for that final path".  Instead, merge-file simply wrote out the
235 data in the canonical repository representation.
237 rerere has the same issue, but it is a lot worse.  It reads the three
238 files (preimage, postimage and thisimage) from the work tree in the work
239 tree representation, merges them without converting them to the canonical
240 representation first but inserts the conflict markers with the canonical
241 representation and writes the resulting mess out.  It needs to be fixed to
242 read with convert_to_git(), merge them while they are still in the
243 canonical representation and possibly add conflict markers, and then write
244 the results out after convert_to_working_tree().  It also needs to write
245 in binary mode as well.
247 * db/foreign-scm (Tue Mar 24 23:04:12 2009 -0400) 3 commits
248  - Add option for using a foreign VCS
249  - Document details of transport function APIs
250  - Allow late reporting of fetched hashes
252 * hv/cvsps-tests (Sun Apr 5 01:40:50 2009 -0700) 8 commits
253  - t/t9600: remove exit after test_done
254  - cvsimport: extend testcase about patchset order to contain
255    branches
256  - cvsimport: add test illustrating a bug in cvsps
257  - Add a test of "git cvsimport"'s handling of tags and branches
258  - Add some tests of git-cvsimport's handling of vendor branches
259  - Test contents of entire cvsimported "master" tree contents
260  - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
261  - Start a library for cvsimport-related tests
263 ----------------------------------------------------------------
264 [Actively cooking]
266 * da/mergetool-lib (Sat May 2 01:57:21 2009 -0700) 1 commit
267  - mergetool--lib: specialize diff options for emerge and ecmerge
269 Can somebody tell me what the current status of this is?  I thought there
270 was some objection, but I lost track...
272 * rc/http-push (Sat May 16 11:51:52 2009 +0800) 12 commits
273  - http*: add fetch_http_pack_index
274  - http: create function end_url_with_slash
275  - http*: move common variables and macros to http.[ch]
276  - http-push: do not SEGV after fetching a bad pack idx file
277  - http*: copy string returned by sha1_to_hex
278  - http-walker: verify remote packs
279  - http-push, http-walker: style fixes
280  - t5550-http-fetch: test fetching of packed objects
281  - http-push: fix missing "#ifdef USE_CURL_MULTI" around
282    "is_running_queue"
283  - http-push: send out fetch requests on queue
284  - t5540-http-push: test fetching of packed objects
285  - t5540-http-push: test fetching of loose objects
287 There was an 11-patch updates but in the middle there were some
288 compilation breakage issues; only early part of that series is queued.
290 * cc/replace (Tue Apr 14 00:36:59 2009 +0200) 13 commits
291  - Documentation: add documentation for "git replace"
292  - Add git-replace to .gitignore
293  - builtin-replace: use "usage_msg_opt" to give better error messages
294  - parse-options: add new function "usage_msg_opt"
295  - builtin-replace: teach "git replace" to actually replace
296  - Add new "git replace" command
297  - environment: add global variable to disable replacement
298  - mktag: call "check_sha1_signature" with the replacement sha1
299  - replace_object: add a test case
300  - object: call "check_sha1_signature" with the replacement sha1
301  - sha1_file: add a "read_sha1_file_repl" function
302  - replace_object: add mechanism to replace objects found in
303    "refs/replace/"
304  - refs: add a "for_each_replace_ref" function
306 I suspect an attempt to replace an object that is directly listed on the
307 command line would not work very well with this series.
309 ----------------------------------------------------------------
310 [On Hold]
312 * jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
313  - receive-pack: default receive.denyDeleteCurrent to refuse
315 * jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
316  - Refuse updating the current branch in a non-bare repository via
317    push
319 These are for 1.7.0, but the messages when they trigger together may need
320 to be rethought.
322 ----------------------------------------------------------------
323 [Discarded]
325 * js/notes (Tue Apr 14 00:03:36 2009 +0200) 15 commits
326  . Documentation: fix 'linkgit' macro in "git-notes.txt"
327  . tests: fix "export var=val"
328  . notes: refuse to edit notes outside refs/notes/
329  . t3301: use test_must_fail instead of !
330  . t3301: fix confusing quoting in test for valid notes ref
331  . notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR
332  . notes: only clean up message file when editing
333  . handle empty notes gracefully
334  . git notes show: test empty notes
335  . git-notes: fix printing of multi-line notes
336  . notes: fix core.notesRef documentation
337  . Add an expensive test for git-notes
338  . Speed up git notes lookup
339  . Add a script to edit/inspect notes
340  . Introduce commit notes
342 This has been replaced by jh/notes series.