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