What's cooking

Junio C Hamano committed Jun 12, 2009 at 02:10 UTC bec61476ede93cdf19b62b164689455960666137
1 file changed +366
whats/cooking/2009/06/01.txt new
+366
@@ -0,0 +1,366 @@
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
5 +
6 +What's cooking in git.git (Jun 2009, #01; Fri, 12)
7 +--------------------------------------------------
8 +
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.
13 +
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.
16 +
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.
21 +
22 +----------------------------------------------------------------
23 +[New Topics]
24 +
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()
30 +
31 +I didn't check the individual conversion from die() to die_errno()
32 +in this latest round; comments?
33 +
34 +* cb/maint-no-double-merge (Mon Jun 1 11:20:56 2009 +0200) 1 commit
35 + + refuse to merge during a merge
36 +
37 +Will merge to 'master' soonish.
38 +
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
55 +
56 +A silly typo I failed to spot was fixed by J6t; should be ready for
57 +'master' now.
58 +
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
71 +
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'.
75 +
76 +* mn/maint-iconv-autoconf (Mon Jun 8 20:46:38 2009 -0700) 1 commit
77 + - fix handling of iconv configuration options
78 +
79 +Will merge to 'next' soon.
80 +
81 +* rc/maint-http-local-slot-fix (Sat Jun 6 16:43:26 2009 +0800) 1 commit
82 + + http*: cleanup slot->local after fclose
83 +
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
87 +
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
92 +
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'.
96 +
97 +* ne/futz-upload-pack (Wed Jun 10 01:50:18 2009 +0200) 1 commit
98 + - Shift object enumeration out of upload-pack
99 +
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
103 +
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.
109 +
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
116 +
117 +Will merge to 'next' soon.
118 +
119 +----------------------------------------------------------------
120 +[Graduated to "master"]
121 +
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
124 +
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
129 +
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
133 +
134 +----------------------------------------------------------------
135 +[Will merge to "master" soon]
136 +
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
153 +
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.
158 +
159 +* cb/match_refs_internal_tail (Sun May 31 16:26:48 2009 +0200) 1 commit
160 + + match_refs: search ref list tail internally
161 +
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
165 +
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
168 +
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.
172 +
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.
177 +
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.
181 +
182 +* da/araxis-mergetool (Sun May 24 00:24:41 2009 +0000) 1 commit
183 + + mergetool--lib: add support for araxis merge
184 +
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()
191 +
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.
194 +
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
221 +
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.
227 +
228 +----------------------------------------------------------------
229 +[Stalled and may need help and prodding to go forward]
230 +
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
237 +
238 +Dscho asked about the performance implications of this; I do not think I
239 +saw any progress on that yet...
240 +
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
246 +
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.
250 +
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
254 +
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.
258 +
259 +* ps/blame (Thu Mar 12 21:30:03 2009 +1100) 1 commit
260 + - blame.c: start libifying the blame infrastructure
261 +
262 +A few minor point remains in this initial one.
263 +
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
266 +
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'
270 +
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
273 +
274 +This is a feature waiting for a user.
275 +
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.
280 +
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.
290 +
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
295 +
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
306 +
307 +----------------------------------------------------------------
308 +[Actively cooking]
309 +
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
315 +
316 +Should re-review and merge to 'next' but I am short of time these days.
317 +
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
325 +
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'.
329 +
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
333 +
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?
337 +
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
354 +
355 +----------------------------------------------------------------
356 +[On Hold]
357 +
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
360 +
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
364 +
365 +These are for 1.7.0, but the messages when they trigger together may need
366 +to be rethought.