What's cooking as of 1.6.2-rc0

Junio C Hamano committed Feb 7, 2009 at 13:23 UTC 280195b2cbe598bbb5241606ca2eab0b720f2b39
1 file changed +301
whats/cooking/2009/02/03.txt new
+301
@@ -0,0 +1,301 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Feb 2009, #03; Sat, 07)
3 +X-master-at: 621f1b4bcf40f1469fc59202248df35619e33c82
4 +X-next-at: 5e148c2bfc7eda43fad0646e9583a9959b15bb2a
5 +
6 +What's cooking in git.git (Feb 2009, #03; Sat, 07)
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 at -rc0 now.
18 +
19 +Traditionally, rc freeze, especially post -rc1, meant that I stop paying
20 +attention to whatever topic that did not graduate to 'master', and not
21 +queuing further updates to 'next' to encourage people to concentrate on
22 +'master' bugfixes by discouraging them from tinkering the topics that
23 +won't be in the next release.
24 +
25 +I do not think that approach has worked well in practice, so let's try
26 +something slightly different.
27 +
28 +I'll try to leave 'next' open during this freeze, but the new topics and
29 +topics that hasn't cooked to maturity by -rc1 will not be in 1.6.2. That
30 +is what a freeze means, so it may not be necessary to say so, but I am
31 +just trying to make it clear.
32 +
33 +----------------------------------------------------------------
34 +[New Topics]
35 +
36 +* jn/gitweb-committag (Fri Feb 6 10:12:41 2009 +0100) 1 commit
37 + + gitweb: Better regexp for SHA-1 committag match
38 +
39 +* js/maint-1.6.0-path-normalize (Sat Feb 7 16:08:31 2009 +0100) 5 commits
40 + + Remove unused normalize_absolute_path()
41 + + Test and fix normalize_path_copy()
42 + + Fix GIT_CEILING_DIRECTORIES on Windows
43 + + Move sanitary_path_copy() to path.c and rename it to
44 + normalize_path_copy()
45 + + Make test-path-utils more robust against incorrect use
46 +
47 +Replaces one from René that was queued earlier.
48 +
49 +* js/git-submodule-trailing-slash (Sat Feb 7 14:43:15 2009 +0100) 2 commits
50 + + submodule: warn about non-submodules
51 + + Let ls-files strip trailing slashes in submodules' paths
52 +
53 +* ms/mailmap (Thu Feb 5 09:06:41 2009 +0100) 4 commits
54 + - Change current mailmap usage to do matching on both name and email
55 + of author/committer.
56 + - Add map_user() and clear_mailmap() to mailmap
57 + - Add find_insert_index, insert_at_index and clear_func functions to
58 + string_list
59 + - Add log.mailmap as configurational option for mailmap location
60 +
61 +* ff/submodule-no-fetch (Thu Feb 5 20:18:32 2009 -0200) 1 commit
62 + - submodule: add --no-fetch parameter to update command
63 +
64 +* mc/setup-cd-p (Fri Feb 6 19:24:28 2009 -0800) 1 commit
65 + - git-sh-setup: Use "cd" option, not /bin/pwd, for symlinked work
66 + tree
67 +
68 +* js/rebase-error-a-bit-more-verbose (Sat Feb 7 18:20:09 2009 +0100) 1 commit
69 + + rebase: explain why when the HEAD could not be detached
70 +
71 +All of these looked sensible, and I think many deserve to be in 1.6.2.
72 +They are not in -rc0 only because I started the release engineering before
73 +they arrived.
74 +
75 +----------------------------------------------------------------
76 +[Stalled and may need help and prodding to go forward]
77 +
78 +* jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
79 + + blame: show "previous" information in --porcelain/--incremental
80 + format
81 + + git-blame: refactor code to emit "porcelain format" output
82 +
83 +This gives Porcelains (like gitweb) the information on the commit _before_
84 +the one that the final blame is laid on, which should save them one
85 +rev-parse to dig further. The line number in the "previous" information
86 +may need refining, and sanity checking code for reference counting may
87 +need to be resurrected before this can move forward.
88 +
89 +Recent tig discussion may blow new life into it. Let's see.
90 +
91 +* db/foreign-scm (Sun Jan 11 15:12:10 2009 -0500) 3 commits
92 + - Support fetching from foreign VCSes
93 + - Add specification of git-vcs helpers
94 + - Add "vcs" config option in remotes
95 +
96 +The "spec" did not seem quite well cooked yet, but in the longer term I
97 +think something like this to allow interoperating with other SCMs as if
98 +the other end is a native git repository is a very worthy goal.
99 +
100 +* cc/replace (Mon Feb 2 06:13:06 2009 +0100) 11 commits
101 + - builtin-replace: use "usage_msg_opt" to give better error messages
102 + - parse-options: add new function "usage_msg_opt"
103 + - builtin-replace: teach "git replace" to actually replace
104 + - Add new "git replace" command
105 + - environment: add global variable to disable replacement
106 + - mktag: call "check_sha1_signature" with the replacement sha1
107 + - replace_object: add a test case
108 + - object: call "check_sha1_signature" with the replacement sha1
109 + - sha1_file: add a "read_sha1_file_repl" function
110 + - replace_object: add mechanism to replace objects found in
111 + "refs/replace/"
112 + - refs: add a "for_each_replace_ref" function
113 +
114 +I think the code is much cleaner than the first round, but I am not
115 +convinced it is doing the right thing in the connectivity traverser.
116 +I'd like to keep this out of 1.6.2.
117 +
118 +* sc/gitweb-category (Fri Dec 12 00:45:12 2008 +0100) 3 commits
119 + - gitweb: Optional grouping of projects by category
120 + - gitweb: Split git_project_list_body in two functions
121 + - gitweb: Modularized git_get_project_description to be more generic
122 +
123 +Design discussion between Jakub and Sebastien seems to have stalled.
124 +
125 +* jc/fsck (Fri Jan 30 02:33:47 2009 -0800) 4 commits
126 + - fsck: three levels of validation
127 + - verify-pack: add --quick
128 + - verify_pack(): allow a quicker verification for a pack with
129 + version 2 idx
130 + - pack-check.c: minor formatting fix to match coding style
131 +
132 +J6t has a good point that if this had any value then medium level should
133 +replace the default. I am tempted to actually dropping this as a failed
134 +experiment.
135 +
136 +----------------------------------------------------------------
137 +[Reverted]
138 +
139 +* mh/unify-color (Fri Jan 23 01:25:23 2009 -0800) 3 commits
140 + ? Revert previous two commits
141 + ? move the color variables to color.c
142 + ? handle color.ui at a central place
143 +
144 +This broke git-format-patch badly.
145 +
146 +* rs/maint-1.6.0-windows-ceiling (Sat Feb 7 12:40:40 2009 -0800) 2 commits
147 + ? Revert "fix t1504 on Windows"
148 + ? fix t1504 on Windows
149 +
150 +I'm giving a fresh start to J6t's series which contains this.
151 +
152 +* lh/reverted-submodule-tree-traversal (Sun Jan 25 18:39:55 2009 -0800) 4 commits
153 + ? Revert round #1 of the series
154 + ? builtin-ls-tree: enable traversal of submodules
155 + ? archive.c: enable traversal of submodules
156 + ? tree.c: add support for traversal of submodules
157 +
158 +I'm giving a fresh start to Lars's second iteration.
159 +
160 +----------------------------------------------------------------
161 +[Actively cooking]
162 +
163 +* lh/submodule-tree-traversal (Sun Jan 25 01:52:06 2009 +0100) 2 commits
164 + - archive.c: add support for --submodules[=(all|checkedout)]
165 + + tree.c: allow read_tree_recursive() to traverse gitlink entries
166 +
167 +I think the first one is Ok to have in 1.6.2 but I didn't audit all the
168 +r-t-r callback functions myself to make sure they do not return
169 +READ_TREE_RECURSIVE when they shouldn't. Perhaps somebody else should
170 +double check.
171 +
172 +* kb/checkout-optim (Wed Feb 4 13:53:20 2009 +0100) 8 commits
173 + - lstat_cache(): print a warning if doing ping-pong between cache
174 + types
175 + - show_patch_diff(): remove a call to fstat()
176 + - write_entry(): cleanup of some duplicated code
177 + - create_directories(): remove some memcpy() and strchr() calls
178 + - unlink_entry(): introduce schedule_dir_for_removal()
179 + - lstat_cache(): swap func(length, string) into func(string, length)
180 + - lstat_cache(): generalise longest_match_lstat_cache()
181 + - lstat_cache(): small cleanup and optimisation
182 +
183 +I thought it looked fine, but Kjetil asks to cook this a bit longer.
184 +
185 +* js/valgrind (Thu Feb 5 22:03:00 2009 +0100) 9 commits
186 + + valgrind: do not require valgrind 3.4.0 or newer
187 + + test-lib: avoid assuming that templates/ are in the GIT_EXEC_PATH
188 + + Tests: let --valgrind imply --verbose and --tee
189 + + Add a script to coalesce the valgrind outputs
190 + + t/Makefile: provide a 'valgrind' target
191 + + test-lib.sh: optionally output to test-results/$TEST.out, too
192 + + Valgrind support: check for more than just programming errors
193 + + valgrind: ignore ldso and more libz errors
194 + + Add valgrind support in test scripts
195 +
196 +----------------------------------------------------------------
197 +[Graduated to "master"]
198 +
199 +* js/maint-remote-remove-mirror (Wed Feb 4 11:06:07 2009 -0500) 2 commits
200 + + builtin-remote: make rm operation safer in mirrored repository
201 + + builtin-remote: make rm() use properly named variable to hold
202 + return value
203 +
204 +* ek/maint-filter-branch-bare (Tue Feb 3 13:27:03 2009 -0500) 1 commit
205 + + filter-branch: Fix fatal error on bare repositories
206 +
207 +* tr/add-p-single (Fri Feb 6 20:30:01 2009 +0100) 3 commits
208 + + add -p: import Term::ReadKey with 'require'
209 + + add -p: print errors in separate color
210 + + add -p: prompt for single characters
211 +
212 +* js/notes (Tue Jan 13 20:57:16 2009 +0100) 6 commits
213 + + git-notes: fix printing of multi-line notes
214 + + notes: fix core.notesRef documentation
215 + + Add an expensive test for git-notes
216 + + Speed up git notes lookup
217 + + Add a script to edit/inspect notes
218 + + Introduce commit notes
219 +
220 +* gt/utf8-width (Fri Jan 30 04:41:29 2009 -0500) 2 commits
221 + + builtin-blame.c: Use utf8_strwidth for author's names
222 + + utf8: add utf8_strwidth()
223 +
224 +I replaced the bottom one with a cheesy "if it does not look like
225 +utf8, give strlen back" to make the result behave sensibly for legacy
226 +encodings. It does improve "git blame git-stash.sh" output (especially
227 +if you remove .mailmap).
228 +
229 +* jk/head-symref (Thu Jan 29 03:33:02 2009 -0500) 2 commits
230 + + symbolic ref: refuse non-ref targets in HEAD
231 + + validate_headref: tighten ref-matching to just branches
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 +* jc/refuse-push-to-current (Sat Jan 31 17:34:05 2009 -0800) 1 commit
241 + + receive-pack: explain what to do when push updates the current
242 + branch
243 +
244 +* cb/mergetool (Fri Jan 30 23:20:11 2009 +0000) 3 commits
245 + + mergetool: fix running mergetool in sub-directories
246 + + mergetool: Add a test for running mergetool in a sub-directory
247 + + mergetool: respect autocrlf by using checkout-index
248 +
249 +----------------------------------------------------------------
250 +[On Hold]
251 +
252 +* jc/refuse-push-to-current-1.7.0 (Sat Jan 31 17:34:05 2009 -0800) 1 commit
253 + - Refuse updating the current branch in a non-bare repository via
254 + push
255 +
256 +This is for 1.7.0.
257 +
258 +* jc/commit-assume-also-during-merge (Thu Jan 22 22:21:49 2009 -0800) 3 commits
259 + - git commit: pathspec without -i/-o implies -i semantics during a
260 + merge
261 + - builtin-commit: shorten eye-sore overlong lines
262 + - Add "partial commit" tests during a conflicted merge
263 +
264 +This is only meant as a weatherballoon to help facilitate discussion.
265 +
266 +* jc/merge-convert (Mon Jan 26 16:45:01 2009 -0800) 1 commit
267 + - git-merge-file: allow converting the results for the work tree
268 +
269 +This is a feature waiting for a user. I do not need it in 1.6.2
270 +
271 +We did not give scripted Porcelains a way to say "this temporary file I am
272 +using for merging is for this path, so use the core.autocrlf and attributes
273 +rules for that final path". Instead, merge-file simply wrote out the
274 +data in the canonical repository representation.
275 +
276 +rerere has the same issue, but it is a lot worse. It reads the three
277 +files (preimage, postimage and thisimage) from the work tree in the work
278 +tree representation, merges them without converting them to the canonical
279 +representation first but inserts the conflict markers with the canonical
280 +representation and writes the resulting mess out. It needs to be fixed to
281 +read with convert_to_git(), merge them while they are still in the
282 +canonical representation and possibly add conflict markers, and then write
283 +the results out after convert_to_working_tree(). It also needs to write
284 +in binary mode as well.
285 +
286 +* jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
287 + . diff: enable "too large a rename" warning when -M/-C is explicitly
288 + asked for
289 +
290 +* jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
291 + . git-am --forge: add Signed-off-by: line for the author
292 + . git-am: clean-up Signed-off-by: lines
293 + . stripspace: add --log-clean option to clean up signed-off-by:
294 + lines
295 + . stripspace: use parse_options()
296 + . Add "git am -s" test
297 + . git-am: refactor code to add signed-off-by line for the committer
298 +
299 +* jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 2 commits
300 + . revision --simplify-merges: incremental simplification
301 + . revision --simplify-merges: prepare for incremental simplification