What's cooking

Junio C Hamano committed Oct 28, 2009 at 14:10 UTC 6e8c02b6edd795e3d28224579ce106a71a4e47f5
1 file changed +492
whats/cooking/2009/10/05.txt new
+492
@@ -0,0 +1,492 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Oct 2009, #05; Wed, 28)
3 +X-master-at: cd0f8e6d63d3e2744d7d3b2329238be7d064a8ea
4 +X-next-at: 66178218961cb7484d46bd48df7da7318180b6b7
5 +
6 +What's cooking in git.git (Oct 2009, #05; Wed, 28)
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 +* jc/fsck-default-full (2009-10-20) 1 commit
58 + + fsck: default to "git fsck --full"
59 +
60 +* jc/maint-fix-unpack-zlib-check (2009-10-21) 1 commit.
61 + + Fix incorrect error check while reading deflated pack data
62 +
63 +* jc/receive-pack-auto (2009-10-20) 2 commits.
64 + + receive-pack: run "gc --auto --quiet" and optionally "update-server-info"
65 + + gc --auto --quiet: make the notice a bit less verboase
66 +
67 +* bg/clone-doc (2009-10-20) 1 commit.
68 + + git-clone.txt: Fix grammar and formatting
69 +
70 +* iv/tar-lzma-xz (2009-10-20) 1 commit.
71 + + import-tars: Add support for tarballs compressed with lzma, xz
72 +
73 +* jk/maint-cvsimport-pathname (2009-10-19) 1 commit.
74 + + cvsimport: fix relative argument filenames
75 +
76 +* sb/gitweb-link-author (2009-10-15) 1 commit
77 + + gitweb: linkify author/committer names with search
78 +
79 +--------------------------------------------------
80 +[New Topics]
81 +
82 +* jp/dirty-describe (2009-10-21) 1 commit.
83 + - Teach "git describe" --dirty option
84 +
85 +Soon in 'next'.
86 +
87 +* jp/fetch-cull-many-refs (2009-10-25) 2 commits
88 + - fetch: Speed up fetch of large numbers of refs
89 + - remote: Make ref_remove_duplicates faster for large numbers of refs
90 +
91 +* bg/format-patch-p-noop (2009-10-25) 3 commits.
92 + - format-patch documentation: Fix formatting
93 + - format-patch documentation: Remove diff options that are not useful
94 + - format-patch: Make implementation and documentation agree
95 +
96 +* jk/gitignore-anchored (2009-10-26) 1 commit
97 + - gitignore: root most patterns at the top-level directory
98 +
99 +* jk/maint-add-p-empty (2009-10-27) 1 commit.
100 + - add-interactive: handle deletion of empty files
101 +
102 +Soon in 'next'.
103 +
104 +* jk/maint-push-config (2009-10-25) 1 commit.
105 + - push: always load default config
106 +
107 +Soon in 'next'.
108 +
109 +* lt/revision-bisect (2009-10-27) 1 commit.
110 + - Add '--bisect' revision machinery argument
111 +
112 +* mh/maint-diff-color-words (2009-10-28) 3 commits
113 + - diff: fix the location of hunk headers for "git diff --color-words -U0"
114 + - diff: move the handling of the hunk header after the changed lines
115 + - t4034-diff-words: add a test for word diff without context
116 +
117 +--------------------------------------------------
118 +[Stalled]
119 +
120 +* tr/filter-branch (2009-10-21) 2 commits.
121 + - filter-branch: nearest-ancestor rewriting outside subdir filter
122 + - filter-branch: stop special-casing $filter_subdir argument
123 +
124 +J6t already has some comments on this.
125 +
126 +* mr/gitweb-snapshot (2009-09-26) 2 commits.
127 + - gitweb: append short hash ids to snapshot files
128 + (merged to 'next' on 2009-10-11 at 22ba047)
129 + + gitweb: check given hash before trying to create snapshot
130 +
131 +Jakub says the tip one needs updates.
132 +
133 +* ne/rev-cache (2009-10-19) 7 commits.
134 + - support for commit grafts, slight change to general mechanism
135 + - support for path name caching in rev-cache
136 + - full integration of rev-cache into git, completed test suite
137 + - administrative functions for rev-cache, start of integration into git
138 + - support for non-commit object caching in rev-cache
139 + - basic revision cache system, no integration or features
140 + - man page and technical discussion for rev-cache
141 +
142 +The author indicated that there is another round coming.
143 +
144 +* jl/submodule-add-noname (2009-09-22) 1 commit.
145 + - git submodule add: make the <path> parameter optional
146 +
147 +Dscho started an interesting discussion regarding the larger workflow in
148 +which the "submodule add" is used. I think the patch itself makes sense
149 +but at the same time it probably makes sense to also take the <path> and
150 +infer the <repository> as Dscho suggested, probably in "git submodule
151 +add", not in "git add" proper, at least initially.
152 +
153 +* sr/gfi-options (2009-09-06) 6 commits.
154 + - fast-import: test the new option command
155 + - fast-import: add option command
156 + - fast-import: test the new feature command
157 + - fast-import: add feature command
158 + - fast-import: put marks reading in it's own function
159 + - fast-import: put option parsing code in separate functions
160 +
161 +???
162 +
163 +* je/send-email-no-subject (2009-08-05) 1 commit.
164 + (merged to 'next' on 2009-10-11 at 1b99c56)
165 + + send-email: confirm on empty mail subjects
166 +
167 +The existing tests cover the positive case (i.e. as long as the user says
168 +"yes" to the "do you really want to send this message that lacks subject",
169 +the message is sent) of this feature, but the feature itself needs its own
170 +test to verify the negative case (i.e. does it correctly stop if the user
171 +says "no"?)
172 +
173 +--------------------------------------------------
174 +[Cooking]
175 +
176 +* db/vcs-helper-rest (2009-10-27) 7 commits.
177 + - Fix memory leak in helper method for disconnect
178 + - Allow helpers to report in "list" command that the ref is unchanged
179 + - Add support for "import" helper command
180 + - Add a config option for remotes to specify a foreign vcs
181 + - Allow programs to not depend on remotes having urls
182 + - Allow fetch to modify refs
183 + - Use a function to determine whether a remote is valid
184 + (this branch is used by jh/cvs-helper.)
185 +
186 +Queued a fix-up.
187 +
188 +* jh/cvs-helper (2009-08-18) 8 commits.
189 + - More fixes to the git-remote-cvs installation procedure
190 + - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
191 + - Add simple selftests of git-remote-cvs functionality
192 + - git-remote-cvs: Remote helper program for CVS repositories
193 + - 2/2: Add Python support library for CVS remote helper
194 + - 1/2: Add Python support library for CVS remote helper
195 + - Basic build infrastructure for Python scripts
196 + - Allow helpers to request marks for fast-import
197 + (this branch uses db/vcs-helper-rest.)
198 +
199 +This depends on the above.
200 +
201 +* cb/doc-fetch-pull-merge (2009-10-21) 1 commit.
202 + (merged to 'next' on 2009-10-21 at 1d9190d)
203 + + modernize fetch/merge/pull examples
204 +
205 +Soon in 'master'.
206 +
207 +* ja/fetch-doc (2009-10-22) 3 commits.
208 + (merged to 'next' on 2009-10-22 at 8868407)
209 + + Documentation/merge-options.txt: order options in alphabetical groups
210 + + Documentation/git-pull.txt: Add subtitles above included option files
211 + (merged to 'next' on 2009-10-21 at bf09f62)
212 + + Documentation/fetch-options.txt: order options alphabetically
213 +
214 +Soon in 'master'.
215 +
216 +* tr/maint-roff-quote (2009-10-22) 1 commit.
217 + (merged to 'next' on 2009-10-22 at 14c5631)
218 + + Quote ' as \(aq in manpages
219 +
220 +Soon in 'master'.
221 +
222 +* rs/pretty-wrap (2009-10-17) 1 commit
223 + - Implement wrap format %w() as if it is a mode switch
224 + (this branch uses js/log-rewrap.)
225 +
226 +* jc/pretty-lf (2009-10-04) 1 commit.
227 + - Pretty-format: %[+-]x to tweak inter-item newlines
228 +
229 +* js/log-rewrap (2009-10-18) 3 commits
230 + - Teach --wrap to only indent without wrapping
231 + - Add strbuf_add_wrapped_text() to utf8.[ch]
232 + - print_wrapped_text(): allow hard newlines
233 + (this branch is used by rs/pretty-wrap.)
234 +
235 +Before discarding jc/strbuf-nested-expand, I cherry-picked the tip of it
236 +to this series.
237 +
238 +* sr/blame-incomplete (2009-10-19) 1 commit.
239 + (merged to 'next' on 2009-10-22 at 133e0ce)
240 + + blame: make sure that the last line ends in an LF
241 +
242 +I think this is _good enough_ as-is; although it would be better if we
243 +added some hint to the output for Porcelain implementations, that can be
244 +done as a follow-up fix.
245 +
246 +* ak/bisect-reset-to-switch (2009-10-13) 1 commit.
247 + (merged to 'next' on 2009-10-22 at 592fff3)
248 + + bisect reset: Allow resetting to any commit, not just a branch
249 +
250 +Soon in 'master'.
251 +
252 +* fc/doc-fast-forward (2009-10-24) 1 commit.
253 + - Use 'fast-forward' all over the place
254 +
255 +* jc/maint-1.6.3-graft-trailing-space (2009-10-14) 1 commit.
256 + (merged to 'next' on 2009-10-22 at 90ccac6)
257 + + info/grafts: allow trailing whitespaces at the end of line
258 +
259 +Soon in 'master'.
260 +
261 +* jn/show-normalized-refs (2009-10-12) 3 commits.
262 + (merged to 'next' on 2009-10-23 at 332aad3)
263 + + check-ref-format: simplify --print implementation
264 + + git check-ref-format --print
265 + + Add tests for git check-ref-format
266 +
267 +Soon in 'master'.
268 +
269 +* jc/checkout-auto-track (2009-10-18) 3 commits
270 + (merged to 'next' on 2009-10-23 at ff7e8f3)
271 + + git checkout --no-guess
272 + + DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
273 + + check_filename(): make verify_filename() callable without dying
274 +
275 +The final shape of this series ended up to be more or less exactly what
276 +Dscho hinted he wanted to have in one of the discussion.
277 +
278 +Soon in 'master'.
279 +
280 +* tr/stash-format (2009-10-19) 5 commits
281 + (merged to 'next' on 2009-10-23 at 6c551c3)
282 + + stash list: drop the default limit of 10 stashes
283 + + stash list: use new %g formats instead of sed
284 + + Introduce new pretty formats %g[sdD] for reflog information
285 + + reflog-walk: refactor the branch@{num} formatting
286 + + Refactor pretty_print_commit arguments into a struct
287 +
288 +Soon in 'master'.
289 +
290 +* ks/precompute-completion (2009-10-26) 3 commits.
291 + (merged to 'next' on 2009-10-28 at cd5177f)
292 + + completion: ignore custom merge strategies when pre-generating
293 + (merged to 'next' on 2009-10-22 at f46a28a)
294 + + bug: precomputed completion includes scripts sources
295 + (merged to 'next' on 2009-10-14 at adf722a)
296 + + Speedup bash completion loading
297 +
298 +* sp/smart-http (2009-10-25) 24 commits
299 + - remote-helpers: return successfully if everything up-to-date
300 + - update http tests according to remote-curl capabilities
301 + - http-backend: more explict LocationMatch
302 + - http-backend: add example for gitweb on same URL
303 + - http-backend: use mod_alias instead of mod_rewrite
304 + - http-backend: reword some documentation
305 + - http-backend: add GIT_PROJECT_ROOT environment var
306 + - Smart HTTP fetch: gzip requests
307 + - Smart fetch over HTTP: client side
308 + - Smart push over HTTP: client side
309 + - Discover refs via smart HTTP server when available
310 + - Smart fetch and push over HTTP: server side
311 + - Add stateless RPC options to upload-pack, receive-pack
312 + - Git-aware CGI to provide dumb HTTP transport
313 + - Move WebDAV HTTP push under remote-curl
314 + - remote-helpers: Support custom transport options
315 + - remote-helpers: Fetch more than one ref in a batch
316 + - fetch: Allow transport -v -v -v to set verbosity to 3
317 + - remote-curl: Refactor walker initialization
318 + - Add multi_ack_detailed capability to fetch-pack/upload-pack
319 + - Move "get_ack()" back to fetch-pack
320 + - fetch-pack: Use a strbuf to compose the want list
321 + - pkt-line: Make packet_read_line easier to debug
322 + - pkt-line: Add strbuf based functions
323 +
324 +Shawn plans another round of re-roll.
325 +
326 +* ef/msys-imap (2009-10-22) 9 commits.
327 + - Windows: use BLK_SHA1 again
328 + - MSVC: Enable OpenSSL, and translate -lcrypto
329 + - mingw: enable OpenSSL
330 + - mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
331 + - imap-send: build imap-send on Windows
332 + - imap-send: fix compilation-error on Windows
333 + - imap-send: use run-command API for tunneling
334 + - imap-send: use separate read and write fds
335 + - imap-send: remove useless uid code
336 +
337 +This is pulled from J6t; I'll merge it to 'next' if Dscho is Ok with it.
338 +
339 +* js/diff-verbose-submodule (2009-10-23) 2 commits.
340 + (merged to 'next' on 2009-10-23 at e479773)
341 + + add tests for git diff --submodule
342 + + Add the --submodule option to the diff option family
343 +
344 +Soon in 'master'.
345 +
346 +* jc/fix-tree-walk (2009-10-22) 11 commits.
347 + (merged to 'next' on 2009-10-22 at 10c0c8f)
348 + + Revert failed attempt since 353c5ee
349 + + read-tree --debug-unpack
350 + (merged to 'next' on 2009-10-11 at 0b058e2)
351 + + unpack-trees.c: look ahead in the index
352 + + unpack-trees.c: prepare for looking ahead in the index
353 + + Aggressive three-way merge: fix D/F case
354 + + traverse_trees(): handle D/F conflict case sanely
355 + + more D/F conflict tests
356 + + tests: move convenience regexp to match object names to test-lib.sh
357 + + unpack_callback(): use unpack_failed() consistently
358 + + unpack-trees: typofix
359 + + diff-lib.c: fix misleading comments on oneway_diff()
360 +
361 +This has some stupid bugs and temporarily reverted from 'next' until I can
362 +fix it.
363 +
364 +* jh/notes (2009-10-09) 22 commits.
365 + - fast-import: Proper notes tree manipulation using the notes API
366 + - Refactor notes concatenation into a flexible interface for combining notes
367 + - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
368 + - Notes API: for_each_note(): Traverse the entire notes tree with a callback
369 + - Notes API: get_note(): Return the note annotating the given object
370 + - Notes API: add_note(): Add note objects to the internal notes tree structure
371 + - Notes API: init_notes(): Initialize the notes tree from the given notes ref
372 + - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
373 + - Add selftests verifying concatenation of multiple notes for the same commit
374 + - Refactor notes code to concatenate multiple notes annotating the same object
375 + - Add selftests verifying that we can parse notes trees with various fanouts
376 + - Teach the notes lookup code to parse notes trees with various fanout schemes
377 + - Teach notes code to free its internal data structures on request
378 + - Add '%N'-format for pretty-printing commit notes
379 + - Add flags to get_commit_notes() to control the format of the note string
380 + - t3302-notes-index-expensive: Speed up create_repo()
381 + - fast-import: Add support for importing commit notes
382 + - Teach "-m <msg>" and "-F <file>" to "git notes edit"
383 + - Add an expensive test for git-notes
384 + - Speed up git notes lookup
385 + - Add a script to edit/inspect notes
386 + - Introduce commit notes
387 +
388 +I think Johan indicated that early parts of it is ready for 'next', so I
389 +may do so up to "Add selftests" one.
390 +
391 +* jn/gitweb-blame (2009-09-01) 5 commits.
392 + - gitweb: Minify gitweb.js if JSMIN is defined
393 + - gitweb: Create links leading to 'blame_incremental' using JavaScript
394 + (merged to 'next' on 2009-10-11 at 73c4a83)
395 + + gitweb: Colorize 'blame_incremental' view during processing
396 + + gitweb: Incremental blame (using JavaScript)
397 + + gitweb: Add optional "time to generate page" info in footer
398 +
399 +Ajax-y blame. Probably the first three should go to 'master' by now?
400 +
401 +* nd/sparse (2009-08-20) 19 commits.
402 + - sparse checkout: inhibit empty worktree
403 + - Add tests for sparse checkout
404 + - read-tree: add --no-sparse-checkout to disable sparse checkout support
405 + - unpack-trees(): ignore worktree check outside checkout area
406 + - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
407 + - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
408 + - unpack-trees.c: generalize verify_* functions
409 + - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
410 + - Introduce "sparse checkout"
411 + - dir.c: export excluded_1() and add_excludes_from_file_1()
412 + - excluded_1(): support exclude files in index
413 + - unpack-trees(): carry skip-worktree bit over in merged_entry()
414 + - Read .gitignore from index if it is skip-worktree
415 + - Avoid writing to buffer in add_excludes_from_file_1()
416 + - Teach Git to respect skip-worktree bit (writing part)
417 + - Teach Git to respect skip-worktree bit (reading part)
418 + - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
419 + - Add test-index-version
420 + - update-index: refactor mark_valid() in preparation for new options
421 +
422 +--------------------------------------------------
423 +[For 1.7.0]
424 +
425 +* jc/1.7.0-no-commit-no-ff-2 (2009-10-22) 1 commit.
426 + - git-merge: forbid fast-forward and up-to-date when --no-commit is given
427 +
428 +This makes "git merge --no-commit" fail when it results in fast-forward or
429 +up-to-date. I haven't described this at the beginning of this message
430 +yet, as it is not clear if this change is even necessary. Opinions?
431 +
432 +* jk/1.7.0-status (2009-09-05) 5 commits.
433 + - docs: note that status configuration affects only long format
434 + (merged to 'next' on 2009-10-11 at 65c8513)
435 + + commit: support alternate status formats
436 + + status: add --porcelain output format
437 + + status: refactor format option parsing
438 + + status: refactor short-mode printing to its own function
439 + (this branch uses jc/1.7.0-status.)
440 +
441 +Gives the --short output format to post 1.7.0 "git commit --dry-run" that
442 +is similar to that of post 1.7.0 "git status".
443 +
444 +The tip one is not in 'next' as I have been hoping that somebody may want
445 +to change the code to make it unnecessary, but it does not seem to be
446 +happening, so probably it should also go to 'next'.
447 +
448 +* jc/1.7.0-status (2009-09-05) 4 commits.
449 + (merged to 'next' on 2009-10-11 at 9558627)
450 + + status: typo fix in usage
451 + + git status: not "commit --dry-run" anymore
452 + + git stat -s: short status output
453 + + git stat: the beginning of "status that is not a dry-run of commit"
454 + (this branch is used by jk/1.7.0-status.)
455 +
456 +With this, "git status" is no longer "git commit --dry-run".
457 +
458 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
459 + (merged to 'next' on 2009-10-11 at 043acdf)
460 + + send-email: make --no-chain-reply-to the default
461 +
462 +* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
463 + (merged to 'next' on 2009-10-11 at 546c74d)
464 + + diff.c: fix typoes in comments
465 + + Make test case number unique
466 + + diff: Rename QUIET internal option to QUICK
467 + + diff: change semantics of "ignore whitespace" options
468 +
469 +This changes exit code from "git diff --ignore-whitespace" and friends
470 +when there is no actual output. It is a backward incompatible change, but
471 +we could argue that it is a bugfix.
472 +
473 +* jc/1.7.0-push-safety (2009-02-09) 2 commits.
474 + (merged to 'next' on 2009-10-11 at 81b8128)
475 + + Refuse deleting the current branch via push
476 + + Refuse updating the current branch in a non-bare repository via push
477 +
478 +--------------------------------------------------
479 +[I have been too busy to purge these]
480 +
481 +* jc/log-tz (2009-03-03) 1 commit.
482 + - Allow --date=local --date=other-format to work as expected
483 +
484 +Maybe some people care about this. I dunno.
485 +
486 +* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
487 + - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
488 +
489 +Maybe some people care about this. I dunno.
490 +
491 +* jg/log-format-body-indent (2009-09-19) 1 commit.
492 + . git-log --format: Add %B tag with %B(x) option