What's cooking

Junio C Hamano committed Oct 21, 2009 at 23:52 UTC 9dc596570becd31df5a8c082e8f5259d54547114
1 file changed +496
whats/cooking/2009/10/04.txt new
+496
@@ -0,0 +1,496 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Oct 2009, #04; Wed, 21)
3 +X-master-at: 3694209ca16c033fb4c539cc23b0b370e48952dd
4 +X-next-at: fef13efd27479ba3d90fd511ea198445ed434a73
5 +
6 +What's cooking in git.git (Oct 2009, #04; Wed, 21)
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 integration branches, but I am
12 +still holding onto them.
13 +
14 +In 1.7.0, we plan to correct handful of warts in the interfaces everybody
15 +agrees that they were mistakes. The resulting system may not be strictly
16 +backward compatible. Currently planeed changes are:
17 +
18 + * refuse push to update the checked out branch in a non-bare repo by
19 + default
20 +
21 + Make "git push" into a repository to update the branch that is checked
22 + out fail by default. You can countermand this default by setting a
23 + configuration variable in the receiving repository.
24 +
25 + http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
26 +
27 + * refuse push to delete the current branch by default
28 +
29 + Make "git push $there :$killed" to delete the branch that is pointed at
30 + by its HEAD fail by default. You can countermand this default by
31 + setting a configuration variable in the receiving repository.
32 +
33 + http://thread.gmane.org/gmane.comp.version-control.git/108862/focus=108936
34 +
35 + * git-send-email won't make deep threads by default
36 +
37 + Many people said that by default when sending more than 2 patches the
38 + threading git-send-email makes by default is hard to read, and they
39 + prefer the default be one cover letter and each patch as a direct
40 + follow-up to the cover letter. You can countermand this by setting a
41 + configuration variable.
42 +
43 + http://article.gmane.org/gmane.comp.version-control.git/109790
44 +
45 + * git-status won't be "git-commit --dry-run" anymore
46 +
47 + http://thread.gmane.org/gmane.comp.version-control.git/125989/focus=125993
48 +
49 + * "git-diff -w --exit-code" will exit success if only differences it
50 + found are whitespace changes that are stripped away from the output.
51 +
52 + http://thread.gmane.org/gmane.comp.version-control.git/119731/focus=119751
53 +
54 +--------------------------------------------------
55 +[Graduated to "master"]
56 +
57 +* gb/maint-gitweb-esc-param (2009-10-13) 1 commit.
58 + (merged to 'next' on 2009-10-14 at 105f997)
59 + + gitweb: fix esc_param
60 + (this branch is used by sb/gitweb-link-author.)
61 +
62 +--------------------------------------------------
63 +[New Topics]
64 +
65 +* vl/git-gui (2009-10-16) 1 commit.
66 + - git-gui: adjust the minimum height of diff pane for shorter screen height
67 +
68 +Shawn?
69 +
70 +* cb/doc-fetch-pull-merge (2009-10-21) 1 commit.
71 + (merged to 'next' on 2009-10-21 at 1d9190d)
72 + + modernize fetch/merge/pull examples
73 +
74 +* ja/fetch-doc (2009-10-21) 1 commit.
75 + (merged to 'next' on 2009-10-21 at bf09f62)
76 + + Documentation/fetch-options.txt: order options alphabetically
77 +
78 +Helps 'git-fetch.{1,html}' without helping 'git-pull.{1,html}'.
79 +
80 +* jc/1.7.0-no-commit-no-ff-2 (2009-10-21) 1 commit.
81 + - git-merge: forbid fast-forward and up-to-date when --no-commit is given
82 +
83 +This makes "git merge --no-commit" fail when it results in fast-forward or
84 +up-to-date. I haven't described this at the beginning of this message
85 +yet, as it is not clear if this is even necessary, but since I already
86 +wrote it and many people seem to be interested in UI and behaviour
87 +warts,...
88 +
89 +Some tests expect the traditional behaviour of silently ignoring --no-commit
90 +upon fast-forward, and tonight's 'pu' does not pass them.
91 +
92 +* jc/1.7.0-no-commit-no-ff (2009-10-21) 1 commit.
93 + . git-merge: imply --no-ff when --no-commit is given
94 +
95 +This is an alternative patch to the same issue.
96 +
97 +* jc/fsck-default-full (2009-10-20) 1 commit
98 + (merged to 'next' on 2009-10-21 at 1375192)
99 + + fsck: default to "git fsck --full"
100 +
101 +Should be safe enough to be in 'master' soon.
102 +
103 +* jc/maint-fix-unpack-zlib-check (2009-10-21) 1 commit.
104 + - Fix incorrect error check while reading deflated pack data
105 +
106 +This is the final round from 2009-10-21, not my earlier botched attempts.
107 +
108 +* jc/receive-pack-auto (2009-10-20) 2 commits.
109 + (merged to 'next' on 2009-10-21 at fef13ef)
110 + + receive-pack: run "gc --auto --quiet" and optionally "update-server-info"
111 + + gc --auto --quiet: make the notice a bit less verboase
112 +
113 +* jp/dirty-describe (2009-10-21) 1 commit.
114 + - Teach "git describe" --dirty option
115 +
116 +Ack?
117 +
118 +* tr/filter-branch (2009-10-21) 2 commits.
119 + - filter-branch: nearest-ancestor rewriting outside subdir filter
120 + - filter-branch: stop special-casing $filter_subdir argument
121 +
122 +J6t already has some comments on this.
123 +
124 +* tr/maint-roff-quote (2009-10-21) 2 commits.
125 + - Document GNU_ROFF in Makefile
126 + - Quote ' as \(aq in manpages
127 +
128 +The doc may need to be clarified a bit more.
129 +
130 +* bg/clone-doc (2009-10-20) 1 commit.
131 + (merged to 'next' on 2009-10-21 at 3016736)
132 + + git-clone.txt: Fix grammar and formatting
133 +
134 +Should be correct enough to be in 'master' soon.
135 +
136 +* iv/tar-lzma-xz (2009-10-20) 1 commit.
137 + (merged to 'next' on 2009-10-21 at cb0df8a)
138 + + import-tars: Add support for tarballs compressed with lzma, xz
139 +
140 +Should be safe enough to be in 'master' soon.
141 +
142 +* rs/pretty-wrap (2009-10-17) 1 commit
143 + - Implement wrap format %w() as if it is a mode switch
144 + (this branch uses js/log-rewrap; is related to jc/strbuf-nested-expand.)
145 +
146 +When it comes to design issues to keep unnecessary complexity out, I tend
147 +to trust Réne (and Nico) a lot more than I trust myself. Tonight's 'pu'
148 +queues this series instead of my "nested" one.
149 +
150 +* sr/blame-incomplete (2009-10-19) 1 commit.
151 + - blame: make sure that the last line ends in an LF
152 +
153 +I think this is _good enough_ as-is; although it would be better if we
154 +added some hint to the output for Porcelain implementations, that can be
155 +done as a follow-up fix.
156 +
157 +--------------------------------------------------
158 +[Stalled]
159 +
160 +* mr/gitweb-snapshot (2009-09-26) 2 commits.
161 + - gitweb: append short hash ids to snapshot files
162 + (merged to 'next' on 2009-10-11 at 22ba047)
163 + + gitweb: check given hash before trying to create snapshot
164 +
165 +I lost track of the discussion around the tip commit. The bottom one may
166 +better go to 'master' regardless.
167 +
168 +* db/vcs-helper-rest (2009-09-03) 6 commits.
169 + - Allow helpers to report in "list" command that the ref is unchanged
170 + - Add support for "import" helper command
171 + - Add a config option for remotes to specify a foreign vcs
172 + - Allow programs to not depend on remotes having urls
173 + - Allow fetch to modify refs
174 + - Use a function to determine whether a remote is valid
175 + (this branch is used by jh/cvs-helper.)
176 +
177 +This holds the remainder of the db/vcs-helper topic that has already
178 +merged in 1.6.5. If people want to replace this with improvements it
179 +would be a good time to do so.
180 +
181 +* jl/submodule-add-noname (2009-09-22) 1 commit.
182 + - git submodule add: make the <path> parameter optional
183 +
184 +Dscho started an interesting discussion regarding the larger workflow in
185 +which the "submodule add" is used. I think the patch itself makes sense
186 +but at the same time it probably makes sense to also take the <path> and
187 +infer the <repository> as Dscho suggested, probably in "git submodule
188 +add", not in "git add" proper, at least initially.
189 +
190 +* sr/gfi-options (2009-09-06) 6 commits.
191 + - fast-import: test the new option command
192 + - fast-import: add option command
193 + - fast-import: test the new feature command
194 + - fast-import: add feature command
195 + - fast-import: put marks reading in it's own function
196 + - fast-import: put option parsing code in separate functions
197 +
198 +* je/send-email-no-subject (2009-08-05) 1 commit.
199 + (merged to 'next' on 2009-10-11 at 1b99c56)
200 + + send-email: confirm on empty mail subjects
201 +
202 +The existing tests cover the positive case (i.e. as long as the user says
203 +"yes" to the "do you really want to send this message that lacks subject",
204 +the message is sent) of this feature, but the feature itself needs its own
205 +test to verify the negative case (i.e. does it correctly stop if the user
206 +says "no"?)
207 +
208 +* jh/cvs-helper (2009-08-18) 8 commits.
209 + . More fixes to the git-remote-cvs installation procedure
210 + . Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
211 + . Add simple selftests of git-remote-cvs functionality
212 + . git-remote-cvs: Remote helper program for CVS repositories
213 + . 2/2: Add Python support library for CVS remote helper
214 + . 1/2: Add Python support library for CVS remote helper
215 + . Basic build infrastructure for Python scripts
216 + . Allow helpers to request marks for fast-import
217 + (this branch uses db/vcs-helper-rest.)
218 +
219 +* jc/strbuf-nested-expand (2009-10-18) 3 commits
220 + . Teach --wrap to only indent without wrapping
221 + . Add %[wrap(width,in1,in2)<<any-string>>%] implementation
222 + . strbuf_nested_expand(): allow expansion to interrupt in the middle
223 + (this branch uses js/log-rewrap; is related to rs/pretty-wrap.)
224 +
225 +Ejected from 'pu' to let rs/pretty-wrap in as described above.
226 +
227 +--------------------------------------------------
228 +[Cooking]
229 +
230 +* ne/rev-cache (2009-10-19) 7 commits.
231 + - support for commit grafts, slight change to general mechanism
232 + - support for path name caching in rev-cache
233 + - full integration of rev-cache into git, completed test suite
234 + - administrative functions for rev-cache, start of integration into git
235 + - support for non-commit object caching in rev-cache
236 + - basic revision cache system, no integration or features
237 + - man page and technical discussion for rev-cache
238 +
239 +Still unstable? Has an extra test squashed in; tonight's 'pu' does not
240 +pass tests.
241 +
242 +* ak/bisect-reset-to-switch (2009-10-13) 1 commit.
243 + - bisect reset: Allow resetting to any commit, not just a branch
244 +
245 +Soon in 'next'.
246 +
247 +* fc/doc-fast-forward (2009-10-11) 1 commit.
248 + - user-manual: use 'fast-forward'
249 +
250 +* jc/maint-1.6.3-graft-trailing-space (2009-10-14) 1 commit.
251 + - info/grafts: allow trailing whitespaces at the end of line
252 +
253 +Soon in 'next'.
254 +
255 +* jk/maint-cvsimport-pathname (2009-10-19) 1 commit.
256 + (merged to 'next' on 2009-10-19 at 77824f2)
257 + + cvsimport: fix relative argument filenames
258 +
259 +Should be safe enough to be in 'master' soon.
260 +
261 +* jn/show-normalized-refs (2009-10-12) 3 commits.
262 + - check-ref-format: simplify --print implementation
263 + - git check-ref-format --print
264 + - Add tests for git check-ref-format
265 +
266 +This was for helping Porcelains like git-gui to sanely cope with user
267 +input that has redundant // in refnames. Are potential users happy with
268 +the series? I think this is ready for 'next'.
269 +
270 +* sb/gitweb-link-author (2009-10-15) 1 commit
271 + - gitweb: linkify author/committer names with search
272 +
273 +Soon in 'next'.
274 +
275 +* jc/checkout-auto-track (2009-10-18) 3 commits
276 + - git checkout --no-guess
277 + - DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
278 + - check_filename(): make verify_filename() callable without dying
279 +
280 +The final shape of this series ended up to be more or less exactly what
281 +Dscho hinted he wanted to have in one of the discussion. Is everybody
282 +happy with this kind of new user-friendliness? I think it is safe enough
283 +to be queued to 'next'.
284 +
285 +* tr/stash-format (2009-10-19) 5 commits
286 + - stash list: drop the default limit of 10 stashes
287 + - stash list: use new %g formats instead of sed
288 + - Introduce new pretty formats %g[sdD] for reflog information
289 + - reflog-walk: refactor the branch@{num} formatting
290 + - Refactor pretty_print_commit arguments into a struct
291 +
292 +Soon in 'next'.
293 +
294 +* ks/precompute-completion (2009-10-05) 1 commit.
295 + (merged to 'next' on 2009-10-14 at adf722a)
296 + + Speedup bash completion loading
297 +
298 +Are people happy with this?
299 +
300 +* sp/smart-http (2009-10-14) 17 commits
301 + - Smart HTTP fetch: gzip requests
302 + - Smart fetch over HTTP: client side
303 + - Smart push over HTTP: client side
304 + - Discover refs via smart HTTP server when available
305 + - Smart fetch and push over HTTP: server side
306 + - Add stateless RPC options to upload-pack, receive-pack
307 + - Git-aware CGI to provide dumb HTTP transport
308 + - Move WebDAV HTTP push under remote-curl
309 + - remote-helpers: Support custom transport options
310 + - remote-helpers: Fetch more than one ref in a batch
311 + - fetch: Allow transport -v -v -v to set verbosity to 3
312 + - remote-curl: Refactor walker initialization
313 + - Add multi_ack_detailed capability to fetch-pack/upload-pack
314 + - Move "get_ack()" back to fetch-pack
315 + - fetch-pack: Use a strbuf to compose the want list
316 + - pkt-line: Make packet_read_line easier to debug
317 + - pkt-line: Add strbuf based functions
318 +
319 +What's the doneness of this series?
320 +
321 +* ef/msys-imap (2009-10-21) 8 commits.
322 + - MSVC: Enable OpenSSL, and translate -lcrypto
323 + - mingw: enable OpenSSL
324 + - mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
325 + - imap-send: build imap-send on Windows
326 + - imap-send: fix compilation-error on Windows
327 + - imap-send: use run-command API for tunneling
328 + - imap-send: use separate read and write fds
329 + - imap-send: remove useless uid code
330 +
331 +Another re-roll. Waiting for an Ack from MSVC folks but otherwise it is
332 +ready for 'next', I think.
333 +
334 +* jc/pretty-lf (2009-10-04) 1 commit.
335 + - Pretty-format: %[+-]x to tweak inter-item newlines
336 +
337 +* js/log-rewrap (2008-11-10) 2 commits
338 + - Add strbuf_add_wrapped_text() to utf8.[ch]
339 + - print_wrapped_text(): allow hard newlines
340 + (this branch is used by jc/strbuf-nested-expand and rs/pretty-wrap.)
341 +
342 +Soon in 'next'; regardless of how wrapping is exposed to --pretty=format,
343 +this code will be used, and it seems to be leak-free and reasonably done.
344 +
345 +We _might_ want to cherry-pick the tip of jc/strbuf-nested-expand to this
346 +series, though.
347 +
348 +* js/diff-verbose-submodule (2009-10-14) 2 commits.
349 + - add tests for git diff --submodule-summary
350 + - Add the --submodule option to the diff option family
351 +
352 +I should retitle and fix some comments in the tip commit (the tests have
353 +already been adjusted to use the real option name), but otherwise I think
354 +this is ready for 'next'.
355 +
356 +* jc/fix-tree-walk (2009-09-14) 10 commits.
357 + - read-tree --debug-unpack
358 + (merged to 'next' on 2009-10-11 at 0b058e2)
359 + + unpack-trees.c: look ahead in the index
360 + + unpack-trees.c: prepare for looking ahead in the index
361 + + Aggressive three-way merge: fix D/F case
362 + + traverse_trees(): handle D/F conflict case sanely
363 + + more D/F conflict tests
364 + + tests: move convenience regexp to match object names to test-lib.sh
365 + + unpack_callback(): use unpack_failed() consistently
366 + + unpack-trees: typofix
367 + + diff-lib.c: fix misleading comments on oneway_diff()
368 +
369 +This is my replacement for Linus's lt/maint-traverse-trees-fix patch. It
370 +is not so much as a counter-proposal; I originally thought it might make
371 +sense to walk the index and drive the walker to return the entries from
372 +trees to match entries from the index, but I ended up doing pretty much
373 +what Linus outlined --- walk the trees, and have the index walker follow
374 +it. It turned out that the index side also needed some hairy look-ahead,
375 +
376 +This includes the fix to aggressive mode of three-way merge used by the
377 +resolve strategy.
378 +
379 +* jh/notes (2009-10-09) 22 commits.
380 + - fast-import: Proper notes tree manipulation using the notes API
381 + - Refactor notes concatenation into a flexible interface for combining notes
382 + - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
383 + - Notes API: for_each_note(): Traverse the entire notes tree with a callback
384 + - Notes API: get_note(): Return the note annotating the given object
385 + - Notes API: add_note(): Add note objects to the internal notes tree structure
386 + - Notes API: init_notes(): Initialize the notes tree from the given notes ref
387 + - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
388 + - Add selftests verifying concatenation of multiple notes for the same commit
389 + - Refactor notes code to concatenate multiple notes annotating the same object
390 + - Add selftests verifying that we can parse notes trees with various fanouts
391 + - Teach the notes lookup code to parse notes trees with various fanout schemes
392 + - Teach notes code to free its internal data structures on request
393 + - Add '%N'-format for pretty-printing commit notes
394 + - Add flags to get_commit_notes() to control the format of the note string
395 + - t3302-notes-index-expensive: Speed up create_repo()
396 + - fast-import: Add support for importing commit notes
397 + - Teach "-m <msg>" and "-F <file>" to "git notes edit"
398 + - Add an expensive test for git-notes
399 + - Speed up git notes lookup
400 + - Add a script to edit/inspect notes
401 + - Introduce commit notes
402 +
403 +Rebased so that it does not pull in anything else. Presumably it is ready
404 +for next?
405 +
406 +* jn/gitweb-blame (2009-09-01) 5 commits.
407 + - gitweb: Minify gitweb.js if JSMIN is defined
408 + - gitweb: Create links leading to 'blame_incremental' using JavaScript
409 + (merged to 'next' on 2009-10-11 at 73c4a83)
410 + + gitweb: Colorize 'blame_incremental' view during processing
411 + + gitweb: Incremental blame (using JavaScript)
412 + + gitweb: Add optional "time to generate page" info in footer
413 +
414 +Ajax-y blame. Probably the first three should go to 'master' by now?
415 +
416 +* nd/sparse (2009-08-20) 19 commits.
417 + - sparse checkout: inhibit empty worktree
418 + - Add tests for sparse checkout
419 + - read-tree: add --no-sparse-checkout to disable sparse checkout support
420 + - unpack-trees(): ignore worktree check outside checkout area
421 + - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
422 + - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
423 + - unpack-trees.c: generalize verify_* functions
424 + - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
425 + - Introduce "sparse checkout"
426 + - dir.c: export excluded_1() and add_excludes_from_file_1()
427 + - excluded_1(): support exclude files in index
428 + - unpack-trees(): carry skip-worktree bit over in merged_entry()
429 + - Read .gitignore from index if it is skip-worktree
430 + - Avoid writing to buffer in add_excludes_from_file_1()
431 + - Teach Git to respect skip-worktree bit (writing part)
432 + - Teach Git to respect skip-worktree bit (reading part)
433 + - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
434 + - Add test-index-version
435 + - update-index: refactor mark_valid() in preparation for new options
436 +
437 +--------------------------------------------------
438 +[For 1.7.0]
439 +
440 +* jk/1.7.0-status (2009-09-05) 5 commits.
441 + - docs: note that status configuration affects only long format
442 + (merged to 'next' on 2009-10-11 at 65c8513)
443 + + commit: support alternate status formats
444 + + status: add --porcelain output format
445 + + status: refactor format option parsing
446 + + status: refactor short-mode printing to its own function
447 + (this branch uses jc/1.7.0-status.)
448 +
449 +Gives the --short output format to post 1.7.0 "git commit --dry-run" that
450 +is similar to that of post 1.7.0 "git status".
451 +
452 +* jc/1.7.0-status (2009-09-05) 4 commits.
453 + (merged to 'next' on 2009-10-11 at 9558627)
454 + + status: typo fix in usage
455 + + git status: not "commit --dry-run" anymore
456 + + git stat -s: short status output
457 + + git stat: the beginning of "status that is not a dry-run of commit"
458 + (this branch is used by jk/1.7.0-status.)
459 +
460 +With this, "git status" is no longer "git commit --dry-run".
461 +
462 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
463 + (merged to 'next' on 2009-10-11 at 043acdf)
464 + + send-email: make --no-chain-reply-to the default
465 +
466 +* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
467 + (merged to 'next' on 2009-10-11 at 546c74d)
468 + + diff.c: fix typoes in comments
469 + + Make test case number unique
470 + + diff: Rename QUIET internal option to QUICK
471 + + diff: change semantics of "ignore whitespace" options
472 +
473 +This changes exit code from "git diff --ignore-whitespace" and friends
474 +when there is no actual output. It is a backward incompatible change, but
475 +we could argue that it is a bugfix.
476 +
477 +* jc/1.7.0-push-safety (2009-02-09) 2 commits.
478 + (merged to 'next' on 2009-10-11 at 81b8128)
479 + + Refuse deleting the current branch via push
480 + + Refuse updating the current branch in a non-bare repository via push
481 +
482 +--------------------------------------------------
483 +[I have been too busy to purge these]
484 +
485 +* jc/log-tz (2009-03-03) 1 commit.
486 + - Allow --date=local --date=other-format to work as expected
487 +
488 +Maybe some people care about this. I dunno.
489 +
490 +* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
491 + - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
492 +
493 +Maybe some people care about this. I dunno.
494 +
495 +* jg/log-format-body-indent (2009-09-19) 1 commit.
496 + . git-log --format: Add %B tag with %B(x) option