What's cooking

Junio C Hamano committed Oct 19, 2009 at 01:03 UTC 654af88fdc1c1f699c422320dac2bb719375a474
1 file changed +440
whats/cooking/2009/10/03.txt new
+440
@@ -0,0 +1,440 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Oct 2009, #03; Mon, 19)
3 +X-master-at: e79999b1a285d4dcf1d84bc893c864516a390cfa
4 +X-next-at: e01f7ce260cd5923cc9a088b74793a58379b5cc0
5 +
6 +What's cooking in git.git (Oct 2009, #03; Mon, 19)
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 +* jp/maint-send-email-fold (2009-10-08) 1 commit.
58 + + git-send-email.perl: fold multiple entry "Cc:" and multiple single line "RCPT TO:"s
59 +
60 +* pv/maint-add-p-no-exclude (2009-10-10) 1 commit.
61 + (merged to 'next' on 2009-10-11 at 0ff2e96)
62 + + git-add--interactive: never skip files included in index
63 +
64 +* dk/blame-el (2009-09-29) 1 commit.
65 + + git-blame.el: Change how blame information is shown.
66 +
67 +* jn/gitweb-patch (2009-10-09) 1 commit.
68 + + gitweb: Do not show 'patch' link for merge commits
69 +
70 +* mr/instaweb-cgid (2009-09-26) 1 commit.
71 + (merged to 'next' on 2009-10-11 at 99bcfaf)
72 + + instaweb: support mod_cgid for apache2
73 +
74 +* tf/doc-pt-br (2009-09-23) 1 commit.
75 + + Documentation: update pt-BR
76 +
77 +The current AsciiDoc may barf on NOME and SINOPSE, as pt_BR language
78 +definition is not widely distributed yet (it just hit the development
79 +tree).
80 +
81 +* bg/rebase-reword (2009-10-07) 2 commits.
82 + + rebase-i: fix reword when using a terminal editor
83 + + Teach 'rebase -i' the command "reword"
84 +
85 +* jp/fetch-tag-match (2009-09-17) 1 commit.
86 + + fetch: Speed up fetch by rewriting find_non_local_tags
87 +
88 +* jn/gitweb-show-size (2009-09-07) 1 commit.
89 + + gitweb: Add 'show-sizes' feature to show blob sizes in tree view
90 +
91 +* jc/maint-1.6.0-blank-at-eof (2009-09-14) 15 commits.
92 + (merged to 'next' on 2009-10-11 at 7f34fb3)
93 + + diff -B: colour whitespace errors
94 + + diff.c: emit_add_line() takes only the rest of the line
95 + + diff.c: split emit_line() from the first char and the rest of the line
96 + + diff.c: shuffling code around
97 + + diff --whitespace: fix blank lines at end
98 + + core.whitespace: split trailing-space into blank-at-{eol,eof}
99 + + diff --color: color blank-at-eof
100 + + diff --whitespace=warn/error: fix blank-at-eof check
101 + + diff --whitespace=warn/error: obey blank-at-eof
102 + + diff.c: the builtin_diff() deals with only two-file comparison
103 + + apply --whitespace: warn blank but not necessarily empty lines at EOF
104 + + apply --whitespace=warn/error: diagnose blank at EOF
105 + + apply.c: split check_whitespace() into two
106 + + apply --whitespace=fix: detect new blank lines at eof correctly
107 + + apply --whitespace=fix: fix handling of blank lines at the eof
108 + (this branch is used by jc/maint-blank-at-eof.)
109 +
110 +This is a fix for an ancient bug (or inconsistent set of features); the
111 +topic is based on an ancient codebase and is designed to be merged
112 +upwards. jc/maint-blank-at-eof serves that purpose.
113 +
114 +--------------------------------------------------
115 +[New Topics]
116 +
117 +* ak/bisect-reset-to-switch (2009-10-13) 1 commit.
118 + - bisect reset: Allow resetting to any commit, not just a branch
119 +
120 +* fc/doc-fast-forward (2009-10-11) 1 commit.
121 + - user-manual: use 'fast-forward'
122 +
123 +* gb/maint-gitweb-esc-param (2009-10-13) 1 commit.
124 + (merged to 'next' on 2009-10-14 at 105f997)
125 + + gitweb: fix esc_param
126 + (this branch is used by sb/gitweb-link-author.)
127 +
128 +* jc/maint-1.6.3-graft-trailing-space (2009-10-14) 1 commit.
129 + - info/grafts: allow trailing whitespaces at the end of line
130 +
131 +* jc/strbuf-nested-expand (2009-10-18) 5 commits
132 + - Teach --wrap to only indent without wrapping
133 + - Add %[wrap(width,in1,in2)<<any-string>>%] implementation
134 + - strbuf_nested_expand(): allow expansion to interrupt in the middle
135 + - Add strbuf_add_wrapped_text() to utf8.[ch]
136 + - print_wrapped_text(): allow hard newlines
137 + (this branch uses js/log-rewrap.)
138 +
139 +* jk/maint-cvsimport-pathname (2009-10-19) 1 commit.
140 + (merged to 'next' on 2009-10-19 at 77824f2)
141 + + cvsimport: fix relative argument filenames
142 +
143 +* jn/show-normalized-refs (2009-10-12) 3 commits.
144 + - check-ref-format: simplify --print implementation
145 + - git check-ref-format --print
146 + - Add tests for git check-ref-format
147 +
148 +* sb/gitweb-link-author (2009-10-14) 1 commit.
149 + - gitweb: linkify author/committer names with search
150 + (this branch uses gb/maint-gitweb-esc-param.)
151 +
152 +* jc/checkout-auto-track (2009-10-18) 3 commits
153 + - git checkout --nodwim
154 + - DWIM "git checkout frotz" to "git checkout -b frotz origin/frotz"
155 + - check_filename(): make verify_filename() callable without dying
156 +
157 +--------------------------------------------------
158 +[Stalled]
159 +
160 +* db/vcs-helper-rest (2009-09-03) 6 commits.
161 + - Allow helpers to report in "list" command that the ref is unchanged
162 + - Add support for "import" helper command
163 + - Add a config option for remotes to specify a foreign vcs
164 + - Allow programs to not depend on remotes having urls
165 + - Allow fetch to modify refs
166 + - Use a function to determine whether a remote is valid
167 + (this branch is used by jh/cvs-helper.)
168 +
169 +This holds the remainder of the db/vcs-helper topic that has already
170 +merged in 1.6.5. If people want to replace this with improvements it
171 +would be a good time to do so.
172 +
173 +* jl/submodule-add-noname (2009-09-22) 1 commit.
174 + - git submodule add: make the <path> parameter optional
175 +
176 +Dscho started an interesting discussion regarding the larger workflow in
177 +which the "submodule add" is used. I think the patch itself makes sense
178 +but at the same time it probably makes sense to also take the <path> and
179 +infer the <repository> as Dscho suggested, probably in "git submodule
180 +add", not in "git add" proper, at least initially.
181 +
182 +* sr/gfi-options (2009-09-06) 6 commits.
183 + - fast-import: test the new option command
184 + - fast-import: add option command
185 + - fast-import: test the new feature command
186 + - fast-import: add feature command
187 + - fast-import: put marks reading in it's own function
188 + - fast-import: put option parsing code in separate functions
189 + (this branch is used by jh/notes.)
190 +
191 +Ejected from 'next' as fast-import folks still seem to be discussing with
192 +how to proceed.
193 +
194 +* je/send-email-no-subject (2009-08-05) 1 commit.
195 + (merged to 'next' on 2009-10-11 at 1b99c56)
196 + + send-email: confirm on empty mail subjects
197 +
198 +The existing tests cover the positive case (i.e. as long as the user says
199 +"yes" to the "do you really want to send this message that lacks subject",
200 +the message is sent) of this feature, but the feature itself needs its own
201 +test to verify the negative case (i.e. does it correctly stop if the user
202 +says "no"?)
203 +
204 +* jh/cvs-helper (2009-08-18) 8 commits.
205 + - More fixes to the git-remote-cvs installation procedure
206 + - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
207 + - Add simple selftests of git-remote-cvs functionality
208 + - git-remote-cvs: Remote helper program for CVS repositories
209 + - 2/2: Add Python support library for CVS remote helper
210 + - 1/2: Add Python support library for CVS remote helper
211 + - Basic build infrastructure for Python scripts
212 + - Allow helpers to request marks for fast-import
213 + (this branch uses db/vcs-helper-rest.)
214 +
215 +Builds on db/vcs-helper.
216 +
217 +--------------------------------------------------
218 +[Cooking]
219 +
220 +* tr/stash-format (2009-10-16) 5 commits
221 + . stash list: drop the default limit of 10 stashes
222 + . stash list: use new %g formats instead of sed
223 + . Introduce new pretty formats %g[sdD] for reflog information
224 + . reflog-walk: refactor the branch@{num} formatting
225 + . Refactor pretty_print_commit arguments into a struct
226 +
227 +Expecting a re-roll.
228 +
229 +* ks/precompute-completion (2009-10-05) 1 commit.
230 + (merged to 'next' on 2009-10-14 at adf722a)
231 + + Speedup bash completion loading
232 +
233 +* sp/smart-http (2009-10-14) 17 commits
234 + - Smart HTTP fetch: gzip requests
235 + - Smart fetch over HTTP: client side
236 + - Smart push over HTTP: client side
237 + - Discover refs via smart HTTP server when available
238 + - Smart fetch and push over HTTP: server side
239 + - Add stateless RPC options to upload-pack, receive-pack
240 + - Git-aware CGI to provide dumb HTTP transport
241 + - Move WebDAV HTTP push under remote-curl
242 + - remote-helpers: Support custom transport options
243 + - remote-helpers: Fetch more than one ref in a batch
244 + - fetch: Allow transport -v -v -v to set verbosity to 3
245 + - remote-curl: Refactor walker initialization
246 + - Add multi_ack_detailed capability to fetch-pack/upload-pack
247 + - Move "get_ack()" back to fetch-pack
248 + - fetch-pack: Use a strbuf to compose the want list
249 + - pkt-line: Make packet_read_line easier to debug
250 + - pkt-line: Add strbuf based functions
251 +
252 +* ef/msys-imap (2009-10-13) 8 commits.
253 + - MSVC: Enable OpenSSL, and translate -lcrypto
254 + - mingw: enable OpenSSL
255 + - mingw: wrap SSL_set_(w|r)fd to call _get_osfhandle
256 + - imap-send: build imap-send on Windows
257 + - imap-send: fix compilation-error on Windows
258 + - imap-send: use run-command API for tunneling
259 + - imap-send: use separate read and write fds
260 + - imap-send: remove useless uid code
261 +
262 +Is this good to go yet?
263 +
264 +* mr/gitweb-snapshot (2009-09-26) 2 commits.
265 + - gitweb: append short hash ids to snapshot files
266 + (merged to 'next' on 2009-10-11 at 22ba047)
267 + + gitweb: check given hash before trying to create snapshot
268 +
269 +* jc/pretty-lf (2009-10-04) 1 commit.
270 + - Pretty-format: %[+-]x to tweak inter-item newlines
271 +
272 +* js/log-rewrap (2008-11-10) 2 commits
273 + - Add strbuf_add_wrapped_text() to utf8.[ch]
274 + - print_wrapped_text(): allow hard newlines
275 + (this branch is used by jc/strbuf-nested-expand.)
276 +
277 +* js/diff-verbose-submodule (2009-10-14) 4 commits.
278 + - add tests for git diff --submodule-summary
279 + - fix output for deleted submodules in git diff --submodule-summary
280 + - fix indentation depth for git diff --submodule-summary
281 + - Add the --submodule-summary option to the diff option family
282 +
283 +There was an attempted re-roll and it looked very promising with a minor
284 +fix-up, but I ran out of time to pick it up and unilaterally tweaking it.
285 +Waiting for a response.
286 +
287 +* jc/fix-tree-walk (2009-09-14) 10 commits.
288 + - read-tree --debug-unpack
289 + (merged to 'next' on 2009-10-11 at 0b058e2)
290 + + unpack-trees.c: look ahead in the index
291 + + unpack-trees.c: prepare for looking ahead in the index
292 + + Aggressive three-way merge: fix D/F case
293 + + traverse_trees(): handle D/F conflict case sanely
294 + + more D/F conflict tests
295 + + tests: move convenience regexp to match object names to test-lib.sh
296 + + unpack_callback(): use unpack_failed() consistently
297 + + unpack-trees: typofix
298 + + diff-lib.c: fix misleading comments on oneway_diff()
299 +
300 +This is my replacement for Linus's lt/maint-traverse-trees-fix patch. It
301 +is not so much as a counter-proposal; I originally thought it might make
302 +sense to walk the index and drive the walker to return the entries from
303 +trees to match entries from the index, but I ended up doing pretty much
304 +what Linus outlined --- walk the trees, and have the index walker follow
305 +it. It turned out that the index side also needed some hairy look-ahead,
306 +
307 +This includes the fix to aggressive mode of three-way merge used by the
308 +resolve strategy.
309 +
310 +* jh/notes (2009-10-09) 22 commits.
311 + - fast-import: Proper notes tree manipulation using the notes API
312 + - Refactor notes concatenation into a flexible interface for combining notes
313 + - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
314 + - Notes API: for_each_note(): Traverse the entire notes tree with a callback
315 + - Notes API: get_note(): Return the note annotating the given object
316 + - Notes API: add_note(): Add note objects to the internal notes tree structure
317 + - Notes API: init_notes(): Initialize the notes tree from the given notes ref
318 + - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
319 + - Add selftests verifying concatenation of multiple notes for the same commit
320 + - Refactor notes code to concatenate multiple notes annotating the same object
321 + - Add selftests verifying that we can parse notes trees with various fanouts
322 + - Teach the notes lookup code to parse notes trees with various fanout schemes
323 + - Teach notes code to free its internal data structures on request
324 + - Add '%N'-format for pretty-printing commit notes
325 + - Add flags to get_commit_notes() to control the format of the note string
326 + - t3302-notes-index-expensive: Speed up create_repo()
327 + - fast-import: Add support for importing commit notes
328 + - Teach "-m <msg>" and "-F <file>" to "git notes edit"
329 + - Add an expensive test for git-notes
330 + - Speed up git notes lookup
331 + - Add a script to edit/inspect notes
332 + - Introduce commit notes
333 + (this branch uses sr/gfi-options.)
334 +
335 +Is this good for 'next' now?
336 +
337 +* jn/gitweb-blame (2009-09-01) 5 commits.
338 + - gitweb: Minify gitweb.js if JSMIN is defined
339 + - gitweb: Create links leading to 'blame_incremental' using JavaScript
340 + (merged to 'next' on 2009-10-11 at 73c4a83)
341 + + gitweb: Colorize 'blame_incremental' view during processing
342 + + gitweb: Incremental blame (using JavaScript)
343 + + gitweb: Add optional "time to generate page" info in footer
344 +
345 +Ajax-y blame.
346 +
347 +* nd/sparse (2009-08-20) 19 commits.
348 + - sparse checkout: inhibit empty worktree
349 + - Add tests for sparse checkout
350 + - read-tree: add --no-sparse-checkout to disable sparse checkout support
351 + - unpack-trees(): ignore worktree check outside checkout area
352 + - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
353 + - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
354 + - unpack-trees.c: generalize verify_* functions
355 + - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
356 + - Introduce "sparse checkout"
357 + - dir.c: export excluded_1() and add_excludes_from_file_1()
358 + - excluded_1(): support exclude files in index
359 + - unpack-trees(): carry skip-worktree bit over in merged_entry()
360 + - Read .gitignore from index if it is skip-worktree
361 + - Avoid writing to buffer in add_excludes_from_file_1()
362 + - Teach Git to respect skip-worktree bit (writing part)
363 + - Teach Git to respect skip-worktree bit (reading part)
364 + - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
365 + - Add test-index-version
366 + - update-index: refactor mark_valid() in preparation for new options
367 +
368 +--------------------------------------------------
369 +[For 1.7.0]
370 +
371 +* jk/1.7.0-status (2009-09-05) 5 commits.
372 + - docs: note that status configuration affects only long format
373 + (merged to 'next' on 2009-10-11 at 65c8513)
374 + + commit: support alternate status formats
375 + + status: add --porcelain output format
376 + + status: refactor format option parsing
377 + + status: refactor short-mode printing to its own function
378 + (this branch uses jc/1.7.0-status.)
379 +
380 +Gives the --short output format to post 1.7.0 "git commit --dry-run" that
381 +is similar to that of post 1.7.0 "git status".
382 +
383 +* jc/1.7.0-status (2009-09-05) 4 commits.
384 + (merged to 'next' on 2009-10-11 at 9558627)
385 + + status: typo fix in usage
386 + + git status: not "commit --dry-run" anymore
387 + + git stat -s: short status output
388 + + git stat: the beginning of "status that is not a dry-run of commit"
389 + (this branch is used by jk/1.7.0-status.)
390 +
391 +With this, "git status" is no longer "git commit --dry-run".
392 +
393 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
394 + (merged to 'next' on 2009-10-11 at 043acdf)
395 + + send-email: make --no-chain-reply-to the default
396 +
397 +* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
398 + (merged to 'next' on 2009-10-11 at 546c74d)
399 + + diff.c: fix typoes in comments
400 + + Make test case number unique
401 + + diff: Rename QUIET internal option to QUICK
402 + + diff: change semantics of "ignore whitespace" options
403 +
404 +This changes exit code from "git diff --ignore-whitespace" and friends
405 +when there is no actual output. It is a backward incompatible change, but
406 +we could argue that it is a bugfix.
407 +
408 +* jc/1.7.0-push-safety (2009-02-09) 2 commits.
409 + (merged to 'next' on 2009-10-11 at 81b8128)
410 + + Refuse deleting the current branch via push
411 + + Refuse updating the current branch in a non-bare repository via push
412 +
413 +--------------------------------------------------
414 +[I have been too busy to purge these]
415 +
416 +* jc/log-tz (2009-03-03) 1 commit.
417 + - Allow --date=local --date=other-format to work as expected
418 +
419 +Maybe some people care about this. I dunno.
420 +
421 +* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
422 + - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
423 +
424 +Maybe some people care about this. I dunno.
425 +
426 +* ne/rev-cache (2009-09-07) 7 commits.
427 + . support for commit grafts, slight change to general mechanism
428 + . support for path name caching in rev-cache
429 + . full integration of rev-cache into git, completed test suite
430 + . administrative functions for rev-cache, start of integration into git
431 + . support for non-commit object caching in rev-cache
432 + . basic revision cache system, no integration or features
433 + . man page and technical discussion for rev-cache
434 +
435 +This seems to break at least t6001 when merged to 'pu'.
436 +
437 +* jg/log-format-body-indent (2009-09-19) 1 commit.
438 + . git-log --format: Add %B tag with %B(x) option
439 +
440 +Ejected from 'pu' as this is merely a short-hand for %[wrap(0,x,x)%b%].