What's cooking
Junio C Hamano committed
Nov 25, 2009 at 16:50 UTC
9cc88f9dd1db87c0560e810ffae0b82515aef2a1
1 file changed
+426
whats/cooking/2009/11/06.txt
new
+426
@@ -0,0 +1,426 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Nov 2009, #06; Wed, 25)
3
+X-master-at: ad7ace714d353ef49045bc37c1363e8fc904792d
4
+X-next-at: 71380f5fbda0088bc2b94876e2a3b3bf74d6651f
5
+
6
+What's cooking in git.git (Nov 2009, #06; Wed, 25)
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 planned 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
+ * "git diff -w/-b" won't even produce "diff --git" header when all changes
55
+ are about whitespaces.
56
+
57
+ http://thread.gmane.org/gmane.comp.version-control.git/133256
58
+
59
+--------------------------------------------------
60
+[Graduated to "master"]
61
+
62
+* bg/fetch-multi (2009-11-10) 9 commits.
63
+ (merged to 'next' on 2009-11-21 at 282f464)
64
+ + Re-implement 'git remote update' using 'git fetch'
65
+ + builtin-fetch: add --dry-run option
66
+ + builtin-fetch: add --prune option
67
+ + teach warn_dangling_symref to take a FILE argument
68
+ + remote: refactor some logic into get_stale_heads()
69
+ + Add missing test for 'git remote update --prune'
70
+ + Add the configuration option skipFetchAll
71
+ + Teach the --multiple option to 'git fetch'
72
+ + Teach the --all option to 'git fetch'
73
+
74
+* bg/apply-doc (2009-11-22) 4 commits
75
+ (merged to 'next' on 2009-11-22 at b42fece)
76
+ + apply: Use the term "working tree" consistently
77
+ + apply: Format all options using back-quotes
78
+ + apply: apply works outside a repository
79
+ + Clarify and correct -z
80
+
81
+* cc/replace (2009-11-19) 3 commits
82
+ (merged to 'next' on 2009-11-21 at 2aaf84b)
83
+ + Documentation: talk a little bit about GIT_NO_REPLACE_OBJECTS
84
+ + Documentation: fix typos and spelling in replace documentation
85
+ + replace: use a GIT_NO_REPLACE_OBJECTS env variable
86
+
87
+* mm/maint-hint-failed-merge (2009-11-22) 2 commits.
88
+ (merged to 'next' on 2009-11-22 at c0f64c2)
89
+ + user-manual: Document that "git merge" doesn't like uncommited changes.
90
+ + merge-recursive: point the user to commit when file would be overwritten.
91
+
92
+* rj/maint-cygwin-count-objects (2009-11-19) 2 commits.
93
+ (merged to 'next' on 2009-11-22 at 4ba5880)
94
+ + ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)
95
+ + git-count-objects: Fix a disk-space under-estimate on Cygwin
96
+
97
+* rs/color-escape-has-zero-width (2009-11-23) 1 commit
98
+ + Teach %w() that color escape codes have zero width
99
+
100
+* jc/log-stdin (2009-11-23) 5 commits
101
+ (merged to 'next' on 2009-11-23 at ea71363)
102
+ + Add trivial tests for --stdin option to log family
103
+ (merged to 'next' on 2009-11-21 at c3e2e52)
104
+ + Make --stdin option to "log" family read also pathspecs
105
+ + setup_revisions(): do not call get_pathspec() too early
106
+ + Teach --stdin option to "log" family
107
+ + read_revision_from_stdin(): use strbuf
108
+
109
+* mr/gitweb-snapshot (2009-11-07) 4 commits.
110
+ (merged to 'next' on 2009-11-21 at e825ad9)
111
+ + gitweb: Smarter snapshot names
112
+ + gitweb: Document current snapshot rules via new tests
113
+ + t/gitweb-lib.sh: Split gitweb output into headers and body
114
+ (merged to 'next' on 2009-10-11 at 22ba047)
115
+ + gitweb: check given hash before trying to create snapshot
116
+
117
+* rs/work-around-grep-opt-insanity (2009-11-23) 2 commits.
118
+ (merged to 'next' on 2009-11-25 at bf972d8)
119
+ + Protect scripted Porcelains from GREP_OPTIONS insanity
120
+ + mergetool--lib: simplify guess_merge_tool()
121
+
122
+--------------------------------------------------
123
+[New Topics]
124
+
125
+* jc/botched-maint-cygwin-count-objects (2009-11-24) 2 commits
126
+ (merged to 'next' on 2009-11-25 at 8aa62a0)
127
+ + Revert "ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)"
128
+ (merged to 'next' on 2009-11-22 at 4ba5880)
129
+ + ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)
130
+
131
+This is a revert of the tip one I merged prematurely to 'next'. The real
132
+fix from Ramsay is already in 'master'.
133
+
134
+* jc/grep-full-tree (2009-11-24) 1 commit.
135
+ - grep: --full-tree
136
+
137
+We probably would want test, doc and a configuration variable to make it
138
+default (or non-default) before we can merge it to 'master'.
139
+
140
+* uk/maint-shortlog-encoding (2009-11-25) 1 commit.
141
+ - shortlog: respect commit encoding
142
+
143
+The fix is a maint material but the patch was against next, so I
144
+back-rebased it myself. I tried to be careful but please double check the
145
+result.
146
+
147
+Perhaps merge it to 'master' before 1.6.6-rc1?
148
+
149
+--------------------------------------------------
150
+[Stalled]
151
+
152
+* je/send-email-no-subject (2009-08-05) 1 commit.
153
+ (merged to 'next' on 2009-10-11 at 1b99c56)
154
+ + send-email: confirm on empty mail subjects
155
+
156
+The existing tests cover the positive case (i.e. as long as the user says
157
+"yes" to the "do you really want to send this message that lacks subject",
158
+the message is sent) of this feature, but the feature itself needs its own
159
+test to verify the negative case (i.e. does it correctly stop if the user
160
+says "no"?)
161
+
162
+* fc/send-email-envelope (2009-11-22) 1 commit.
163
+ - t9001: test --envelope-sender option of send-email
164
+
165
+The new feature itself looked promising; this is just an unrelated test
166
+patch.
167
+
168
+* jn/rfc-pull-rebase-error-message (2009-11-12) 1 commit
169
+ - git-pull.sh --rebase: overhaul error handling when no candidates are found
170
+
171
+I heard this needs at least retitling among other changes?
172
+
173
+* sr/vcs-helper (2009-11-18) 12 commits
174
+ - Add Python support library for remote helpers
175
+ - Basic build infrastructure for Python scripts
176
+ - Allow helpers to report in "list" command that the ref is unchanged
177
+ - Fix various memory leaks in transport-helper.c
178
+ - Allow helper to map private ref names into normal names
179
+ - Add support for "import" helper command
180
+ - Allow specifying the remote helper in the url
181
+ - Add a config option for remotes to specify a foreign vcs
182
+ - Allow fetch to modify refs
183
+ - Use a function to determine whether a remote is valid
184
+ - Allow programs to not depend on remotes having urls
185
+ - Fix memory leak in helper method for disconnect
186
+
187
+Replaced again, and looking good. Perhaps Daniel has some comments?
188
+
189
+* jh/notes (2009-11-20) 10 commits
190
+ - Add more testcases to test fast-import of notes
191
+ - Rename t9301 to t9350, to make room for more fast-import tests
192
+ - fast-import: Proper notes tree manipulation using the notes API
193
+ - Refactor notes concatenation into a flexible interface for combining notes
194
+ - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
195
+ - Notes API: for_each_note(): Traverse the entire notes tree with a callback
196
+ - Notes API: get_note(): Return the note annotating the given object
197
+ - Notes API: add_note(): Add note objects to the internal notes tree structure
198
+ - Notes API: init_notes(): Initialize the notes tree from the given notes ref
199
+ - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
200
+
201
+Johan waits for an Ack from Shawn on "fast-import" one.
202
+
203
+* tr/maint-merge-ours-clarification (2009-11-15) 1 commit
204
+ (merged to 'next' on 2009-11-21 at fadaf7b)
205
+ + rebase: refuse to rebase with -s ours
206
+
207
+I do not think we reached a concensus for solving conflicts between "give
208
+them rope" and "protect users from clearly meaningless combinations". The
209
+author obviously is for the latter (and I am inclined to agree); Dscho
210
+seems to think otherwise.
211
+
212
+* jc/fix-tree-walk (2009-10-22) 8 commits
213
+ (merged to 'next' on 2009-10-22 at 10c0c8f)
214
+ + Revert failed attempt since 353c5ee
215
+ + read-tree --debug-unpack
216
+ (merged to 'next' on 2009-10-11 at 0b058e2)
217
+ + unpack-trees.c: look ahead in the index
218
+ + unpack-trees.c: prepare for looking ahead in the index
219
+ + Aggressive three-way merge: fix D/F case
220
+ + traverse_trees(): handle D/F conflict case sanely
221
+ + more D/F conflict tests
222
+ + tests: move convenience regexp to match object names to test-lib.sh
223
+
224
+This has some stupid bugs and reverted from 'next' until I can fix it, but
225
+the "temporarily" turned out to be very loooong. Sigh...
226
+
227
+* sr/gfi-options (2009-09-06) 6 commits.
228
+ - fast-import: test the new option command
229
+ - fast-import: add option command
230
+ - fast-import: test the new feature command
231
+ - fast-import: add feature command
232
+ - fast-import: put marks reading in it's own function
233
+ - fast-import: put option parsing code in separate functions
234
+
235
+Sverre is working on a re-roll to address comments from Shawn.
236
+
237
+--------------------------------------------------
238
+[Cooking]
239
+
240
+* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
241
+ (merged to 'next' on 2009-11-25 at 09d498f)
242
+ + mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
243
+
244
+Jim Meyering sent a patch to do a subset of what this does; to allow
245
+keeping '[SECURITY]' when the subject says '[SECURITY][PATCH]', you need
246
+to also teach "am" to pass the new -b option, but that is independent of
247
+what Jim showed the need in real-world, so I think this can go in as-is.
248
+
249
+Perhaps merge it to 'master' before 1.6.6-rc1?
250
+
251
+* jc/checkout-merge-base (2009-11-20) 2 commits
252
+ - "rebase --onto A...B" replays history on the merge base between A and B
253
+ - "checkout A...B" switches to the merge base between A and B
254
+
255
+I've been using the first one for a while myself but do not see many users
256
+want this (yet); the new feature is not urgent anyway.
257
+
258
+* tr/reset-checkout-patch (2009-11-19) 1 commit.
259
+ (merged to 'next' on 2009-11-22 at b224950)
260
+ + {checkout,reset} -p: make patch direction configurable
261
+
262
+I do not particularly like a configuration like this that changes the
263
+behaviour of a command in a drastic way---it will make helping others much
264
+harder.
265
+
266
+Perhaps merge it to 'master' before 1.6.6-rc1?
267
+
268
+* jn/gitweb-blame (2009-11-24) 8 commits.
269
+ (merged to 'next' on 2009-11-25 at 0a5b649)
270
+ + gitweb.js: fix padLeftStr() and its usage
271
+ + gitweb.js: Harden setting blamed commit info in incremental blame
272
+ + gitweb.js: fix null object exception in initials calculation
273
+ + gitweb: Minify gitweb.js if JSMIN is defined
274
+ + gitweb: Create links leading to 'blame_incremental' using JavaScript
275
+ (merged to 'next' on 2009-10-11 at 73c4a83)
276
+ + gitweb: Colorize 'blame_incremental' view during processing
277
+ + gitweb: Incremental blame (using JavaScript)
278
+ + gitweb: Add optional "time to generate page" info in footer
279
+
280
+Ajax-y blame, with further fixes. As this does not seem to break existing
281
+features, I am inclined to say that we push this out early, as a new
282
+feature with known breakages, to give it wider audience.
283
+
284
+* em/commit-claim (2009-11-04) 1 commit
285
+ (merged to 'next' on 2009-11-23 at b5df6fd)
286
+ + commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author
287
+
288
+I am not sure if the option name does a good job at explaining it to the
289
+end users, but I think the code and feature is solid.
290
+
291
+Perhaps merge it to 'master' before 1.6.6-rc1?
292
+
293
+* cc/bisect-doc (2009-11-08) 1 commit
294
+ - Documentation: add "Fighting regressions with git bisect" article
295
+
296
+Nobody seems to think this should go to Documentation/technical instead,
297
+so unless I hear otherwise, we will have it as-is in 'next' shortly.
298
+
299
+Perhaps merge it to 'master' before 1.6.6-rc1?
300
+
301
+* nd/sparse (2009-11-25) 20 commits.
302
+ (merged to 'next' on 2009-11-25 at 71380f5)
303
+ + tests: rename duplicate t1009
304
+ (merged to 'next' on 2009-11-23 at f712a41)
305
+ + sparse checkout: inhibit empty worktree
306
+ + Add tests for sparse checkout
307
+ + read-tree: add --no-sparse-checkout to disable sparse checkout support
308
+ + unpack-trees(): ignore worktree check outside checkout area
309
+ + unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
310
+ + unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
311
+ + unpack-trees.c: generalize verify_* functions
312
+ + unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
313
+ + Introduce "sparse checkout"
314
+ + dir.c: export excluded_1() and add_excludes_from_file_1()
315
+ + excluded_1(): support exclude files in index
316
+ + unpack-trees(): carry skip-worktree bit over in merged_entry()
317
+ + Read .gitignore from index if it is skip-worktree
318
+ + Avoid writing to buffer in add_excludes_from_file_1()
319
+ + Teach Git to respect skip-worktree bit (writing part)
320
+ + Teach Git to respect skip-worktree bit (reading part)
321
+ + Introduce "skip-worktree" bit in index, teach Git to get/set this bit
322
+ + Add test-index-version
323
+ + update-index: refactor mark_valid() in preparation for new options
324
+
325
+* jc/pretty-lf (2009-10-04) 1 commit.
326
+ - Pretty-format: %[+-]x to tweak inter-item newlines
327
+
328
+Perhaps drop the "%-x" part and merge it to 'next' and to 'master' before
329
+1.6.6?
330
+
331
+--------------------------------------------------
332
+[For 1.7.0]
333
+
334
+* jk/1.7.0-status (2009-09-05) 5 commits.
335
+ (merged to 'next' on 2009-11-21 at 884bb56)
336
+ + docs: note that status configuration affects only long format
337
+ (merged to 'next' on 2009-10-11 at 65c8513)
338
+ + commit: support alternate status formats
339
+ + status: add --porcelain output format
340
+ + status: refactor format option parsing
341
+ + status: refactor short-mode printing to its own function
342
+ (this branch uses jc/1.7.0-status.)
343
+
344
+Gives the --short output format to post 1.7.0 "git commit --dry-run" that
345
+is similar to that of post 1.7.0 "git status".
346
+
347
+* jc/1.7.0-status (2009-09-05) 4 commits.
348
+ (merged to 'next' on 2009-10-11 at 9558627)
349
+ + status: typo fix in usage
350
+ + git status: not "commit --dry-run" anymore
351
+ + git stat -s: short status output
352
+ + git stat: the beginning of "status that is not a dry-run of commit"
353
+ (this branch is used by jk/1.7.0-status.)
354
+
355
+With this, "git status" is no longer "git commit --dry-run".
356
+
357
+* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
358
+ (merged to 'next' on 2009-10-11 at 043acdf)
359
+ + send-email: make --no-chain-reply-to the default
360
+
361
+* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
362
+ (merged to 'next' on 2009-10-11 at 546c74d)
363
+ + diff.c: fix typoes in comments
364
+ + Make test case number unique
365
+ + diff: Rename QUIET internal option to QUICK
366
+ + diff: change semantics of "ignore whitespace" options
367
+
368
+This changes exit code from "git diff --ignore-whitespace" and friends
369
+when there is no actual output. It is a backward incompatible change, but
370
+we could argue that it is a bugfix.
371
+
372
+* gb/1.7.0-diff-whitespace-only-outout (2009-11-19) 1 commit
373
+ (merged to 'next' on 2009-11-21 at 3375bf4)
374
+ + No diff -b/-w output for all-whitespace changes
375
+
376
+* jc/1.7.0-push-safety (2009-02-09) 2 commits.
377
+ (merged to 'next' on 2009-10-11 at 81b8128)
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/1.7.0-no-commit-no-ff-2 (2009-10-22) 1 commit.
390
+ . git-merge: forbid fast-forward and up-to-date when --no-commit is given
391
+
392
+This makes "git merge --no-commit" fail when it results in fast-forward or
393
+up-to-date. It appears nobody wants to have this, so I dropped it.
394
+
395
+* ne/rev-cache (2009-10-19) 7 commits.
396
+ . support for commit grafts, slight change to general mechanism
397
+ . support for path name caching in rev-cache
398
+ . full integration of rev-cache into git, completed test suite
399
+ . administrative functions for rev-cache, start of integration into git
400
+ . support for non-commit object caching in rev-cache
401
+ . basic revision cache system, no integration or features
402
+ . man page and technical discussion for rev-cache
403
+
404
+The author indicated that there is another round coming. Does not seem to
405
+pass the tests when merged to 'pu', so it has been ejected for now.
406
+
407
+* pb/gitweb-no-project-list (2009-11-06) 3 commits.
408
+ . gitweb: Polish the content tags support
409
+ . gitweb: Support for no project list on gitweb front page
410
+ . gitweb: Refactor project list routines
411
+
412
+I picked these up but didn't queue as Warthog9's comments made certain
413
+amount of sense to me.
414
+
415
+* ks/precompute-completion (2009-11-15) 4 commits.
416
+ (merged to 'next' on 2009-11-15 at 23cdb96)
417
+ + Revert ks/precompute-completion series
418
+ (merged to 'next' on 2009-10-28 at cd5177f)
419
+ + completion: ignore custom merge strategies when pre-generating
420
+ (merged to 'next' on 2009-10-22 at f46a28a)
421
+ + bug: precomputed completion includes scripts sources
422
+ (merged to 'next' on 2009-10-14 at adf722a)
423
+ + Speedup bash completion loading
424
+
425
+Reverted out of 'next', to be replaced with jn/faster-completion-startup
426
+topic.