What's cooking
Junio C Hamano committed
Sep 22, 2009 at 23:51 UTC
b5e877ab43931b2593caa4adcdf2ea37a9d8808b
1 file changed
+345
whats/cooking/2009/09/05.txt
new
+345
@@ -0,0 +1,345 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Sep 2009, #05; Wed, 23)
3
+X-master-at: a6dbf8814f433a7fbfa9cde6333c98019f6db1e4
4
+X-next-at: a9dd6c4e8ab38f5c4af9c0710381d3844f1d904f
5
+
6
+What's cooking in git.git (Sep 2009, #05; Wed, 23)
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
+We are in pre-release feature freeze. 'next' will hold topics meant for
55
+1.6.6 and 1.7.0.
56
+
57
+Tonight's tip of 'master' is 1.6.5-rc2, and I'll disappear for about a
58
+week. Hopefully when I come back in early October all the regressions are
59
+found and already squashed ;-)
60
+
61
+--------------------------------------------------
62
+[New Topics]
63
+
64
+* jc/fix-tree-walk (2009-09-14) 9 commits
65
+ - read-tree --debug-unpack
66
+ - unpack-trees.c: look ahead in the index
67
+ - unpack-trees.c: prepare for looking ahead in the index
68
+ - traverse_trees(): handle D/F conflict case sanely
69
+ - more D/F conflict tests
70
+ - tests: move convenience regexp to match object names to test-lib.sh
71
+ - unpack_callback(): use unpack_failed() consistently
72
+ - unpack-trees: typofix
73
+ - diff-lib.c: fix misleading comments on oneway_diff()
74
+
75
+This is my replacement for Linus's lt/maint-traverse-trees-fix patch. It
76
+is not so much as a counter-proposal; I originally thought it might make
77
+sense to walk the index and drive the walker to return the entries from
78
+trees to match entries from the index, but I ended up doing pretty much
79
+what Linus outlined --- walk the trees, and have the index walker follow
80
+it. It turned out that the index side also needed some hairy look-ahead,
81
+and I am only half satisfied with the current status of the series.
82
+
83
+To fix the resolve merge regression seen in t6035, git-merge-resolve needs
84
+to be rewritten not to use the one-path-at-a-time "git merge-index".
85
+
86
+* jp/fetch-tag-match (2009-09-17) 1 commit
87
+ - fetch: Speed up fetch by rewriting find_non_local_tags
88
+
89
+I did not have much energy left while dealing with the "fix-tree-walk"
90
+series, so I just queued this without reading nor thinking about it very
91
+much. I personally liked my version that had far smaller number of lines
92
+changed (which means I can be fairly certain that it did not introduce any
93
+regression), but perhaps the majorly rewritten logic this patch gives us
94
+may be easier to follow and maintain. We'll see.
95
+
96
+* jg/log-format-body-indent (2009-09-19) 1 commit
97
+ - [NEEDSWORK: tests] git-log --format: Add %B tag with %B(x) option
98
+
99
+* jl/submodule-add-noname (2009-09-22) 1 commit
100
+ - git submodule add: make the <path> parameter optional
101
+
102
+--------------------------------------------------
103
+[Stalled]
104
+
105
+* je/send-email-no-subject (2009-08-05) 1 commit
106
+ (merged to 'next' on 2009-08-30 at b6455c2)
107
+ + send-email: confirm on empty mail subjects
108
+
109
+The existing tests cover the positive case (i.e. as long as the user says
110
+"yes" to the "do you really want to send this message that lacks subject",
111
+the message is sent) of this feature, but the feature itself needs its own
112
+test to verify the negative case (i.e. does it correctly stop if the user
113
+says "no"?)
114
+
115
+* jh/cvs-helper (2009-08-18) 8 commits
116
+ - More fixes to the git-remote-cvs installation procedure
117
+ - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
118
+ - Add simple selftests of git-remote-cvs functionality
119
+ - git-remote-cvs: Remote helper program for CVS repositories
120
+ - 2/2: Add Python support library for CVS remote helper
121
+ - 1/2: Add Python support library for CVS remote helper
122
+ - Basic build infrastructure for Python scripts
123
+ - Allow helpers to request marks for fast-import
124
+ (this branch uses db/vcs-helper-rest.)
125
+
126
+Builds on db/vcs-helper. There is a re-roll planned.
127
+
128
+* ne/rev-cache (2009-09-07) 7 commits
129
+ - support for commit grafts, slight change to general mechanism
130
+ - support for path name caching in rev-cache
131
+ - full integration of rev-cache into git, completed test suite
132
+ - administrative functions for rev-cache, start of integration into git
133
+ - support for non-commit object caching in rev-cache
134
+ - basic revision cache system, no integration or features
135
+ - man page and technical discussion for rev-cache
136
+
137
+Tonight's 'pu' ships with this and this series seems to break a few
138
+tests. I didn't debug.
139
+
140
+--------------------------------------------------
141
+[Cooking]
142
+
143
+* jc/maint-blank-at-eof (2009-09-15) 0 commits.
144
+ (this branch uses jc/maint-1.6.0-blank-at-eof.)
145
+
146
+The series does not have a commit of its own but is a preparation for
147
+merging the original jc/1.6.0-maint-blank-at-eof topic to 'maint' and then
148
+'master'. It is a fix for longstanding bug and 1.6.5 will not contain
149
+this topic.
150
+
151
+* db/vcs-helper-rest (2009-09-03) 6 commits
152
+ - Allow helpers to report in "list" command that the ref is unchanged
153
+ - Add support for "import" helper command
154
+ - Add a config option for remotes to specify a foreign vcs
155
+ - Allow programs to not depend on remotes having urls
156
+ - Allow fetch to modify refs
157
+ - Use a function to determine whether a remote is valid
158
+ (this branch is used by jh/cvs-helper.)
159
+
160
+This holds the remainder of the db/vcs-helper topic that has already
161
+merged for 1.6.5.
162
+
163
+* jh/notes (2009-09-12) 13 commits
164
+ - Selftests verifying semantics when loading notes trees with various fanouts
165
+ - Teach the notes lookup code to parse notes trees with various fanout schemes
166
+ - notes.[ch] fixup: avoid old-style declaration
167
+ - Teach notes code to free its internal data structures on request.
168
+ - Add '%N'-format for pretty-printing commit notes
169
+ - Add flags to get_commit_notes() to control the format of the note string
170
+ - t3302-notes-index-expensive: Speed up create_repo()
171
+ - fast-import: Add support for importing commit notes
172
+ - Teach "-m <msg>" and "-F <file>" to "git notes edit"
173
+ - Add an expensive test for git-notes
174
+ - Speed up git notes lookup
175
+ - Add a script to edit/inspect notes
176
+ - Introduce commit notes
177
+ (this branch uses sr/gfi-options.)
178
+
179
+Rerolled and queued.
180
+
181
+* jn/gitweb-show-size (2009-09-07) 1 commit
182
+ - gitweb: Add 'show-sizes' feature to show blob sizes in tree view
183
+
184
+* lt/maint-traverse-trees-fix (2009-09-06) 1 commit.
185
+ . Prepare 'traverse_trees()' for D/F conflict lookahead
186
+
187
+Ejected from 'pu' (see jc/fix-tree-walk above).
188
+
189
+* jc/maint-1.6.0-blank-at-eof (2009-09-14) 15 commits.
190
+ (merged to 'next' on 2009-09-15 at 9cbfa00)
191
+ + diff -B: colour whitespace errors
192
+ + diff.c: emit_add_line() takes only the rest of the line
193
+ + diff.c: split emit_line() from the first char and the rest of the line
194
+ + diff.c: shuffling code around
195
+ + diff --whitespace: fix blank lines at end
196
+ (merged to 'next' on 2009-09-07 at 165dc3c)
197
+ + core.whitespace: split trailing-space into blank-at-{eol,eof}
198
+ + diff --color: color blank-at-eof
199
+ + diff --whitespace=warn/error: fix blank-at-eof check
200
+ + diff --whitespace=warn/error: obey blank-at-eof
201
+ + diff.c: the builtin_diff() deals with only two-file comparison
202
+ + apply --whitespace: warn blank but not necessarily empty lines at EOF
203
+ + apply --whitespace=warn/error: diagnose blank at EOF
204
+ + apply.c: split check_whitespace() into two
205
+ + apply --whitespace=fix: detect new blank lines at eof correctly
206
+ + apply --whitespace=fix: fix handling of blank lines at the eof
207
+ (this branch is used by jc/maint-blank-at-eof.)
208
+
209
+This is a fix for an ancient bug (or inconsistent set of features); the
210
+topic is based on an ancient codebase and is designed to be merged
211
+upwards. jc/maint-blank-at-eof serves that purpose.
212
+
213
+Will not be in 1.6.5.
214
+
215
+* jn/gitweb-blame (2009-09-01) 5 commits
216
+ - gitweb: Minify gitweb.js if JSMIN is defined
217
+ - gitweb: Create links leading to 'blame_incremental' using JavaScript
218
+ (merged to 'next' on 2009-09-07 at 3622199)
219
+ + gitweb: Colorize 'blame_incremental' view during processing
220
+ + gitweb: Incremental blame (using JavaScript)
221
+ + gitweb: Add optional "time to generate page" info in footer
222
+
223
+Ajax-y blame.
224
+
225
+* sr/gfi-options (2009-09-06) 6 commits
226
+ (merged to 'next' on 2009-09-07 at 5f6b0ff)
227
+ + fast-import: test the new option command
228
+ + fast-import: add option command
229
+ + fast-import: test the new feature command
230
+ + fast-import: add feature command
231
+ + fast-import: put marks reading in it's own function
232
+ + fast-import: put option parsing code in separate functions
233
+ (this branch is used by jh/notes.)
234
+
235
+Ping?
236
+
237
+* nd/sparse (2009-08-20) 19 commits
238
+ - sparse checkout: inhibit empty worktree
239
+ - Add tests for sparse checkout
240
+ - read-tree: add --no-sparse-checkout to disable sparse checkout support
241
+ - unpack-trees(): ignore worktree check outside checkout area
242
+ - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
243
+ - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
244
+ - unpack-trees.c: generalize verify_* functions
245
+ - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
246
+ - Introduce "sparse checkout"
247
+ - dir.c: export excluded_1() and add_excludes_from_file_1()
248
+ - excluded_1(): support exclude files in index
249
+ - unpack-trees(): carry skip-worktree bit over in merged_entry()
250
+ - Read .gitignore from index if it is skip-worktree
251
+ - Avoid writing to buffer in add_excludes_from_file_1()
252
+ - Teach Git to respect skip-worktree bit (writing part)
253
+ - Teach Git to respect skip-worktree bit (reading part)
254
+ - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
255
+ - Add test-index-version
256
+ - update-index: refactor mark_valid() in preparation for new options
257
+
258
+--------------------------------------------------
259
+[For 1.7.0]
260
+
261
+* jk/1.7.0-status (2009-09-05) 5 commits
262
+ - docs: note that status configuration affects only long format
263
+ (merged to 'next' on 2009-09-07 at 8a7c563)
264
+ + commit: support alternate status formats
265
+ + status: add --porcelain output format
266
+ + status: refactor format option parsing
267
+ + status: refactor short-mode printing to its own function
268
+ (this branch uses jc/1.7.0-status.)
269
+
270
+Gives the --short output format to post 1.7.0 "git commit --dry-run" that
271
+is similar to that of post 1.7.0 "git status".
272
+
273
+* jc/1.7.0-status (2009-09-05) 4 commits
274
+ (merged to 'next' on 2009-09-06 at 19d4beb)
275
+ + status: typo fix in usage
276
+ (merged to 'next' on 2009-08-22 at b3507bb)
277
+ + git status: not "commit --dry-run" anymore
278
+ + git stat -s: short status output
279
+ + git stat: the beginning of "status that is not a dry-run of commit"
280
+ (this branch is used by jk/1.7.0-status.)
281
+
282
+With this, "git status" is no longer "git commit --dry-run".
283
+
284
+* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
285
+ (merged to 'next' on 2009-08-22 at 5106de8)
286
+ + send-email: make --no-chain-reply-to the default
287
+
288
+* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
289
+ (merged to 'next' on 2009-08-30 at 0623572)
290
+ + diff.c: fix typoes in comments
291
+ (merged to 'next' on 2009-08-27 at 81fb2bd)
292
+ + Make test case number unique
293
+ (merged to 'next' on 2009-08-02 at 9c08420)
294
+ + diff: Rename QUIET internal option to QUICK
295
+ + diff: change semantics of "ignore whitespace" options
296
+
297
+This changes exit code from "git diff --ignore-whitespace" and friends
298
+when there is no actual output. It is a backward incompatible change, but
299
+we could argue that it is a bugfix.
300
+
301
+* jc/1.7.0-push-safety (2009-02-09) 2 commits
302
+ (merged to 'next' on 2009-08-02 at 38b82fe)
303
+ + Refuse deleting the current branch via push
304
+ + Refuse updating the current branch in a non-bare repository via push
305
+
306
+--------------------------------------------------
307
+[I have been too busy to purge these]
308
+
309
+* jc/log-tz (2009-03-03) 1 commit.
310
+ - Allow --date=local --date=other-format to work as expected
311
+
312
+Maybe some people care about this. I dunno.
313
+
314
+* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
315
+ - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
316
+
317
+Maybe some people care about this. I dunno.
318
+
319
+* lt/read-directory (2009-05-15) 3 commits.
320
+ . Add initial support for pathname conversion to UTF-8
321
+ . read_directory(): infrastructure for pathname character set conversion
322
+ . Add 'fill_directory()' helper function for directory traversal
323
+
324
+* cc/reset-merge (2009-09-16) 4 commits
325
+ . reset: add test cases for "--merge-safe" option
326
+ . reset: add option "--merge-safe" to "git reset"
327
+ . reset: use "unpack_trees()" directly instead of "git read-tree"
328
+ . reset: add a few tests for "git reset --merge"
329
+
330
+* cc/sequencer-rebase-i (2009-08-28) 15 commits
331
+ . rebase -i: use "git sequencer--helper --cherry-pick"
332
+ . sequencer: add "--cherry-pick" option to "git sequencer--helper"
333
+ . sequencer: add "do_commit()" and related functions working on "next_commit"
334
+ . pick: libify "pick_help_msg()"
335
+ . revert: libify cherry-pick and revert functionnality
336
+ . rebase -i: use "git sequencer--helper --fast-forward"
337
+ . sequencer: let "git sequencer--helper" callers set "allow_dirty"
338
+ . sequencer: add "--fast-forward" option to "git sequencer--helper"
339
+ . sequencer: add "do_fast_forward()" to perform a fast forward
340
+ . rebase -i: use "git sequencer--helper --reset-hard"
341
+ . sequencer: add "--reset-hard" option to "git sequencer--helper"
342
+ . sequencer: add "reset_almost_hard()" and related functions
343
+ . rebase -i: use "git sequencer--helper --make-patch"
344
+ . sequencer: add "make_patch" function to save a patch
345
+ . sequencer: add "builtin-sequencer--helper.c"