What's cooking update
Junio C Hamano committed
Feb 1, 2009 at 23:39 UTC
82b0e7fc7d133d74c00f948c8bfdd1f4b7a92906
1 file changed
+353
whats/cooking/2009/02/01.txt
new
+353
@@ -0,0 +1,353 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Feb 2009, #01; Sun, 01)
3
+X-master-at: 2ea3c17189bf9ca459879129ca190792b5451f05
4
+X-next-at: 5bad675db98a79d08ce5abadd3347d829c6c5b36
5
+
6
+What's cooking in git.git (Feb 2009, #01; Sun, 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 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
+----------------------------------------------------------------
18
+[New Topics]
19
+
20
+* gt/utf8-width (Fri Jan 30 04:41:29 2009 -0500) 2 commits
21
+ - builtin-blame.c: Use utf8_strwidth for author's names
22
+ - utf8: add utf8_strwidth()
23
+
24
+I am not sure if utf8_strwidth() behaves sensibly when fed a non-UTF8
25
+string (a possible failure mode is utf8_width() says "no" and it returns
26
+0, resulting in width of all zero and causing division by zero somewhere
27
+downstream, or something silly like that), but other than that, I do not
28
+think it would hurt, and will actively improve the current code.
29
+
30
+* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 2 commits
31
+ - Set receive.denyCurrentBranch to true in a new non-bare repository
32
+ - receive-pack: explain what to do when push updates the current
33
+ branch
34
+
35
+This prepares to finally switch the default for receive.denyCurrentBranch
36
+to "refuse". The idea is to issue a big warning to people who push into
37
+currently checked out branch when the configuration is unset and we
38
+default to "warn", and explain in detail (1) why it is not likely to be
39
+what they want to do (to help new people), (2) if it is what they want,
40
+how to squelch that annoyingly long message, and (3) the default will be
41
+changed to "refuse" in a future release of git. The tip commit also sets
42
+the configuration to refuse in a newly created repository, but with a
43
+twist. People who get the "refusal" configuration this way may be
44
+expecting the recipe they picked up to push into a live repository,
45
+perhaps a website, and let its post-update hook to "reset --hard" the
46
+deployment, and we will explain that (1) it will no longer work (because
47
+we default to "refuse" in a newly created repository), (2) how to
48
+configure it to work again, and (3) how to squelch the annoying message.
49
+
50
+I personally do not think anything short of an approach like this would
51
+work without a huge fallout like we had when yanked git-foo commands from
52
+people's $PATH in 1.6.0, but I can still be pursuaded by a better
53
+alternative, and that is why they are not in 'next' yet. Saying "old
54
+timers can flip a single switch just once" is not a better alternative, as
55
+I explained already.
56
+
57
+* jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 7 commits
58
+ - fsck: revert --quick to the default and introduce --medium
59
+ - fsck: three levels of validation
60
+ - verify-pack: add --quick
61
+ - verify_pack(): allow a quicker verification for a pack with
62
+ version 2 idx
63
+ - pack-check.c: minor formatting fix to match coding style
64
+ + fsck: check loose objects from alternate object stores by default
65
+ + fsck: HEAD is part of refs
66
+
67
+I haven't heard anything positive nor negative about this series. I
68
+consider the bottom two changes are pure bugfixes and should probably be
69
+in 1.6.2.
70
+
71
+I think the tip two commits should be squashed (and perhaps the option
72
+parser cleaned up as suggested on the list) if we were to take the
73
+remainder.
74
+
75
+* rc/http-push (Sat Jan 31 07:51:55 2009 +0800) 1 commit
76
+ + http-push: refactor request url creation
77
+
78
+Looked fine for 1.6.2.
79
+
80
+* jk/head-symref (Thu Jan 29 03:33:02 2009 -0500) 2 commits
81
+ + symbolic ref: refuse non-ref targets in HEAD
82
+ + validate_headref: tighten ref-matching to just branches
83
+
84
+Looked fine for 1.6.2.
85
+
86
+* kb/checkout-optim (Sun Feb 1 21:23:39 2009 +0100) 7 commits
87
+ - unpack-trees.c: introduce schedule_dir_for_removal()
88
+ - lstat_cache(): print a warning if doing ping-pong between cache
89
+ types
90
+ - combine-diff.c: remove a call to fstat() inside show_patch_diff()
91
+ - write_entry(): use fstat() instead of lstat() when file is open
92
+ - cleanup of write_entry() in entry.c
93
+ - remove some memcpy() and strchr() calls inside
94
+ create_directories()
95
+ - symlinks.c: small cleanup and optimisation
96
+
97
+Love to have in 1.6.2
98
+
99
+----------------------------------------------------------------
100
+[Stalled and may need help and prodding to go forward]
101
+
102
+* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
103
+ - git-merge-file: allow converting the results for the work tree
104
+
105
+This is a feature waiting for a user. I do not need it in 1.6.2
106
+
107
+We did not give scripted Porcelains a way to say "this temporary file I am
108
+using for merging is for this path, so use the core.autocrlf and attributes
109
+rules for that final path". Instead, merge-file simply wrote out the
110
+data in the canonical repository representation.
111
+
112
+rerere has the same issue, but it is a lot worse. It reads the three
113
+files (preimage, postimage and thisimage) from the work tree in the work
114
+tree representation, merges them without converting them to the canonical
115
+representation first but inserts the conflict markers with the canonical
116
+representation and writes the resulting mess out. It needs to be fixed to
117
+read with convert_to_git(), merge them while they are still in the
118
+canonical representation and possibly add conflict markers, and then write
119
+the results out after convert_to_working_tree(). It also needs to write
120
+in binary mode as well.
121
+
122
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
123
+ + blame: show "previous" information in --porcelain/--incremental
124
+ format
125
+ + git-blame: refactor code to emit "porcelain format" output
126
+
127
+This gives Porcelains (like gitweb) the information on the commit _before_
128
+the one that the final blame is laid on, which should save them one
129
+rev-parse to dig further. The line number in the "previous" information
130
+may need refining, and sanity checking code for reference counting may
131
+need to be resurrected before this can move forward.
132
+
133
+* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
134
+ - Support fetching from foreign VCSes
135
+ - Add specification of git-vcs helpers
136
+ - Add "vcs" config option in remotes
137
+
138
+The "spec" did not seem quite well cooked yet, but in the longer term I
139
+think something like this to allow interoperating with other SCMs as if
140
+the other end is a native git repository is a very worthy goal.
141
+
142
+* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
143
+ - builtin-replace: use "usage_msg_opt" to give better error messages
144
+ - parse-options: add new function "usage_msg_opt"
145
+ - builtin-replace: teach "git replace" to actually replace
146
+ - Add new "git replace" command
147
+ - environment: add global variable to disable replacement
148
+ - mktag: call "check_sha1_signature" with the replacement sha1
149
+ - replace_object: add a test case
150
+ - object: call "check_sha1_signature" with the replacement sha1
151
+ - sha1_file: add a "read_sha1_file_repl" function
152
+ - replace_object: add mechanism to replace objects found in
153
+ "refs/replace/"
154
+ - refs: add a "for_each_replace_ref" function
155
+
156
+I think the code is much cleaner than the first round, but I am not
157
+convinced it is doing the right thing in the connectivity traverser.
158
+I'd like to keep this out of 1.6.2.
159
+
160
+* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits
161
+ - archive.c: add support for --submodules[=(all|checkedout)]
162
+ - tree.c: allow read_tree_recursive() to traverse gitlink entries
163
+ + Revert round #1 of the series
164
+ + builtin-ls-tree: enable traversal of submodules
165
+ + archive.c: enable traversal of submodules
166
+ + tree.c: add support for traversal of submodules
167
+
168
+Sorry, but what's the status of this one? I am not particularly
169
+interested in this new feature myself, so unless I hear otherwise from
170
+people, I'd like to keep this out of 1.6.2. That would have the added
171
+benefit of being able to discard the first four that is already in 'next'
172
+to get a fresh start post 1.6.2 ;-)
173
+
174
+* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
175
+ - gitweb: Optional grouping of projects by category
176
+ - gitweb: Split git_project_list_body in two functions
177
+ - gitweb: Modularized git_get_project_description to be more generic
178
+
179
+Design discussion between Jakub and Sebastien seems to have stalled.
180
+
181
+----------------------------------------------------------------
182
+[Reverted]
183
+
184
+* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
185
+ ? Revert previous two commits
186
+ ? move the color variables to color.c
187
+ ? handle color.ui at a central place
188
+
189
+This broke git-format-patch badly.
190
+
191
+----------------------------------------------------------------
192
+[Actively cooking]
193
+
194
+* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits
195
+ + In add --patch, Handle K,k,J,j slightly more gracefully.
196
+ + Add / command in add --patch
197
+ + git-add -i/-p: Change prompt separater from slash to comma
198
+
199
+I think this is Ok to have in 1.6.2
200
+
201
+* cb/mergetool (Fri Jan 30 23:20:11 2009 +0000) 3 commits
202
+ - mergetool: fix running mergetool in sub-directories
203
+ - mergetool: Add a test for running mergetool in a sub-directory
204
+ + mergetool: respect autocrlf by using checkout-index
205
+
206
+The fix to its subdirectory behaviour looked somewhat iffy and may have a
207
+potential for cleaning up. But we should have it in 1.6.2.
208
+
209
+* js/valgrind (Wed Jan 21 02:36:40 2009 +0100) 2 commits
210
+ - valgrind: ignore ldso errors
211
+ - Add valgrind support in test scripts
212
+
213
+Dscho and Peff had further exchanges on the list; I am sort of waiting for
214
+the conclusion before picking any intermediate version up.
215
+
216
+* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits
217
+ + git-notes: fix printing of multi-line notes
218
+ + notes: fix core.notesRef documentation
219
+ + Add an expensive test for git-notes
220
+ + Speed up git notes lookup
221
+ + Add a script to edit/inspect notes
222
+ + Introduce commit notes
223
+
224
+It would be nice to hear a real world success story using the notes
225
+mechanism; Dscho says he also wants to make sure the current choice
226
+of the structure scales well before casting it in stone.
227
+
228
+----------------------------------------------------------------
229
+[Graduated to "master"]
230
+
231
+* jc/maint-1.6.0-split-diff-metainfo (Mon Jan 26 00:08:24 2009 -0800) 1 commit
232
+ + diff.c: output correct index lines for a split diff
233
+
234
+This is slated for maintenance series 1.6.0.X.
235
+
236
+* jc/maint-split-diff-metainfo (Tue Jan 27 01:08:02 2009 -0800) 2 commits
237
+ + Merge branch 'jc/maint-1.6.0-split-diff-metainfo' into jc/maint-
238
+ split-diff-metainfo
239
+ + diff.c: output correct index lines for a split diff
240
+
241
+Early conflict resolution branch for the above to carry it to 1.6.1.X
242
+series.
243
+
244
+* js/maint-rebase-i-submodule (Tue Jan 27 12:42:31 2009 +0100) 2 commits
245
+ + Fix submodule squashing into unrelated commit
246
+ + rebase -i squashes submodule changes into unrelated commit
247
+
248
+* jg/tag-contains (Mon Jan 26 09:13:25 2009 -0500) 3 commits
249
+ + git-tag: Add --contains option
250
+ + Make has_commit() non-static
251
+ + Make opt_parse_with_commit() non-static
252
+
253
+* jc/maint-allow-uninteresting-missing (Tue Jan 27 23:19:30 2009 -0800) 1 commit
254
+ + revision traversal: allow UNINTERESTING objects to be missing
255
+
256
+This is a small follow-up to the fix to send-pack in 1.6.1; meant to go in
257
+1.6.1.X maintenance series and newer.
258
+
259
+* am/maint-push-doc (Mon Jan 26 00:45:33 2009 +0100) 3 commits
260
+ + Documentation: rework src/dst description in git push
261
+ + Documentation: more git push examples
262
+ + Documentation: simplify refspec format description
263
+
264
+* jc/maint-apply-fix (Sun Jan 25 23:41:26 2009 -0800) 1 commit
265
+ + builtin-apply.c: do not set bogus mode in check_preimage() for
266
+ deleted path
267
+
268
+* ks/maint-mailinfo-folded (Tue Jan 13 01:21:04 2009 +0300) 4 commits
269
+ + mailinfo: tests for RFC2047 examples
270
+ + mailinfo: add explicit test for mails like '<a.u.thor@example.com>
271
+ (A U Thor)'
272
+ + mailinfo: 'From:' header should be unfold as well
273
+ + mailinfo: correctly handle multiline 'Subject:' header
274
+
275
+Graduated with a follow-up patch from the original author.
276
+
277
+* jg/mergetool (Sat Jan 24 00:12:45 2009 +0100) 1 commit
278
+ + mergetool: Don't repeat merge tool candidates
279
+
280
+* jk/signal-cleanup (Thu Jan 22 01:03:28 2009 -0500) 5 commits
281
+ + pager: do wait_for_pager on signal death
282
+ + refactor signal handling for cleanup functions
283
+ + chain kill signals for cleanup functions
284
+ + diff: refactor tempfile cleanup handling
285
+ + Windows: Fix signal numbers
286
+
287
+* sp/runtime-prefix (Sun Jan 18 13:00:15 2009 +0100) 7 commits
288
+ + Windows: Revert to default paths and convert them by
289
+ RUNTIME_PREFIX
290
+ + Compute prefix at runtime if RUNTIME_PREFIX is set
291
+ + Modify setup_path() to only add git_exec_path() to PATH
292
+ + Add calls to git_extract_argv0_path() in programs that call
293
+ git_config_*
294
+ + git_extract_argv0_path(): Move check for valid argv0 from caller
295
+ to callee
296
+ + Refactor git_set_argv0_path() to git_extract_argv0_path()
297
+ + Move computation of absolute paths from Makefile to runtime (in
298
+ preparation for RUNTIME_PREFIX)
299
+
300
+There was a report that this breaks with older GNU Make.
301
+
302
+----------------------------------------------------------------
303
+[Will merge to "master" soon]
304
+
305
+* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit
306
+ - add -u: do not fail to resolve a path as deleted
307
+
308
+This has been updated from the posted version with a correction. We
309
+should have it in 1.6.2
310
+
311
+* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits
312
+ + git: use run_command() to execute dashed externals
313
+ + run_command(): help callers distinguish errors
314
+ + run_command(): handle missing command errors more gracefully
315
+ + git: s/run_command/run_builtin/
316
+
317
+Looked good for 1.6.2.
318
+
319
+* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits
320
+ + git-am: Add --ignore-date option
321
+ + am: Add --committer-date-is-author-date option
322
+
323
+It is a (probably) useful new feature with a sort-of cute explanation.
324
+I am not sure if it needs further work (such as hooking it to rebase),
325
+but other than that, I think it is Ok to have in 1.6.2.
326
+
327
+----------------------------------------------------------------
328
+[On Hold]
329
+
330
+* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
331
+ - git commit: pathspec without -i/-o implies -i semantics during a
332
+ merge
333
+ - builtin-commit: shorten eye-sore overlong lines
334
+ - Add "partial commit" tests during a conflicted merge
335
+
336
+This is only meant as a weatherballoon to help facilitate discussion.
337
+
338
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
339
+ . diff: enable "too large a rename" warning when -M/-C is explicitly
340
+ asked for
341
+
342
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
343
+ . git-am --forge: add Signed-off-by: line for the author
344
+ . git-am: clean-up Signed-off-by: lines
345
+ . stripspace: add --log-clean option to clean up signed-off-by:
346
+ lines
347
+ . stripspace: use parse_options()
348
+ . Add "git am -s" test
349
+ . git-am: refactor code to add signed-off-by line for the committer
350
+
351
+* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits
352
+ . revision --simplify-merges: incremental simplification
353
+ . revision --simplify-merges: prepare for incremental simplification