What's cooking
Junio C Hamano committed
Feb 4, 2009 at 17:33 UTC
2c745283326089319ad8536e441787a50d441c91
1 file changed
+286
whats/cooking/2009/02/02.txt
new
+286
@@ -0,0 +1,286 @@
1
+To: git@vger.kernel.org
2
+Subject: What's cooking in git.git (Feb 2009, #02; Wed, 04)
3
+X-master-at: 88ccb9f9745ff1f44bff7c6d6c17ad4b46870706
4
+X-next-at: c5d3fa64fe3170d80a48f5c5b99f14dbabcbd9b4
5
+
6
+What's cooking in git.git (Feb 2009, #02; Wed, 04)
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
+I was this close (shows thumb and index finger almost touching) to merge
18
+js/notes to master and declare 1.6.2-rc0 but decided against it, because I
19
+thought I need to at least have heard about somebody who used it before
20
+doing so. Perhaps I'll try it out myself to keep track of commits that
21
+happened between 1.6.1 and master that need to be cherry-picked to maint,
22
+or something silly like that. In any case, my prediction is that -rc0
23
+would look like what 'next' tonight looks like, nothing more, not much
24
+less (I'd probably drop jc/blame).
25
+
26
+----------------------------------------------------------------
27
+[New Topics]
28
+
29
+* jc/refuse-push-to-current-1.7.0 (Sat Jan 31 17:34:05 2009 -0800) 1 commit
30
+ - Refuse updating the current branch in a non-bare repository via
31
+ push
32
+
33
+This is for 1.7.0.
34
+
35
+* js/maint-remote-remove-mirror (Wed Feb 4 11:06:07 2009 -0500) 2 commits
36
+ + builtin-remote: make rm operation safer in mirrored repository
37
+ + builtin-remote: make rm() use properly named variable to hold
38
+ return value
39
+
40
+* ek/maint-filter-branch-bare (Tue Feb 3 13:27:03 2009 -0500) 1 commit
41
+ + filter-branch: Fix fatal error on bare repositories
42
+
43
+* tr/add-p-single (Wed Feb 4 21:12:39 2009 +0100) 2 commits
44
+ - add -p: print errors in separate color
45
+ - add -p: prompt for single characters
46
+
47
+Will move to 'next'; it may or may not mature in time for 1.6.2.
48
+
49
+----------------------------------------------------------------
50
+[Stalled and may need help and prodding to go forward]
51
+
52
+* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
53
+ - git-merge-file: allow converting the results for the work tree
54
+
55
+This is a feature waiting for a user. I do not need it in 1.6.2
56
+
57
+We did not give scripted Porcelains a way to say "this temporary file I am
58
+using for merging is for this path, so use the core.autocrlf and attributes
59
+rules for that final path". Instead, merge-file simply wrote out the
60
+data in the canonical repository representation.
61
+
62
+rerere has the same issue, but it is a lot worse. It reads the three
63
+files (preimage, postimage and thisimage) from the work tree in the work
64
+tree representation, merges them without converting them to the canonical
65
+representation first but inserts the conflict markers with the canonical
66
+representation and writes the resulting mess out. It needs to be fixed to
67
+read with convert_to_git(), merge them while they are still in the
68
+canonical representation and possibly add conflict markers, and then write
69
+the results out after convert_to_working_tree(). It also needs to write
70
+in binary mode as well.
71
+
72
+* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
73
+ + blame: show "previous" information in --porcelain/--incremental
74
+ format
75
+ + git-blame: refactor code to emit "porcelain format" output
76
+
77
+This gives Porcelains (like gitweb) the information on the commit _before_
78
+the one that the final blame is laid on, which should save them one
79
+rev-parse to dig further. The line number in the "previous" information
80
+may need refining, and sanity checking code for reference counting may
81
+need to be resurrected before this can move forward.
82
+
83
+* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
84
+ - Support fetching from foreign VCSes
85
+ - Add specification of git-vcs helpers
86
+ - Add "vcs" config option in remotes
87
+
88
+The "spec" did not seem quite well cooked yet, but in the longer term I
89
+think something like this to allow interoperating with other SCMs as if
90
+the other end is a native git repository is a very worthy goal.
91
+
92
+* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
93
+ - builtin-replace: use "usage_msg_opt" to give better error messages
94
+ - parse-options: add new function "usage_msg_opt"
95
+ - builtin-replace: teach "git replace" to actually replace
96
+ - Add new "git replace" command
97
+ - environment: add global variable to disable replacement
98
+ - mktag: call "check_sha1_signature" with the replacement sha1
99
+ - replace_object: add a test case
100
+ - object: call "check_sha1_signature" with the replacement sha1
101
+ - sha1_file: add a "read_sha1_file_repl" function
102
+ - replace_object: add mechanism to replace objects found in
103
+ "refs/replace/"
104
+ - refs: add a "for_each_replace_ref" function
105
+
106
+I think the code is much cleaner than the first round, but I am not
107
+convinced it is doing the right thing in the connectivity traverser.
108
+I'd like to keep this out of 1.6.2.
109
+
110
+* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 6 commits
111
+ - archive.c: add support for --submodules[=(all|checkedout)]
112
+ - tree.c: allow read_tree_recursive() to traverse gitlink entries
113
+ + Revert round #1 of the series
114
+ + builtin-ls-tree: enable traversal of submodules
115
+ + archive.c: enable traversal of submodules
116
+ + tree.c: add support for traversal of submodules
117
+
118
+Sorry, but what's the status of this one? I am not particularly
119
+interested in this new feature myself, so unless I hear otherwise from
120
+people, I'd like to keep this out of 1.6.2. That would have the added
121
+benefit of being able to discard the first four that is already in 'next'
122
+to get a fresh start post 1.6.2 ;-)
123
+
124
+* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
125
+ - gitweb: Optional grouping of projects by category
126
+ - gitweb: Split git_project_list_body in two functions
127
+ - gitweb: Modularized git_get_project_description to be more generic
128
+
129
+Design discussion between Jakub and Sebastien seems to have stalled.
130
+
131
+----------------------------------------------------------------
132
+[Reverted]
133
+
134
+* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
135
+ ? Revert previous two commits
136
+ ? move the color variables to color.c
137
+ ? handle color.ui at a central place
138
+
139
+This broke git-format-patch badly.
140
+
141
+----------------------------------------------------------------
142
+[Actively cooking]
143
+
144
+* jc/fsck (Fri Jan 30 02:44:13 2009 -0800) 5 commits
145
+ - fsck: revert --quick to the default and introduce --medium
146
+ - fsck: three levels of validation
147
+ - verify-pack: add --quick
148
+ - verify_pack(): allow a quicker verification for a pack with
149
+ version 2 idx
150
+ - pack-check.c: minor formatting fix to match coding style
151
+
152
+I haven't heard anything positive nor negative about this series. I think
153
+the tip two commits should be squashed (and perhaps the option parser
154
+cleaned up as suggested on the list).
155
+
156
+* kb/checkout-optim (Wed Feb 4 13:53:20 2009 +0100) 8 commits
157
+ - lstat_cache(): print a warning if doing ping-pong between cache
158
+ types
159
+ - show_patch_diff(): remove a call to fstat()
160
+ - write_entry(): cleanup of some duplicated code
161
+ - create_directories(): remove some memcpy() and strchr() calls
162
+ - unlink_entry(): introduce schedule_dir_for_removal()
163
+ - lstat_cache(): swap func(length, string) into func(string, length)
164
+ - lstat_cache(): generalise longest_match_lstat_cache()
165
+ - lstat_cache(): small cleanup and optimisation
166
+
167
+Should be in 'next' soon.
168
+
169
+* js/valgrind (Wed Feb 4 00:26:31 2009 +0100) 8 commits
170
+ - test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
171
+ - Tests: let --valgrind imply --verbose and --tee
172
+ - Add a script to coalesce the valgrind outputs
173
+ - t/Makefile: provide a 'valgrind' target
174
+ - test-lib.sh: optionally output to test-results/$TEST.out, too
175
+ - Valgrind support: check for more than just programming errors
176
+ - valgrind: ignore ldso and more libz errors
177
+ - Add valgrind support in test scripts
178
+
179
+Should be in 'next' soon.
180
+
181
+* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits
182
+ + git-notes: fix printing of multi-line notes
183
+ + notes: fix core.notesRef documentation
184
+ + Add an expensive test for git-notes
185
+ + Speed up git notes lookup
186
+ + Add a script to edit/inspect notes
187
+ + Introduce commit notes
188
+
189
+It would be nice to hear a real world success story using the notes
190
+mechanism; Dscho says he also wants to make sure the current choice
191
+of the structure scales well before casting it in stone, but nothing
192
+has happened since then.
193
+
194
+----------------------------------------------------------------
195
+[Graduated to "master"]
196
+
197
+* wp/add-patch-find (Thu Nov 27 04:08:03 2008 +0000) 3 commits
198
+ + In add --patch, Handle K,k,J,j slightly more gracefully.
199
+ + Add / command in add --patch
200
+ + git-add -i/-p: Change prompt separater from slash to comma
201
+
202
+* jc/maint-add-u-remove-conflicted (Wed Jan 28 14:24:53 2009 -0800) 1 commit
203
+ + add -u: do not fail to resolve a path as deleted
204
+
205
+* jk/maint-cleanup-after-exec-failure (Wed Jan 28 02:38:14 2009 -0500) 4 commits
206
+ + git: use run_command() to execute dashed externals
207
+ + run_command(): help callers distinguish errors
208
+ + run_command(): handle missing command errors more gracefully
209
+ + git: s/run_command/run_builtin/
210
+
211
+* ns/am-slacker (Sat Jan 24 10:18:02 2009 +0900) 2 commits
212
+ + git-am: Add --ignore-date option
213
+ + am: Add --committer-date-is-author-date option
214
+
215
+----------------------------------------------------------------
216
+[Will merge to "master" soon]
217
+
218
+* gt/utf8-width (Fri Jan 30 04:41:29 2009 -0500) 2 commits
219
+ + builtin-blame.c: Use utf8_strwidth for author's names
220
+ + utf8: add utf8_strwidth()
221
+
222
+I replaced the bottom one with a cheesy "if it does not look like
223
+utf8, give strlen back" to make the result behave sensibly for legacy
224
+encodings. It does improve "git blame git-stash.sh" output (especially
225
+if you remove .mailmap).
226
+
227
+* jk/head-symref (Thu Jan 29 03:33:02 2009 -0500) 2 commits
228
+ + symbolic ref: refuse non-ref targets in HEAD
229
+ + validate_headref: tighten ref-matching to just branches
230
+
231
+Looked fine for 1.6.2.
232
+
233
+* rc/http-push (Tue Feb 3 20:39:00 2009 +0800) 4 commits
234
+ + http-push: wrap signature of get_remote_object_url
235
+ + http-push: add back underscore separator before lock token
236
+ + http-push.c: get_remote_object_url() is only used under
237
+ USE_CURL_MULTI
238
+ + http-push: refactor request url creation
239
+
240
+As these are supposed to be only clean-ups without any functionality
241
+change, let's flush it out before 1.6.2.
242
+
243
+* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 1 commit
244
+ + receive-pack: explain what to do when push updates the current
245
+ branch
246
+
247
+This prepares to finally switch the default for receive.denyCurrentBranch
248
+to "refuse". The idea is to issue a big warning to people who push into
249
+currently checked out branch when the configuration is unset and we
250
+default to "warn", and explain in detail (1) why it is not likely to be
251
+what they want to do (to help new people), (2) if it is what they want,
252
+how to squelch that annoyingly long message, and (3) the default will be
253
+changed to "refuse" in a future release of git.
254
+
255
+* cb/mergetool (Fri Jan 30 23:20:11 2009 +0000) 3 commits
256
+ + mergetool: fix running mergetool in sub-directories
257
+ + mergetool: Add a test for running mergetool in a sub-directory
258
+ + mergetool: respect autocrlf by using checkout-index
259
+
260
+----------------------------------------------------------------
261
+[On Hold]
262
+
263
+* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
264
+ - git commit: pathspec without -i/-o implies -i semantics during a
265
+ merge
266
+ - builtin-commit: shorten eye-sore overlong lines
267
+ - Add "partial commit" tests during a conflicted merge
268
+
269
+This is only meant as a weatherballoon to help facilitate discussion.
270
+
271
+* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
272
+ . diff: enable "too large a rename" warning when -M/-C is explicitly
273
+ asked for
274
+
275
+* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
276
+ . git-am --forge: add Signed-off-by: line for the author
277
+ . git-am: clean-up Signed-off-by: lines
278
+ . stripspace: add --log-clean option to clean up signed-off-by:
279
+ lines
280
+ . stripspace: use parse_options()
281
+ . Add "git am -s" test
282
+ . git-am: refactor code to add signed-off-by line for the committer
283
+
284
+* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits
285
+ . revision --simplify-merges: incremental simplification
286
+ . revision --simplify-merges: prepare for incremental simplification