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%].