What's cooking
Junio C Hamano committed
Sep 7, 2009 at 17:50 UTC
56d9d729ef2ce2ecc5b5d89b53a6357434e0fc98
1 file changed
+397
whats/cooking/2009/09/02.txt
new
+397
@@ -0,0 +1,397 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Sep 2009, #02; Mon, 07)
3
+X-master-at: 5ad9dce7e691106fecde413de8cc321b937367a6
4
+X-next-at: 5f6b0ffff13f5cd762d0a5a4e1c4dede58e8a537
5
+
6
+What's cooking in git.git (Sep 2009, #02; Mon, 07)
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
+During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.
55
+
56
+I tagged and pushed out 1.6.5-rc0. There are still some topics cooking in
57
+'next' I would rather not leave out, but I've been hoping to keep this
58
+cycle short, and I'm also hoping to tag the real 1.6.5 before I vanish for
59
+about a week and half later in the month. so in the worst case there may
60
+have to be a 1.6.6 to include the leftover topics.
61
+
62
+--------------------------------------------------
63
+[Graduated to "master"]
64
+
65
+* np/maint-1.6.3-deepen (2009-09-03) 2 commits
66
+ (merged to 'next' on 2009-09-06 at d597fba)
67
+ + pack-objects: free preferred base memory after usage
68
+ + make shallow repository deepening more network efficient
69
+
70
+Further optimization and fixing of the object transfer around the "shallow
71
+repository" codepaths.
72
+
73
+* js/stash-dwim (2009-07-27) 1 commit.
74
+ (merged to 'next' on 2009-08-16 at 67896c4)
75
+ + Make 'git stash -k' a short form for 'git stash save --keep-index'
76
+ (this branch is used by tr/reset-checkout-patch.)
77
+
78
+* tr/reset-checkout-patch (2009-08-18) 10 commits.
79
+ (merged to 'next' on 2009-09-03 at d4f2ed7)
80
+ + stash: simplify defaulting to "save" and reject unknown options
81
+ (merged to 'next' on 2009-08-27 at d314281)
82
+ + Make test case number unique
83
+ (merged to 'next' on 2009-08-18 at e465bb3)
84
+ + tests: disable interactive hunk selection tests if perl is not available
85
+ (merged to 'next' on 2009-08-16 at 67896c4)
86
+ + DWIM 'git stash save -p' for 'git stash -p'
87
+ + Implement 'git stash save --patch'
88
+ + Implement 'git checkout --patch'
89
+ + Implement 'git reset --patch'
90
+ + builtin-add: refactor the meat of interactive_add()
91
+ + Add a small patch-mode testing library
92
+ + git-apply--interactive: Refactor patch mode code
93
+ (this branch uses js/stash-dwim.)
94
+
95
+DWIMmery of the two series tightened for safety a few days ago. Otherwise
96
+the same as what have been cooking in 'next' for a few weeks.
97
+
98
+* jc/upload-pack-hook (2009-08-28) 2 commits
99
+ (merged to 'next' on 2009-08-31 at f9933a5)
100
+ + upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
101
+ + upload-pack: add a trigger for post-upload-pack hook
102
+
103
+* jk/clone-b (2009-08-26) 1 commit
104
+ (merged to 'next' on 2009-08-30 at 10a68d1)
105
+ + clone: add --branch option to select a different HEAD
106
+
107
+* jc/mailinfo-scissors (2009-08-26) 5 commits
108
+ (merged to 'next' on 2009-08-30 at 5fc6248)
109
+ + mailinfo.scissors: new configuration
110
+ + am/mailinfo: Disable scissors processing by default
111
+ + Documentation: describe the scissors mark support of "git am"
112
+ + Teach mailinfo to ignore everything before -- >8 -- mark
113
+ + builtin-mailinfo.c: fix confusing internal API to mailinfo()
114
+
115
+I didn't pick up the patch to simplify the definition of scissors. I do
116
+not have strong opinion on it either way, and nobody on the list seemed to
117
+care too much either.
118
+
119
+--------------------------------------------------
120
+[New Topics]
121
+
122
+* cb/maint-1.6.3-grep-relative-up (2009-09-05) 2 commits.
123
+ (merged to 'next' on 2009-09-07 at f9b5b48)
124
+ + grep: accept relative paths outside current working directory
125
+ + grep: fix exit status if external_grep() punts
126
+
127
+1.6.5 material.
128
+
129
+* jk/1.7.0-status (2009-09-05) 5 commits
130
+ - docs: note that status configuration affects only long format
131
+ (merged to 'next' on 2009-09-07 at 8a7c563)
132
+ + commit: support alternate status formats
133
+ + status: add --porcelain output format
134
+ + status: refactor format option parsing
135
+ + status: refactor short-mode printing to its own function
136
+ (this branch uses jc/1.7.0-status.)
137
+
138
+Gives the --short output format to post 1.7.0 "git commit --dry-run" that
139
+is similar to that of post 1.7.0 "git status".
140
+
141
+It might be a good idea to make the --short format part of 1.6.6 without
142
+waiting for 1.7.0; it would require some branch shuffling to bring the
143
+short-status patch earlier than the one that makes "status" different from
144
+"commit --dry-run", though.
145
+
146
+* jk/unwanted-advices (2009-09-06) 2 commits
147
+ - status: make "how to stage" messages optional
148
+ - push: make non-fast-forward help message configurable
149
+
150
+Post 1.3.0 "newbie friendliness drive" introduced a lot of "helpful"
151
+advice messages that are sometimes found to be irritating once the user
152
+got used to working with git. This series introduces a general mechanism
153
+to allow us to make them less loud using the config mechanism. The config
154
+option hierarchy in these two are "message.*" but it is planned to be
155
+renamed to "advice.*".
156
+
157
+* jn/gitweb-show-size (2009-09-07) 1 commit
158
+ - gitweb: Add 'show-sizes' feature to show blob sizes in tree view
159
+
160
+* jt/pushinsteadof (2009-09-07) 2 commits
161
+ - Add url.<base>.pushInsteadOf: URL rewriting for push only
162
+ - Wrap rewrite globals in a struct in preparation for adding another set
163
+
164
+Probably 1.6.5 material.
165
+
166
+* lt/maint-traverse-trees-fix (2009-09-06) 1 commit.
167
+ - Prepare 'traverse_trees()' for D/F conflict lookahead
168
+
169
+Beginning of the fix to a rather nasty longstanding issue of merging trees
170
+with ("a" "a-b"), ("a/b" "a-b") and just ("a-b").
171
+
172
+* ne/rev-cache (2009-09-07) 7 commits
173
+ . support for commit grafts, slight change to general mechanism
174
+ . support for path name caching in rev-cache
175
+ . full integration of rev-cache into git, completed test suite
176
+ . administrative functions for rev-cache, start of integration into git
177
+ . support for non-commit object caching in rev-cache
178
+ . basic revision cache system, no integration or features
179
+ . man page and technical discussion for rev-cache
180
+
181
+Replaced but I do not think this is ready for 'pu' yet.
182
+
183
+--------------------------------------------------
184
+[Stalled]
185
+
186
+* jh/notes (2009-08-27) 12 commits.
187
+ - Add '%N'-format for pretty-printing commit notes
188
+ - Add flags to get_commit_notes() to control the format of the note string
189
+ - notes.c: Implement simple memory pooling of leaf nodes
190
+ - Selftests verifying semantics when loading notes trees with various fanouts
191
+ - Teach the notes lookup code to parse notes trees with various fanout schemes
192
+ - t3302-notes-index-expensive: Speed up create_repo()
193
+ - fast-import: Add support for importing commit notes
194
+ - Teach "-m <msg>" and "-F <file>" to "git notes edit"
195
+ - Add an expensive test for git-notes
196
+ - Speed up git notes lookup
197
+ - Add a script to edit/inspect notes
198
+ - Introduce commit notes
199
+
200
+I heard the cvs-helper series depends on this one. It seems that the
201
+fan-out strategy is being rethought?
202
+
203
+* je/send-email-no-subject (2009-08-05) 1 commit
204
+ (merged to 'next' on 2009-08-30 at b6455c2)
205
+ + send-email: confirm on empty mail subjects
206
+
207
+The existing tests to covers the positive case (i.e. as long as the user
208
+says "yes" to the "do you really want to send this message that lacks
209
+subject", the message is sent) of this feature, but the feature itself
210
+needs its own test to verify the negative case (i.e. does it correctly
211
+stop if the user says "no"?)
212
+
213
+* db/vcs-helper (2009-09-03) 16 commits
214
+ - Allow helpers to report in "list" command that the ref is unchanged
215
+ - Add support for "import" helper command
216
+ - Add a config option for remotes to specify a foreign vcs
217
+ - Allow programs to not depend on remotes having urls
218
+ - Allow fetch to modify refs
219
+ - Use a function to determine whether a remote is valid
220
+ - Use a clearer style to issue commands to remote helpers
221
+ - Make the "traditionally-supported" URLs a special case
222
+ (merged to 'next' on 2009-08-07 at f3533ba)
223
+ + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
224
+ + Makefile: do not link three copies of git-remote-* programs
225
+ + Makefile: git-http-fetch does not need expat
226
+ (merged to 'next' on 2009-08-06 at 15da79d)
227
+ + http-fetch: Fix Makefile dependancies
228
+ + Add transport native helper executables to .gitignore
229
+ (merged to 'next' on 2009-08-05 at 33d491e)
230
+ + git-http-fetch: not a builtin
231
+ + Use an external program to implement fetching with curl
232
+ + Add support for external programs for handling native fetches
233
+ (this branch is used by jh/cvs-helper.)
234
+
235
+I'd really want to have this in 1.6.5 so that we can eject -lcurl from the
236
+main "git" binary. The patches in 'pu' got some review comments, and I
237
+thought Daniel's responses were sensible. Comments?
238
+
239
+* jh/cvs-helper (2009-08-18) 8 commits
240
+ - More fixes to the git-remote-cvs installation procedure
241
+ - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
242
+ - Add simple selftests of git-remote-cvs functionality
243
+ - git-remote-cvs: Remote helper program for CVS repositories
244
+ - 2/2: Add Python support library for CVS remote helper
245
+ - 1/2: Add Python support library for CVS remote helper
246
+ - Basic build infrastructure for Python scripts
247
+ - Allow helpers to request marks for fast-import
248
+ (this branch uses db/vcs-helper.)
249
+
250
+Builds on db/vcs-helper. There is a re-roll planned.
251
+
252
+* cc/sequencer-rebase-i (2009-08-28) 15 commits
253
+ - rebase -i: use "git sequencer--helper --cherry-pick"
254
+ - sequencer: add "--cherry-pick" option to "git sequencer--helper"
255
+ - sequencer: add "do_commit()" and related functions working on "next_commit"
256
+ - pick: libify "pick_help_msg()"
257
+ - revert: libify cherry-pick and revert functionnality
258
+ - rebase -i: use "git sequencer--helper --fast-forward"
259
+ - sequencer: let "git sequencer--helper" callers set "allow_dirty"
260
+ - sequencer: add "--fast-forward" option to "git sequencer--helper"
261
+ - sequencer: add "do_fast_forward()" to perform a fast forward
262
+ - rebase -i: use "git sequencer--helper --reset-hard"
263
+ - sequencer: add "--reset-hard" option to "git sequencer--helper"
264
+ - sequencer: add "reset_almost_hard()" and related functions
265
+ - rebase -i: use "git sequencer--helper --make-patch"
266
+ - sequencer: add "make_patch" function to save a patch
267
+ - sequencer: add "builtin-sequencer--helper.c"
268
+
269
+Migrating "rebase -i" bit by bit to C.
270
+Not a 1.6.5 material yet.
271
+
272
+--------------------------------------------------
273
+[Cooking]
274
+
275
+* pk/fast-import-tars (2009-09-03) 1 commit
276
+ (merged to 'next' on 2009-09-07 at 8fbf027)
277
+ + import-tars: Allow per-tar author and commit message.
278
+
279
+* jc/maint-1.6.0-blank-at-eof (2009-09-05) 10 commits.
280
+ (merged to 'next' on 2009-09-07 at 165dc3c)
281
+ + core.whitespace: split trailing-space into blank-at-{eol,eof}
282
+ + diff --color: color blank-at-eof
283
+ + diff --whitespace=warn/error: fix blank-at-eof check
284
+ + diff --whitespace=warn/error: obey blank-at-eof
285
+ + diff.c: the builtin_diff() deals with only two-file comparison
286
+ + apply --whitespace: warn blank but not necessarily empty lines at EOF
287
+ + apply --whitespace=warn/error: diagnose blank at EOF
288
+ + apply.c: split check_whitespace() into two
289
+ + apply --whitespace=fix: detect new blank lines at eof correctly
290
+ + apply --whitespace=fix: fix handling of blank lines at the eof
291
+
292
+Hopefully in 1.6.5
293
+
294
+* pk/fast-import-dirs (2009-09-03) 1 commit
295
+ (merged to 'next' on 2009-09-07 at 836cba2)
296
+ + Add script for importing bits-and-pieces to Git.
297
+
298
+With an updated key-value quoting rules, which I haven't carefully looked
299
+at. I have to wonder if there are standard libraries to do this sort of
300
+thing without having to hand-roll these logic every time. But perhaps I
301
+shouldn't be too picky on contrib/ material.
302
+
303
+* jn/gitweb-blame (2009-09-01) 5 commits
304
+ - gitweb: Minify gitweb.js if JSMIN is defined
305
+ - gitweb: Create links leading to 'blame_incremental' using JavaScript
306
+ (merged to 'next' on 2009-09-07 at 3622199)
307
+ + gitweb: Colorize 'blame_incremental' view during processing
308
+ + gitweb: Incremental blame (using JavaScript)
309
+ + gitweb: Add optional "time to generate page" info in footer
310
+
311
+Ajax-y blame.
312
+
313
+* sr/gfi-options (2009-09-06) 6 commits
314
+ (merged to 'next' on 2009-09-07 at 5f6b0ff)
315
+ + fast-import: test the new option command
316
+ + fast-import: add option command
317
+ + fast-import: test the new feature command
318
+ + fast-import: add feature command
319
+ + fast-import: put marks reading in it's own function
320
+ + fast-import: put option parsing code in separate functions
321
+
322
+Perhaps 1.6.5 material but I wasn't sure.
323
+
324
+* nd/sparse (2009-08-20) 19 commits
325
+ - sparse checkout: inhibit empty worktree
326
+ - Add tests for sparse checkout
327
+ - read-tree: add --no-sparse-checkout to disable sparse checkout support
328
+ - unpack-trees(): ignore worktree check outside checkout area
329
+ - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
330
+ - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
331
+ - unpack-trees.c: generalize verify_* functions
332
+ - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
333
+ - Introduce "sparse checkout"
334
+ - dir.c: export excluded_1() and add_excludes_from_file_1()
335
+ - excluded_1(): support exclude files in index
336
+ - unpack-trees(): carry skip-worktree bit over in merged_entry()
337
+ - Read .gitignore from index if it is skip-worktree
338
+ - Avoid writing to buffer in add_excludes_from_file_1()
339
+ - Teach Git to respect skip-worktree bit (writing part)
340
+ - Teach Git to respect skip-worktree bit (reading part)
341
+ - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
342
+ - Add test-index-version
343
+ - update-index: refactor mark_valid() in preparation for new options
344
+
345
+--------------------------------------------------
346
+[For 1.7.0]
347
+
348
+* jc/1.7.0-status (2009-09-05) 4 commits
349
+ (merged to 'next' on 2009-09-06 at 19d4beb)
350
+ + status: typo fix in usage
351
+ (merged to 'next' on 2009-08-22 at b3507bb)
352
+ + git status: not "commit --dry-run" anymore
353
+ + git stat -s: short status output
354
+ + git stat: the beginning of "status that is not a dry-run of commit"
355
+ (this branch is used by jk/1.7.0-status.)
356
+
357
+With this, "git status" is no longer "git commit --dry-run".
358
+
359
+* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
360
+ (merged to 'next' on 2009-08-22 at 5106de8)
361
+ + send-email: make --no-chain-reply-to the default
362
+
363
+* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
364
+ (merged to 'next' on 2009-08-30 at 0623572)
365
+ + diff.c: fix typoes in comments
366
+ (merged to 'next' on 2009-08-27 at 81fb2bd)
367
+ + Make test case number unique
368
+ (merged to 'next' on 2009-08-02 at 9c08420)
369
+ + diff: Rename QUIET internal option to QUICK
370
+ + diff: change semantics of "ignore whitespace" options
371
+
372
+This changes exit code from "git diff --ignore-whitespace" and friends
373
+when there is no actual output. It is a backward incompatible change, but
374
+we could argue that it is a bugfix.
375
+
376
+* jc/1.7.0-push-safety (2009-02-09) 2 commits
377
+ (merged to 'next' on 2009-08-02 at 38b82fe)
378
+ + Refuse deleting the current branch via push
379
+ + Refuse updating the current branch in a non-bare repository via push
380
+
381
+--------------------------------------------------
382
+[I have been too busy to purge these]
383
+
384
+* jc/log-tz (2009-03-03) 1 commit.
385
+ - Allow --date=local --date=other-format to work as expected
386
+
387
+Maybe some people care about this. I dunno.
388
+
389
+* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
390
+ - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
391
+
392
+Maybe some people care about this. I dunno.
393
+
394
+* lt/read-directory (2009-05-15) 3 commits.
395
+ . Add initial support for pathname conversion to UTF-8
396
+ . read_directory(): infrastructure for pathname character set conversion
397
+ . Add 'fill_directory()' helper function for directory traversal