What's cooking
[git/spearce.git] / whats / cooking / 2009 / 06 / 01.txt
bloba887cfb810659872b83eca51902d9a61535ce384
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Jun 2009, #01; Fri, 12)
3 X-master-at: b8364903c3e4cde713102e4a36d3926b020b0f70
4 X-next-at: f0de74fb063e75167a6c218a93cfeae5b8bdaaba
6 What's cooking in git.git (Jun 2009, #01; Fri, 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 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 Unfortunately I am unusually short of time these days, and some of the
18 topics unfortunately got less "final review before deciding to merge up"
19 than I would have liked to give them.  This message itself has more
20 "please comment/review" requests than usual.
22 ----------------------------------------------------------------
23 [New Topics]
25 * tr/die_errno (Mon Jun 8 23:02:20 2009 +0200) 4 commits
26  - Use die_errno() instead of die() when checking syscalls
27  - Convert existing die(..., strerror(errno)) to die_errno()
28  - die_errno(): double % in strerror() output just in case
29  - Introduce die_errno() that appends strerror(errno) to die()
31 I didn't check the individual conversion from die() to die_errno()
32 in this latest round; comments?
34 * cb/maint-no-double-merge (Mon Jun 1 11:20:56 2009 +0200) 1 commit
35  + refuse to merge during a merge
37 Will merge to 'master' soonish.
39 * sp/msysgit (Thu Jun 11 22:56:12 2009 +0200) 13 commits
40  + compat/ has subdirectories: do not omit them in 'make clean'
41  + Fix typo in nedmalloc warning fix
42  + MinGW: Teach Makefile to detect msysgit and apply specific
43    settings
44  + Fix warnings in nedmalloc when compiling with GCC 4.4.0
45  + Add custom memory allocator to MinGW and MacOS builds
46  + MinGW readdir reimplementation to support d_type
47  + connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows
48  + git: browsing paths with spaces when using the start command
49  + MinGW: fix warning about implicit declaration of _getch()
50  + test-chmtime: work around Windows limitation
51  + Work around a regression in Windows 7, causing erase_in_line() to
52    crash sometimes
53  + Quiet make: do not leave Windows behind
54  + MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore
56 A silly typo I failed to spot was fixed by J6t; should be ready for
57 'master' now.
59 * mh/master-send-email (Sun Jun 7 23:40:52 2009 +0200) 8 commits
60  - send-email: fix a typo in a comment
61  - Merge branch 'mh/maint-send-email' into mh/master-send-email
62  - Merge branch 'mh/master-send-email-threaded-fix' into mh/master-
63    send-email
64  - add a test for git-send-email for threaded mails without chain-
65    reply-to
66  - send-email: fix threaded mails without chain-reply-to
67  - doc/send-email: clarify the behavior of --in-reply-to with --no-
68    thread
69  - send-email: fix non-threaded mails
70  - add a test for git-send-email for non-threaded mails
72 The author seems to have a better organization than the way I queued this
73 topic, so I am holding off merging it to 'next' yet.  My goal was to have
74 two topics, one eventually mergeable to 'maint', the other to 'master'.
76 * mn/maint-iconv-autoconf (Mon Jun 8 20:46:38 2009 -0700) 1 commit
77  - fix handling of iconv configuration options
79 Will merge to 'next' soon.
81 * rc/maint-http-local-slot-fix (Sat Jun 6 16:43:26 2009 +0800) 1 commit
82  + http*: cleanup slot->local after fclose
84 * sb/parse-options-integer (Thu Jun 4 16:43:57 2009 -0700) 2 commits
85  + parse-options: simplify usage argh handling
86  + parse-options: make OPT_INTEGER's argh explicit
88 * sb/pull-rebase (Fri Jun 12 00:39:21 2009 +0200) 3 commits
89  - parse-remote: remove unused functions
90  - parse-remote: support default reflist in get_remote_merge_branch
91  - parse-remote: function to get the tracking branch to be merge
93 Will merge to 'next' soon, but it would be nice if we can fix the
94 "currently works only for the default mapping" before it goes to
95 'master'.
97 * ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit
98  - Shift object enumeration out of upload-pack
100 * ml/http (Wed May 27 23:16:03 2009 -0400) 2 commits
101  - http.c: add http.sslCertNoPass option
102  - http.c: prompt for SSL client certificate password
104 I think "sslCertNoPass" is a mistake.  We should aim for the ideal (i.e.
105 detect when we do not need passphrase), and live with a configuration
106 kludge until the code achives the ideal (i.e. "needPass" to trigger the
107 new codepath to ask for passphrase), _if_ that ideal is achievable.  And
108 in this particular case, I think the ideal is not rocket science.
110 * mg/pushurl (Tue Jun 9 18:01:38 2009 +0200) 5 commits
111  - builtin-remote: Make "remote -v" display push urls
112  - builtin-remote: Show push urls as well
113  - technical/api-remote: Describe new struct remote member pushurl
114  - t5516: Check pushurl config setting
115  - Allow push and fetch urls to be different
117 Will merge to 'next' soon.
119 ----------------------------------------------------------------
120 [Graduated to "master"]
122 * tr/maint-doc-stash-pop (Thu May 28 11:40:15 2009 +0200) 1 commit
123  + Documentation: teach stash/pop workflow instead of stash/apply
125 * da/pretty-tempname (Sun May 31 01:35:52 2009 -0700) 3 commits
126  + diff: generate pretty filenames in prep_temp_blob()
127  + compat: add a basename() compatibility function
128  + compat: add a mkstemps() compatibility function
130 * cb/maint-1.6.0-xdl-merge-fix (Mon May 25 01:21:14 2009 +0100) 2 commits
131  + Change xdl_merge to generate output even for null merges
132  + t6023: merge-file fails to output anything for a degenerate merge
134 ----------------------------------------------------------------
135 [Will merge to "master" soon]
137 * bc/solaris (Sun Jun 7 07:40:29 2009 +0200) 10 commits
138  - configure: test whether -lresolv is needed
139  + Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin
140  + git-compat-util.h: avoid using c99 flex array feature with Sun
141    compiler 5.8
142  + Makefile: add section for SunOS 5.7
143  + Makefile: introduce SANE_TOOL_PATH for prepending required
144    elements to PATH
145  + Makefile: define __sun__ on SunOS
146  + git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris
147  + On Solaris choose the OLD_ICONV iconv() declaration based on the
148    UNIX spec
149  + Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile
150    arguments
151  + Makefile: use /usr/ucb/install on SunOS platforms rather than
152    ginstall
154 We saw some success report with Sun's c99 compiler, which would allow us
155 to include the last remaining patch from Brandon with updates.  I lost
156 track of the status of the tip patch for autoconf.  Is it ready to go?
157 Comments from Solaris folks are appreciated.
159 * cb/match_refs_internal_tail (Sun May 31 16:26:48 2009 +0200) 1 commit
160  + match_refs: search ref list tail internally
162 * nw/maint-cvsexportcommit (Fri May 29 00:23:33 2009 +0100) 1 commit
163  + git-cvsexportcommit can't commit files which have been removed
164    from CVS
166 * ak/maint-for-each-ref-no-lookup (Wed May 27 15:23:12 2009 -0400) 1 commit
167  + for-each-ref: Do not lookup objects when they will not be used
169 I think this makes sense, except that I have this nagging feeling that its
170 use of for_each_rawref() where the original used for_each_ref() may have
171 some unintended side effects in corner cases.
173 * ph/submodule-rebase (Wed Jun 3 00:59:12 2009 +0200) 3 commits
174  - git-submodule: add support for --merge.
175  + Rename submodule.<name>.rebase to submodule.<name>.update
176  + git-submodule: add support for --rebase.
178 I think people do not have issues with the first two, even though some
179 might still argue that "update --merge" is not a good mode of
180 operation.
182 * da/araxis-mergetool (Sun May 24 00:24:41 2009 +0000) 1 commit
183  + mergetool--lib: add support for araxis merge
185 * cc/bisect (Sat Jun 6 06:41:35 2009 +0200) 5 commits
186  + t6030: test skipping away from an already skipped commit
187  + bisect: when skipping, choose a commit away from a skipped commit
188  + bisect: add parameters to "filter_skipped"
189  + bisect: display first bad commit without forking a new process
190  + bisect: drop unparse_commit() and use clear_commit_marks()
192 Regardless of metrics, this is an improvement from the current one.  Will
193 merge to 'master', and let the finer details taken care of later.
195 * rc/http-push (Sat Jun 6 16:44:02 2009 +0800) 24 commits
196  + http*: add helper methods for fetching objects (loose)
197  + http*: add helper methods for fetching packs
198  + http: use new http API in fetch_index()
199  + http*: add http_get_info_packs
200  + http-push.c::fetch_symref(): use the new http API
201  + http-push.c::remote_exists(): use the new http API
202  + http.c::http_fetch_ref(): use the new http API
203  + transport.c::get_refs_via_curl(): use the new http API
204  + http.c: new functions for the http API
205  + http: create function end_url_with_slash
206  + http*: move common variables and macros to http.[ch]
207  + transport.c::get_refs_via_curl(): do not leak refs_url
208  + Don't expect verify_pack() callers to set pack_size
209  + http-push: do not SEGV after fetching a bad pack idx file
210  + http*: copy string returned by sha1_to_hex
211  + http-walker: verify remote packs
212  + http-push, http-walker: style fixes
213  + t5550-http-fetch: test fetching of packed objects
214  + http-push: fix missing "#ifdef USE_CURL_MULTI" around
215    "is_running_queue"
216  + http-push: send out fetch requests on queue
217  + t5540-http-push: test fetching of packed objects
218  + t5540-http-push: test fetching of loose objects
219  + Merge branch 'rc/maint-http-local-slot-fix' into rc/http-push
220  + http*: cleanup slot->local after fclose
222 I do not use http-push myself, and as I said, I have shortage of git time
223 in recent weeks, so these are not as carefully reviewed as usual; but
224 RCTay is proving to be a very reliable HTTP guy I can trust, so unless
225 there are regression reports from people who actually use http-push, this
226 will be in 'master' soon.
228 ----------------------------------------------------------------
229 [Stalled and may need help and prodding to go forward]
231 * jh/notes (Sat May 16 13:44:17 2009 +0200) 5 commits
232  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
233  - Add an expensive test for git-notes
234  - Speed up git notes lookup
235  - Add a script to edit/inspect notes
236  - Introduce commit notes
238 Dscho asked about the performance implications of this; I do not think I
239 saw any progress on that yet...
241 * lt/read-directory (Fri May 15 12:01:29 2009 -0700) 3 commits
242  - Add initial support for pathname conversion to UTF-8
243  - read_directory(): infrastructure for pathname character set
244    conversion
245  - Add 'fill_directory()' helper function for directory traversal
247 Before adding the real "conversion", this needs a few real fixups, I
248 think.  For example there is one hardcoded array that is used without
249 bounds check.
251 * ar/maint-1.6.2-merge-recursive-d-f (Mon May 11 21:25:36 2009 +0200) 2 commits
252  - Fix for a merge where a branch has an F->D transition
253  - Add a reminder test case for a merge with F/D transition
255 Although the reported breakage is covered with the patch, Alex feels the
256 solution unsatisfactory. Cleaning up D/F conflict handling in merge-recursive
257 may be long overdue but seems to be a hard problem.
259 * ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
260  - blame.c: start libifying the blame infrastructure
262 A few minor point remains in this initial one.
264 * jc/log-tz (Tue Mar 3 00:45:37 2009 -0800) 1 commit
265  - Allow --date=local --date=other-format to work as expected
267 The one I posted had a few corner-case bugs that was caught with the test
268 suite; this one has them fixed.  People did not like the UI so it is kept
269 out of 'next'
271 * jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
272  - git-merge-file: allow converting the results for the work tree
274 This is a feature waiting for a user.
276 We did not give scripted Porcelains a way to say "this temporary file I am
277 using for merging is for this path, so use the core.autocrlf and attributes
278 rules for that final path".  Instead, merge-file simply wrote out the
279 data in the canonical repository representation.
281 rerere has the same issue, but it is a lot worse.  It reads the three
282 files (preimage, postimage and thisimage) from the work tree in the work
283 tree representation, merges them without converting them to the canonical
284 representation first but inserts the conflict markers with the canonical
285 representation and writes the resulting mess out.  It needs to be fixed to
286 read with convert_to_git(), merge them while they are still in the
287 canonical representation and possibly add conflict markers, and then write
288 the results out after convert_to_working_tree().  It also needs to write
289 in binary mode as well.
291 * db/foreign-scm (Tue Mar 24 23:04:12 2009 -0400) 3 commits
292  - Add option for using a foreign VCS
293  - Document details of transport function APIs
294  - Allow late reporting of fetched hashes
296 * hv/cvsps-tests (Sun Apr 5 01:40:50 2009 -0700) 8 commits
297  - t/t9600: remove exit after test_done
298  - cvsimport: extend testcase about patchset order to contain
299    branches
300  - cvsimport: add test illustrating a bug in cvsps
301  - Add a test of "git cvsimport"'s handling of tags and branches
302  - Add some tests of git-cvsimport's handling of vendor branches
303  - Test contents of entire cvsimported "master" tree contents
304  - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
305  - Start a library for cvsimport-related tests
307 ----------------------------------------------------------------
308 [Actively cooking]
310 * gb/am-foreign (Wed May 27 11:25:19 2009 +0200) 4 commits
311  - git-am: refactor 'cleaning up and aborting'
312  - git-am foreign patch support: StGIT support
313  - git-am foreign patch support: autodetect some patch formats
314  - git-am foreign patch support: introduce patch_format
316 Should re-review and merge to 'next' but I am short of time these days.
318 * jc/cache-tree (Fri May 22 23:14:25 2009 -0700) 5 commits
319  + Avoid "diff-index --cached" optimization under --find-copies-
320    harder
321  + Optimize "diff-index --cached" using cache-tree
322  + t4007: modernize the style
323  + cache-tree.c::cache_tree_find(): simplify internal API
324  + write-tree --ignore-cache-tree
326 I believe the code is right, but this touches a very low-level code with
327 high chance of subtle breakages unless you are really careful.  I'll let
328 it simmer a bit longer in 'next'.
330 * jc/diff-whitespace-only-status (Sat May 23 01:15:35 2009 -0700) 2 commits
331  - diff: Rename QUIET internal option to QUICK
332  - diff: change semantics of "ignore whitespace" options
334 I am not sure if it should wait for a major version bump but this is a
335 good semantics change.  Perhaps merge to 'next' soonish, but I am
336 undecided.  Comments?
338 * cc/replace (Wed May 27 07:14:09 2009 +0200) 14 commits
339  - t6050: check pushing something based on a replaced commit
340  - Documentation: add documentation for "git replace"
341  - Add git-replace to .gitignore
342  - builtin-replace: use "usage_msg_opt" to give better error messages
343  - parse-options: add new function "usage_msg_opt"
344  - builtin-replace: teach "git replace" to actually replace
345  - Add new "git replace" command
346  - environment: add global variable to disable replacement
347  - mktag: call "check_sha1_signature" with the replacement sha1
348  - replace_object: add a test case
349  - object: call "check_sha1_signature" with the replacement sha1
350  - sha1_file: add a "read_sha1_file_repl" function
351  - replace_object: add mechanism to replace objects found in
352    "refs/replace/"
353  - refs: add a "for_each_replace_ref" function
355 ----------------------------------------------------------------
356 [On Hold]
358 * jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
359  - receive-pack: default receive.denyDeleteCurrent to refuse
361 * jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
362  - Refuse updating the current branch in a non-bare repository via
363    push
365 These are for 1.7.0, but the messages when they trigger together may need
366 to be rethought.