What's in
Junio C Hamano committed
Mar 3, 2009 at 01:01 UTC
c8b60850d01d2babb49fa1dc07abe142fc52f098
1 file changed
+436
whats/cooking/2009/03/01.txt
new
+436
@@ -0,0 +1,436 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Mar 2009, #01; Tue, 03)
3
+X-master-at: 1d035f85649cbb0a4fcc3e341f7e854acf9cf3c1
4
+X-next-at: 23381c887989ea63153c562061b1c4703ee75baf
5
+
6
+What's cooking in git.git (Mar 2009, #01; Tue, 03)
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 branches, but I am still
12
+holding onto them.
13
+
14
+The topics list the commits in reverse chronological order. The topics
15
+meant to be merged to the maintenance series have "maint-" in their names.
16
+
17
+The master branch is slightly past 1.6.2-rc2. It's been a week and I
18
+think I can declare the final on this Wednesday, *if* I am not too mired
19
+by the day job, but I do not know what would happen yet.
20
+
21
+As an experiment, 'next' and 'pu' stayed open during this release freeze;
22
+new topics have been accepted. I have to say that the experiment was a
23
+moderate success, and many topics in 'next' seem to be of fairly high
24
+quality already, which would mean that we will have a shorter cycle before
25
+1.6.3.
26
+
27
+----------------------------------------------------------------
28
+[New Topics]
29
+
30
+* jk/clone-post-checkout (Tue Mar 3 00:37:51 2009 -0500) 1 commit
31
+ - clone: run post-checkout hook when checking out
32
+
33
+* hv/cvsimport (Mon Mar 2 18:59:36 2009 +0100) 1 commit
34
+ - cvsimport: add test illustrating a bug in cvsps
35
+
36
+* jc/push-to-create (Mon Mar 2 22:36:16 2009 -0800) 1 commit
37
+ - Push to create
38
+
39
+* fc/parseopt-config (Sat Feb 21 02:49:29 2009 +0200) 11 commits
40
+ - git config: don't allow --get-color* and variable type
41
+ - git config: don't allow extra arguments for -e or -l.
42
+ - git config: don't allow multiple variable types
43
+ - git config: don't allow multiple config file locations
44
+ - git config: reorganize to use parseopt
45
+ - git config: reorganize get_color*
46
+ - git config: trivial rename in preparation for parseopt
47
+ - git_config(): not having a per-repo config file is not an error
48
+ + git config: trivial cleanup for editor action
49
+ + git config: codestyle cleanups
50
+ + config: Add new option to open an editor.
51
+
52
+* tr/format-patch-thread (Thu Feb 19 22:26:33 2009 +0100) 4 commits
53
+ - format-patch: support deep threading
54
+ - format-patch: thread as reply to cover letter even with in-reply-
55
+ to
56
+ - format-patch: track several references
57
+ - format-patch: threading test reactivation
58
+
59
+* ns/pretty-format (Tue Feb 24 15:33:29 2009 +0200) 5 commits
60
+ + bash completion: add --format= and --oneline options for "git log"
61
+ + Add tests for git log --pretty, --format and --oneline.
62
+ + Add --oneline that is a synonym to "--pretty=oneline --abbrev-
63
+ commit"
64
+ + Give short-hands to --pretty=tformat:%formatstring
65
+ + Add --format that is a synonym to --pretty
66
+
67
+* mh/cvsimport-tests (Mon Feb 23 06:08:14 2009 +0100) 5 commits
68
+ - Add a test of "git cvsimport"'s handling of tags and branches
69
+ - Add some tests of git-cvsimport's handling of vendor branches
70
+ - Test contents of entire cvsimported "master" tree contents
71
+ - Use CVS's -f option if available (ignore user's ~/.cvsrc file)
72
+ - Start a library for cvsimport-related tests
73
+
74
+* tr/maint-1.6.0-send-email-irt (Sun Mar 1 23:45:41 2009 +0100) 1 commit
75
+ - send-email: respect in-reply-to regardless of threading
76
+
77
+* jc/maint-1.6.0-keep-pack (Sat Feb 28 00:37:19 2009 -0800) 6 commits
78
+ + is_kept_pack(): final clean-up
79
+ + Simplify is_kept_pack()
80
+ + Consolidate ignore_packed logic more
81
+ + has_sha1_kept_pack(): take "struct rev_info"
82
+ + has_sha1_pack(): refactor "pretend these packs do not exist"
83
+ interface
84
+ + git-repack: resist stray environment variable
85
+
86
+* en/maint-hash-object (Sat Feb 28 12:56:49 2009 -0700) 1 commit
87
+ + Ensure proper setup of git_dir for git-hash-object
88
+
89
+* el/blame-date (Fri Feb 20 14:51:11 2009 -0800) 1 commit
90
+ - Make git blame's date output format configurable, like git log
91
+
92
+* js/remote-improvements (Wed Feb 25 03:32:28 2009 -0500) 22 commits
93
+ - builtin-remote: new show output style for push refspecs
94
+ - builtin-remote: new show output style
95
+ - remote: make guess_remote_head() use exact HEAD lookup if it is
96
+ available
97
+ - builtin-remote: add set-head subcommand
98
+ - builtin-remote: teach show to display remote HEAD
99
+ - builtin-remote: fix two inconsistencies in the output of "show
100
+ <remote>"
101
+ - builtin-remote: make get_remote_ref_states() always populate
102
+ states.tracked
103
+ - builtin-remote: rename variables and eliminate redundant function
104
+ call
105
+ - builtin-remote: remove unused code in get_ref_states
106
+ - builtin-remote: refactor duplicated cleanup code
107
+ - string-list: new for_each_string_list() function
108
+ - remote: make match_refs() not short-circuit
109
+ - remote: make match_refs() copy src ref before assigning to
110
+ peer_ref
111
+ - remote: let guess_remote_head() optionally return all matches
112
+ - remote: make copy_ref() perform a deep copy
113
+ - remote: simplify guess_remote_head()
114
+ - move locate_head() to remote.c
115
+ - move duplicated ref_newer() to remote.c
116
+ - move duplicated get_local_heads() to remote.c
117
+ - refactor find_ref_by_name() to accept const list
118
+ - add basic http clone/fetch tests
119
+ - test scripts: refactor start_httpd helper
120
+
121
+* js/clone-depth-local (Fri Feb 27 00:04:06 2009 -0800) 3 commits
122
+ . parse_options(): do not "increment" boolean
123
+ . clone: ignore --depth when cloning locally (implicitly --local)
124
+ . clone: do not ignore --no-local option
125
+
126
+Jeff had a good suggestion for this series but it was tripped by
127
+a misfeature in parse_options().
128
+
129
+* rs/memmem (Tue Mar 3 00:19:30 2009 +0100) 2 commits
130
+ - optimize compat/ memmem()
131
+ - diffcore-pickaxe: use memmem()
132
+
133
+As always with patches from René, this is already next material.
134
+
135
+* mv/parseopt-ls-files (Tue Feb 17 15:27:11 2009 +0100) 2 commits
136
+ - parse-opt: migrate builtin-ls-files.
137
+ - Turn the flags in struct dir_struct into a single variable
138
+
139
+* jk/sane-relative-time (Tue Feb 24 00:42:16 2009 -0500) 1 commit
140
+ + never fallback relative times to absolute
141
+
142
+* tv/rebase-stat (Sun Mar 1 22:28:28 2009 +0100) 2 commits
143
+ - git-pull: Allow --stat and --no-stat to be used with --rebase
144
+ - git-rebase: Add --stat and --no-stat for producing diffstat on
145
+ rebase
146
+
147
+----------------------------------------------------------------
148
+[Discarded]
149
+
150
+* jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits
151
+ - fsck: three levels of validation
152
+ - verify-pack: add --quick
153
+ - verify_pack(): allow a quicker verification for a pack with
154
+ version 2 idx
155
+ - pack-check.c: minor formatting fix to match coding style
156
+
157
+J6t has a good point that if this had any value then medium level should
158
+replace the default. I am tempted to actually dropping this as a failed
159
+experiment.
160
+
161
+* js/remote-set-head (Sat Feb 14 05:30:30 2009 -0500) 5 commits
162
+ - builtin-remote: better handling of multiple remote HEADs
163
+ - builtin-remote: add set-head subcommand
164
+ - builtin-remote: teach show to display remote HEAD
165
+ - builtin-remote: move duplicated cleanup code its own function
166
+ - builtin-clone: move locate_head() to remote.c so it can be re-used
167
+
168
+* jk/head-lookup (Sun Feb 15 01:18:18 2009 -0500) 5 commits
169
+ - remote: use exact HEAD lookup if it is available
170
+ - remote: refactor guess_remote_head
171
+ - refactor find_refs_by_name to accept const list
172
+ - add basic http clone/fetch tests
173
+ - test scripts: refactor start_httpd helper
174
+
175
+These two are now consolidated into Jay's remove-improvements series
176
+listed above.
177
+
178
+----------------------------------------------------------------
179
+[Stalled and may need help and prodding to go forward]
180
+
181
+* gb/gitweb-base (Sun Feb 15 10:18:36 2009 +0100) 1 commit
182
+ - gitweb: fix wrong base URL when non-root DirectoryIndex
183
+
184
+* ns/stash-keep (Thu Feb 12 06:25:14 2009 +0900) 1 commit
185
+ - stash: --keep option just saves
186
+
187
+Do we want to keep this one?
188
+
189
+* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 1 commit
190
+ - archive.c: add support for --submodules[=(all|checkedout)]
191
+
192
+Discussion stalled on the submodule selection criteria.
193
+
194
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
195
+ + blame: show "previous" information in --porcelain/--incremental
196
+ format
197
+ + git-blame: refactor code to emit "porcelain format" output
198
+
199
+This gives Porcelains (like gitweb) the information on the commit _before_
200
+the one that the final blame is laid on, which should save them one
201
+rev-parse to dig further. The line number in the "previous" information
202
+may need refining, and sanity checking code for reference counting may
203
+need to be resurrected before this can move forward.
204
+
205
+I thought recent tig discussion may blow new life into it, but is this
206
+unneeded? If so I'd rather revert it (or discard after 1.6.2).
207
+
208
+* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
209
+ - Support fetching from foreign VCSes
210
+ - Add specification of git-vcs helpers
211
+ - Add "vcs" config option in remotes
212
+
213
+The "spec" did not seem quite well cooked yet, but in the longer term I
214
+think something like this to allow interoperating with other SCMs as if
215
+the other end is a native git repository is a very worthy goal.
216
+
217
+* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
218
+ - builtin-replace: use "usage_msg_opt" to give better error messages
219
+ - parse-options: add new function "usage_msg_opt"
220
+ - builtin-replace: teach "git replace" to actually replace
221
+ - Add new "git replace" command
222
+ - environment: add global variable to disable replacement
223
+ - mktag: call "check_sha1_signature" with the replacement sha1
224
+ - replace_object: add a test case
225
+ - object: call "check_sha1_signature" with the replacement sha1
226
+ - sha1_file: add a "read_sha1_file_repl" function
227
+ - replace_object: add mechanism to replace objects found in
228
+ "refs/replace/"
229
+ - refs: add a "for_each_replace_ref" function
230
+
231
+I think the code is much cleaner than the first round, but I am not
232
+convinced it is doing the right thing in the connectivity traverser.
233
+Independent review sorely needed.
234
+
235
+* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
236
+ - gitweb: Optional grouping of projects by category
237
+ - gitweb: Split git_project_list_body in two functions
238
+ - gitweb: Modularized git_get_project_description to be more generic
239
+
240
+Design discussion between Jakub and Sebastien seems to have stalled, but
241
+Jakub seems to be taking this over.
242
+
243
+----------------------------------------------------------------
244
+[Reverted]
245
+
246
+* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
247
+ ? Revert previous two commits
248
+ ? move the color variables to color.c
249
+ ? handle color.ui at a central place
250
+
251
+This broke git-format-patch badly.
252
+
253
+* js/rebase-error-a-bit-more-verbose (Sun Feb 8 21:22:18 2009 -0800) 2 commits
254
+ ? Revert "rebase: explain why when the HEAD could not be detached"
255
+ ? rebase: explain why when the HEAD could not be detached
256
+
257
+This turned out to be unnecessary.
258
+
259
+* rs/maint-1.6.0-windows-ceiling (Sat Feb 7 12:40:40 2009 -0800) 2 commits
260
+ ? Revert "fix t1504 on Windows"
261
+ ? fix t1504 on Windows
262
+
263
+I'm giving a fresh start to J6t's series which contains this.
264
+
265
+* lh/reverted-submodule-tree-traversal (Sun Jan 25 18:39:55 2009 -0800) 4 commits
266
+ ? Revert round #1 of the series
267
+ ? builtin-ls-tree: enable traversal of submodules
268
+ ? archive.c: enable traversal of submodules
269
+ ? tree.c: add support for traversal of submodules
270
+
271
+I'm giving a fresh start to Lars's second iteration.
272
+
273
+----------------------------------------------------------------
274
+[Will merge to 'next' soon]
275
+
276
+* js/send-email (Mon Mar 2 23:52:18 2009 -0500) 5 commits
277
+ - send-email: add --confirm option and configuration setting
278
+ + send-email: don't create temporary compose file until it is needed
279
+ + send-email: --suppress-cc improvements
280
+ + send-email: handle multiple Cc addresses when reading mbox message
281
+ + send-email: allow send-email to run outside a repo
282
+
283
+----------------------------------------------------------------
284
+[Ready for 'master' after 1.6.2]
285
+
286
+* sg/rerere-cleanup (Sat Feb 14 23:21:04 2009 +0100) 1 commit
287
+ + rerere: remove duplicated functions
288
+
289
+* jc/add-p-unquote (Mon Feb 16 22:43:43 2009 -0800) 1 commit
290
+ + git-add -i/-p: learn to unwrap C-quoted paths
291
+
292
+* jw/imap-preformatted-html (Thu Feb 12 08:58:12 2009 -0600) 1 commit
293
+ + imap.preformattedHTML to tell Thunderbird to send non-flowed text
294
+
295
+The patch text should be identical to Jeremy's "Virtual Patch", except
296
+that the configuration variable was renamed per list discussion.
297
+
298
+* jw/format-patch-attach (Thu Feb 12 09:51:55 2009 -0600) 1 commit
299
+ + Enable setting attach as the default in .gitconfig for git-format-
300
+ patch.
301
+
302
+* sr/force-rebase (Fri Feb 13 23:48:01 2009 +0100) 1 commit
303
+ + Teach rebase to rebase even if upstream is up to date
304
+
305
+* fg/exclude-bq (Tue Feb 10 15:20:17 2009 +0100) 1 commit
306
+ + Support "\" in non-wildcard exclusion entries
307
+
308
+* dm/add-i-edit-abort (Thu Feb 12 00:19:41 2009 -0500) 1 commit
309
+ + add -i: revisit hunk on editor failure
310
+
311
+* tp/completion (Sat Feb 21 15:48:43 2009 +0100) 6 commits
312
+ + Fixup: Add bare repository indicator for __git_ps1
313
+ + Add bare repository indicator for __git_ps1
314
+ + completion: More fixes to prevent unbound variable errors
315
+ + completion: Better __git_ps1 support when not in working directory
316
+ + completion: Use consistent if [...] convention, not "test"
317
+ + completion: For consistency, change "git rev-parse" to __gitdir
318
+ calls
319
+
320
+* js/branch-symref (Wed Feb 18 22:34:44 2009 -0500) 4 commits
321
+ + add basic branch display tests
322
+ + branch: clean up repeated strlen
323
+ + Avoid segfault with 'git branch' when the HEAD is detached
324
+ + builtin-branch: improve output when displaying remote branches
325
+
326
+* al/ansi-color (Fri Feb 13 22:53:41 2009 +0100) 2 commits
327
+ + builtin-branch.c: Rename branch category color names
328
+ + Clean up use of ANSI color sequences
329
+
330
+* kb/checkout-optim (Mon Feb 23 19:02:57 2009 +0100) 14 commits
331
+ + write_index(): update index_state->timestamp after flushing to
332
+ disk
333
+ + verify_uptodate(): add ce_uptodate(ce) test
334
+ + make USE_NSEC work as expected
335
+ + fix compile error when USE_NSEC is defined
336
+ + check_updates(): effective removal of cache entries marked
337
+ CE_REMOVE
338
+ + lstat_cache(): print a warning if doing ping-pong between cache
339
+ types
340
+ + show_patch_diff(): remove a call to fstat()
341
+ + write_entry(): use fstat() instead of lstat() when file is open
342
+ + write_entry(): cleanup of some duplicated code
343
+ + create_directories(): remove some memcpy() and strchr() calls
344
+ + unlink_entry(): introduce schedule_dir_for_removal()
345
+ + lstat_cache(): swap func(length, string) into func(string, length)
346
+ + lstat_cache(): generalise longest_match_lstat_cache()
347
+ + lstat_cache(): small cleanup and optimisation
348
+
349
+* js/valgrind (Thu Feb 5 22:03:00 2009 +0100) 9 commits
350
+ + valgrind: do not require valgrind 3.4.0 or newer
351
+ + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
352
+ + Tests: let --valgrind imply --verbose and --tee
353
+ + Add a script to coalesce the valgrind outputs
354
+ + t/Makefile: provide a 'valgrind' target
355
+ + test-lib.sh: optionally output to test-results/$TEST.out, too
356
+ + Valgrind support: check for more than just programming errors
357
+ + valgrind: ignore ldso and more libz errors
358
+ + Add valgrind support in test scripts
359
+
360
+----------------------------------------------------------------
361
+[Actively cooking]
362
+
363
+* tr/gcov (Thu Feb 19 12:13:42 2009 +0100) 8 commits
364
+ - Test git-patch-id
365
+ - Test rev-list --parents/--children
366
+ - Test log --decorate
367
+ - Test fsck a bit harder
368
+ - Test log --graph
369
+ - Test diff --dirstat functionality
370
+ - Test that diff can read from stdin
371
+ - Support coverage testing with GCC/gcov
372
+
373
+* js/notes (Sat Feb 14 21:23:25 2009 +0100) 13 commits
374
+ - notes: refuse to edit notes outside refs/notes/
375
+ - t3301: use test_must_fail instead of !
376
+ - t3301: fix confusing quoting in test for valid notes ref
377
+ - notes: use GIT_EDITOR and core.editor over VISUAL/EDITOR
378
+ - notes: only clean up message file when editing
379
+ - handle empty notes gracefully
380
+ + git notes show: test empty notes
381
+ + git-notes: fix printing of multi-line notes
382
+ + notes: fix core.notesRef documentation
383
+ + Add an expensive test for git-notes
384
+ + Speed up git notes lookup
385
+ + Add a script to edit/inspect notes
386
+ + Introduce commit notes
387
+
388
+Earlier part was merged to master and then reverted there. Will be
389
+rebased 1.6.2 to keep my sanity.
390
+
391
+* fc/config-editor (Sat Feb 21 02:48:54 2009 +0200) 3 commits
392
+ + git config: trivial cleanup for editor action
393
+ + git config: codestyle cleanups
394
+ + config: Add new option to open an editor.
395
+
396
+Rerolled and looked sane.
397
+
398
+----------------------------------------------------------------
399
+[On Hold]
400
+
401
+* jc/deny-delete-current-1.7.0 (Mon Feb 9 00:19:46 2009 -0800) 1 commit
402
+ - receive-pack: default receive.denyDeleteCurrent to refuse
403
+
404
+* jc/refuse-push-to-current-1.7.0 (Wed Feb 11 02:28:03 2009 -0800) 1 commit
405
+ - Refuse updating the current branch in a non-bare repository via
406
+ push
407
+
408
+This is for 1.7.0.
409
+
410
+* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
411
+ - git commit: pathspec without -i/-o implies -i semantics during a
412
+ merge
413
+ - builtin-commit: shorten eye-sore overlong lines
414
+ - Add "partial commit" tests during a conflicted merge
415
+
416
+This was only meant as a weatherballoon to help facilitate discussion.
417
+
418
+* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
419
+ - git-merge-file: allow converting the results for the work tree
420
+
421
+This is a feature waiting for a user. I do not need it in 1.6.2
422
+
423
+We did not give scripted Porcelains a way to say "this temporary file I am
424
+using for merging is for this path, so use the core.autocrlf and attributes
425
+rules for that final path". Instead, merge-file simply wrote out the
426
+data in the canonical repository representation.
427
+
428
+rerere has the same issue, but it is a lot worse. It reads the three
429
+files (preimage, postimage and thisimage) from the work tree in the work
430
+tree representation, merges them without converting them to the canonical
431
+representation first but inserts the conflict markers with the canonical
432
+representation and writes the resulting mess out. It needs to be fixed to
433
+read with convert_to_git(), merge them while they are still in the
434
+canonical representation and possibly add conflict markers, and then write
435
+the results out after convert_to_working_tree(). It also needs to write
436
+in binary mode as well.