What's cooking
Junio C Hamano committed
Dec 1, 2009 at 14:06 UTC
a9efec44fe0026df5f617a9f8997bed983944ca0
1 file changed
+429
whats/cooking/2009/12/01.txt
new
+429
@@ -0,0 +1,429 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Dec 2009, #01; Tue, 01)
3
+X-master-at: c86485dd15d54fc6ff2cd0dda3b2a9faa4f2d66e
4
+X-next-at: e913581093e7da8bef58b143c6da65c845d9fea3
5
+
6
+What's cooking in git.git (Dec 2009, #01; Tue, 01)
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
+* fc/maint-format-patch-pathspec-dashes (2009-11-26) 2 commits.
63
+ + format-patch: add test for parsing of "--"
64
+ + format-patch: fix parsing of "--" on the command line
65
+
66
+* bw/diff-color-hunk-header (2009-11-27) 2 commits
67
+ (merged to 'next' on 2009-11-29 at c446977)
68
+ + Give the hunk comment its own color
69
+ (merged to 'next' on 2009-11-27 at 42ab131)
70
+ + emit_line(): don't emit an empty <SET><RESET> followed by a newline
71
+
72
+* jc/maint-am-keep (2009-11-27) 1 commit.
73
+ (merged to 'next' on 2009-11-27 at 7663874)
74
+ + Remove dead code from "git am"
75
+
76
+* ns/send-email-no-chain-reply-to (2009-11-29) 1 commit
77
+ + prepare send-email for smoother change of --chain-reply-to default
78
+ (this branch is used by ns/1.7.0-send-email-no-chain-reply-to.)
79
+
80
+This starts warning about the change to --no-chain-reply-to
81
+in 1.7.0 for smoother transition.
82
+
83
+* uk/maint-shortlog-encoding (2009-11-25) 1 commit.
84
+ - shortlog: respect commit encoding
85
+
86
+* fc/send-email-envelope (2009-11-26) 2 commits.
87
+ (merged to 'next' on 2009-11-27 at 2d0257d)
88
+ + send-email: automatic envelope sender
89
+ + t9001: test --envelope-sender option of send-email
90
+
91
+* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
92
+ (merged to 'next' on 2009-11-25 at 09d498f)
93
+ + mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
94
+
95
+Jim Meyering sent a patch to do a subset of what this does; to allow
96
+keeping '[SECURITY]' when the subject says '[SECURITY][PATCH]', you need
97
+to also teach "am" to pass the new -b option, but that is independent of
98
+what Jim showed the need in real-world, so I think this can go in as-is.
99
+
100
+* jn/gitweb-blame (2009-11-24) 8 commits.
101
+ (merged to 'next' on 2009-11-25 at 0a5b649)
102
+ + gitweb.js: fix padLeftStr() and its usage
103
+ + gitweb.js: Harden setting blamed commit info in incremental blame
104
+ + gitweb.js: fix null object exception in initials calculation
105
+ + gitweb: Minify gitweb.js if JSMIN is defined
106
+ + gitweb: Create links leading to 'blame_incremental' using JavaScript
107
+ (merged to 'next' on 2009-10-11 at 73c4a83)
108
+ + gitweb: Colorize 'blame_incremental' view during processing
109
+ + gitweb: Incremental blame (using JavaScript)
110
+ + gitweb: Add optional "time to generate page" info in footer
111
+
112
+With two more changes to disable this by default to make it
113
+suitable as "new feature with known breakages" for 1.6.6
114
+
115
+* em/commit-claim (2009-11-04) 1 commit
116
+ (merged to 'next' on 2009-11-23 at b5df6fd)
117
+ + commit -c/-C/--amend: reset timestamp and authorship to committer with --reset-author
118
+
119
+* cc/bisect-doc (2009-11-08) 1 commit
120
+ (merged to 'next' on 2009-11-27 at c46d648)
121
+ + Documentation: add "Fighting regressions with git bisect" article
122
+
123
+* jc/pretty-lf (2009-10-04) 1 commit.
124
+ (merged to 'next' on 2009-11-27 at 73651c4)
125
+ + Pretty-format: %[+-]x to tweak inter-item newlines
126
+
127
+--------------------------------------------------
128
+[New Topics]
129
+
130
+* ap/merge-backend-opts (2008-07-18) 6 commits
131
+ - Document that merge strategies can now take their own options
132
+ - Extend merge-subtree tests to test -Xsubtree=dir.
133
+ - Make "subtree" part more orthogonal to the rest of merge-recursive.
134
+ - Teach git-pull to pass -X<option> to git-merge
135
+ - git merge -X<option>
136
+ - git-merge-file --ours, --theirs
137
+
138
+"git pull" patch needs sq-then-eval fix but otherwise seemed good.
139
+
140
+* mo/bin-wrappers (2009-11-29) 3 commits
141
+ - INSTALL: document a simpler way to run uninstalled builds
142
+ - run test suite without dashed git-commands in PATH
143
+ - build dashless "bin-wrappers" directory similar to installed bindir
144
+
145
+--------------------------------------------------
146
+[Stalled]
147
+
148
+* je/send-email-no-subject (2009-08-05) 1 commit.
149
+ (merged to 'next' on 2009-10-11 at 1b99c56)
150
+ + send-email: confirm on empty mail subjects
151
+
152
+The existing tests cover the positive case (i.e. as long as the user says
153
+"yes" to the "do you really want to send this message that lacks subject",
154
+the message is sent) of this feature, but the feature itself needs its own
155
+test to verify the negative case (i.e. does it correctly stop if the user
156
+says "no"?)
157
+
158
+* jn/rfc-pull-rebase-error-message (2009-11-12) 1 commit
159
+ - git-pull.sh --rebase: overhaul error handling when no candidates are found
160
+
161
+I heard this needs at least retitling among other changes?
162
+
163
+* jh/notes (2009-11-20) 10 commits
164
+ - Add more testcases to test fast-import of notes
165
+ - Rename t9301 to t9350, to make room for more fast-import tests
166
+ - fast-import: Proper notes tree manipulation using the notes API
167
+ - Refactor notes concatenation into a flexible interface for combining notes
168
+ - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
169
+ - Notes API: for_each_note(): Traverse the entire notes tree with a callback
170
+ - Notes API: get_note(): Return the note annotating the given object
171
+ - Notes API: add_note(): Add note objects to the internal notes tree structure
172
+ - Notes API: init_notes(): Initialize the notes tree from the given notes ref
173
+ - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
174
+
175
+Johan waits for an Ack from Shawn on "fast-import" one.
176
+
177
+* tr/maint-merge-ours-clarification (2009-11-15) 1 commit
178
+ (merged to 'next' on 2009-11-21 at fadaf7b)
179
+ + rebase: refuse to rebase with -s ours
180
+
181
+I do not think we reached a concensus for solving conflicts between "give
182
+them rope" and "protect users from clearly meaningless combinations". The
183
+author obviously is for the latter (and I am inclined to agree); Dscho
184
+seems to think otherwise.
185
+
186
+* jc/fix-tree-walk (2009-10-22) 8 commits
187
+ (merged to 'next' on 2009-10-22 at 10c0c8f)
188
+ + Revert failed attempt since 353c5ee
189
+ + read-tree --debug-unpack
190
+ (merged to 'next' on 2009-10-11 at 0b058e2)
191
+ + unpack-trees.c: look ahead in the index
192
+ + unpack-trees.c: prepare for looking ahead in the index
193
+ + Aggressive three-way merge: fix D/F case
194
+ + traverse_trees(): handle D/F conflict case sanely
195
+ + more D/F conflict tests
196
+ + tests: move convenience regexp to match object names to test-lib.sh
197
+
198
+This has some stupid bugs and reverted from 'next' until I can fix it, but
199
+the "temporarily" turned out to be very loooong. Sigh. We won't have a
200
+proper fix in 1.6.6.
201
+
202
+* sr/gfi-options (2009-09-06) 6 commits.
203
+ - fast-import: test the new option command
204
+ - fast-import: add option command
205
+ - fast-import: test the new feature command
206
+ - fast-import: add feature command
207
+ - fast-import: put marks reading in it's own function
208
+ - fast-import: put option parsing code in separate functions
209
+
210
+Sverre is working on a re-roll to address comments from Shawn.
211
+
212
+--------------------------------------------------
213
+[Cooking]
214
+
215
+* tr/http-updates (2009-11-27) 2 commits
216
+ - Add an option for using any HTTP authentication scheme, not only basic
217
+ - http: maintain curl sessions
218
+
219
+It seems that this is still under discussion...
220
+
221
+* jc/diff-whitespace-prepare (2009-11-28) 2 commits
222
+ - diff: flip the default diff.bwoutputonly to true
223
+ - diff: optionally allow traditional "-b/-w affects only output" semantics
224
+ (this branch uses gb/1.7.0-diff-whitespace-only-output and jc/1.7.0-diff-whitespace-only-status; is used by jc/1.7.0-diff-whitespace-prepare.)
225
+
226
+This is to redo the two -b/-w semantic changes to prepare the migration of
227
+existing users before 1.7.0 happens.
228
+
229
+* sr/vcs-helper (2009-11-18) 12 commits
230
+ (merged to 'next' on 2009-11-27 at 83268ab)
231
+ + Add Python support library for remote helpers
232
+ + Basic build infrastructure for Python scripts
233
+ + Allow helpers to report in "list" command that the ref is unchanged
234
+ + Fix various memory leaks in transport-helper.c
235
+ + Allow helper to map private ref names into normal names
236
+ + Add support for "import" helper command
237
+ + Allow specifying the remote helper in the url
238
+ + Add a config option for remotes to specify a foreign vcs
239
+ + Allow fetch to modify refs
240
+ + Use a function to determine whether a remote is valid
241
+ + Allow programs to not depend on remotes having urls
242
+ + Fix memory leak in helper method for disconnect
243
+
244
+Should be among the first to graduate after 1.6.6 final.
245
+
246
+* jc/grep-full-tree (2009-11-24) 1 commit.
247
+ - grep: --full-tree
248
+
249
+The interaction with this option and pathspecs need to be worked out
250
+better. I _think_ "grep --full-tree -e pattern -- '*.h'" should find from
251
+all the header files in the tree, for example.
252
+
253
+* jc/checkout-merge-base (2009-11-20) 2 commits
254
+ - "rebase --onto A...B" replays history on the merge base between A and B
255
+ - "checkout A...B" switches to the merge base between A and B
256
+
257
+I've been using the first one for a while myself but do not see many users
258
+want this (yet); the new feature is not urgent anyway.
259
+
260
+* tr/reset-checkout-patch (2009-11-19) 1 commit.
261
+ (merged to 'next' on 2009-11-22 at b224950)
262
+ + {checkout,reset} -p: make patch direction configurable
263
+
264
+I do not particularly like a configuration like this that changes the
265
+behaviour of a command in a drastic way---it will make helping others
266
+much harder.
267
+
268
+* nd/sparse (2009-11-25) 20 commits.
269
+ (merged to 'next' on 2009-11-25 at 71380f5)
270
+ + tests: rename duplicate t1009
271
+ (merged to 'next' on 2009-11-23 at f712a41)
272
+ + sparse checkout: inhibit empty worktree
273
+ + Add tests for sparse checkout
274
+ + read-tree: add --no-sparse-checkout to disable sparse checkout support
275
+ + unpack-trees(): ignore worktree check outside checkout area
276
+ + unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
277
+ + unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
278
+ + unpack-trees.c: generalize verify_* functions
279
+ + unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
280
+ + Introduce "sparse checkout"
281
+ + dir.c: export excluded_1() and add_excludes_from_file_1()
282
+ + excluded_1(): support exclude files in index
283
+ + unpack-trees(): carry skip-worktree bit over in merged_entry()
284
+ + Read .gitignore from index if it is skip-worktree
285
+ + Avoid writing to buffer in add_excludes_from_file_1()
286
+ + Teach Git to respect skip-worktree bit (writing part)
287
+ + Teach Git to respect skip-worktree bit (reading part)
288
+ + Introduce "skip-worktree" bit in index, teach Git to get/set this bit
289
+ + Add test-index-version
290
+ + update-index: refactor mark_valid() in preparation for new options
291
+
292
+There were some test glitches reported and at least one test seems to
293
+be broken in the sense that it is not testing what it is trying to.
294
+Fix-up expected.
295
+
296
+--------------------------------------------------
297
+[For 1.7.0]
298
+
299
+* jk/1.7.0-status (2009-11-27) 7 commits.
300
+ (merged to 'next' on 2009-11-27 at 91691ec)
301
+ + t7508-status.sh: Add tests for status -s
302
+ + status -s: respect the status.relativePaths option
303
+ (merged to 'next' on 2009-11-21 at 884bb56)
304
+ + docs: note that status configuration affects only long format
305
+ (merged to 'next' on 2009-10-11 at 65c8513)
306
+ + commit: support alternate status formats
307
+ + status: add --porcelain output format
308
+ + status: refactor format option parsing
309
+ + status: refactor short-mode printing to its own function
310
+ (this branch uses jc/1.7.0-status.)
311
+
312
+Gives the --short output format to post 1.7.0 "git commit --dry-run" that
313
+is similar to that of post 1.7.0 "git status".
314
+
315
+Immediately after 1.6.6 while rebuilding 'next', we may want to reorder a
316
+few commits at the tip, as "docs: affects only long format" describes a
317
+limitation that will disappear soon.
318
+
319
+* jc/1.7.0-status (2009-09-05) 4 commits.
320
+ (merged to 'next' on 2009-10-11 at 9558627)
321
+ + status: typo fix in usage
322
+ + git status: not "commit --dry-run" anymore
323
+ + git stat -s: short status output
324
+ + git stat: the beginning of "status that is not a dry-run of commit"
325
+ (this branch is used by jk/1.7.0-status.)
326
+
327
+With this, "git status" is no longer "git commit --dry-run".
328
+
329
+* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
330
+ (merged to 'next' on 2009-10-11 at 043acdf)
331
+ + send-email: make --no-chain-reply-to the default
332
+
333
+As the title says.
334
+
335
+* jc/1.7.0-push-safety (2009-02-09) 2 commits.
336
+ (merged to 'next' on 2009-10-11 at 81b8128)
337
+ + Refuse deleting the current branch via push
338
+ + Refuse updating the current branch in a non-bare repository via push
339
+
340
+* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
341
+ (merged to 'next' on 2009-10-11 at 546c74d)
342
+ + diff.c: fix typoes in comments
343
+ + Make test case number unique
344
+ + diff: Rename QUIET internal option to QUICK
345
+ + diff: change semantics of "ignore whitespace" options
346
+ (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
347
+
348
+This changes exit code from "git diff --ignore-whitespace" and friends
349
+when there is no actual output. It is a backward incompatible change,
350
+and jc/diff-whitespace-prepare topic is meant to ease the transition.
351
+
352
+* gb/1.7.0-diff-whitespace-only-output (2009-11-19) 1 commit
353
+ (merged to 'next' on 2009-11-21 at 3375bf4)
354
+ + No diff -b/-w output for all-whitespace changes
355
+ (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
356
+
357
+Likewise but for the output of "diff --git" headers.
358
+
359
+* jc/1.7.0-diff-whitespace-prepare (2009-11-28) 2 commits
360
+ - diff: disable diff.bwoutputonly warning
361
+ - diff: flip the diff.bwoutputonly default to false
362
+ (this branch uses gb/1.7.0-diff-whitespace-only-output, jc/1.7.0-diff-whitespace-only-status and jc/diff-whitespace-prepare.)
363
+
364
+And this is to actually flip the default and eventually remove the warning.
365
+
366
+* ns/1.7.0-send-email-no-chain-reply-to (2009-08-22) 1 commit
367
+ - send-email: make --no-chain-reply-to the default
368
+
369
+And this is to actually flip the default in 1.7.0.
370
+
371
+
372
+--------------------------------------------------
373
+[Reverted from 'next']
374
+
375
+* jc/botched-maint-cygwin-count-objects (2009-11-24) 2 commits
376
+ (merged to 'next' on 2009-11-25 at 8aa62a0)
377
+ + Revert "ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)"
378
+ (merged to 'next' on 2009-11-22 at 4ba5880)
379
+ + ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)
380
+
381
+This is a revert of the tip one I merged prematurely to 'next'. The real
382
+fix from Ramsay is already in 'master'.
383
+
384
+* ks/precompute-completion (2009-11-15) 4 commits.
385
+ (merged to 'next' on 2009-11-15 at 23cdb96)
386
+ + Revert ks/precompute-completion series
387
+ (merged to 'next' on 2009-10-28 at cd5177f)
388
+ + completion: ignore custom merge strategies when pre-generating
389
+ (merged to 'next' on 2009-10-22 at f46a28a)
390
+ + bug: precomputed completion includes scripts sources
391
+ (merged to 'next' on 2009-10-14 at adf722a)
392
+ + Speedup bash completion loading
393
+
394
+Reverted out of 'next', to be replaced with jn/faster-completion-startup
395
+topic.
396
+
397
+--------------------------------------------------
398
+[I have been too busy to purge these]
399
+
400
+* jc/log-tz (2009-03-03) 1 commit.
401
+ - Allow --date=local --date=other-format to work as expected
402
+
403
+Maybe some people care about this. I dunno.
404
+
405
+* jc/1.7.0-no-commit-no-ff-2 (2009-10-22) 1 commit.
406
+ . git-merge: forbid fast-forward and up-to-date when --no-commit is given
407
+
408
+This makes "git merge --no-commit" fail when it results in fast-forward or
409
+up-to-date. It appears nobody wants to have this, so I dropped it.
410
+
411
+* ne/rev-cache (2009-10-19) 7 commits.
412
+ . support for commit grafts, slight change to general mechanism
413
+ . support for path name caching in rev-cache
414
+ . full integration of rev-cache into git, completed test suite
415
+ . administrative functions for rev-cache, start of integration into git
416
+ . support for non-commit object caching in rev-cache
417
+ . basic revision cache system, no integration or features
418
+ . man page and technical discussion for rev-cache
419
+
420
+The author indicated that there is another round coming. Does not seem to
421
+pass the tests when merged to 'pu', so it has been ejected for now.
422
+
423
+* pb/gitweb-no-project-list (2009-11-06) 3 commits.
424
+ . gitweb: Polish the content tags support
425
+ . gitweb: Support for no project list on gitweb front page
426
+ . gitweb: Refactor project list routines
427
+
428
+I picked these up but didn't queue as Warthog9's comments made certain
429
+amount of sense to me.