What's cooking

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