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