What's cooking

Junio C Hamano committed Aug 30, 2009 at 23:58 UTC 372da4fac434ccef435bd65eb7834bf691178646
1 file changed +407
whats/cooking/2009/08/06.txt new
+407
@@ -0,0 +1,407 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Aug 2009, #06; Sun, 30)
3 +X-master-at: f324cb50be3d88c6fb6123c85da749695a749f60
4 +X-next-at: 5fc6248250e68c3b723efb9b868d8fc27499065a
5 +
6 +What's cooking in git.git (Aug 2009, #06; Sun, 30)
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 +After the 1.6.5 cycle, the next release will be 1.7.0, and we will push
15 +out the planned "push safety" change. 1.7.0 would be a good time to
16 +introduce "justifiable" changes that are not strictly backward compatible.
17 +
18 +During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.
19 +
20 +--------------------------------------------------
21 +[Graduated to "master"]
22 +
23 +* wl/insta-mongoose (2009-08-21) 1 commit
24 + (merged to 'next' on 2009-08-25 at da1d566)
25 + + Add support for the Mongoose web server.
26 +
27 +* as/maint-graph-interesting-fix (2009-08-21) 2 commits.
28 + (merged to 'next' on 2009-08-25 at 9d5e215)
29 + + Add tests for rev-list --graph with options that simplify history
30 + + graph API: fix bug in graph_is_interesting()
31 +
32 +* jc/maint-unpack-objects-strict (2009-08-13) 1 commit.
33 + (merged to 'next' on 2009-08-23 at 38eb750)
34 + + Fix "unpack-objects --strict"
35 +
36 +* jh/submodule-foreach (2009-08-20) 9 commits
37 + (merged to 'next' on 2009-08-20 at 671bea4)
38 + + git clone: Add --recursive to automatically checkout (nested) submodules
39 + + t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
40 + (merged to 'next' on 2009-08-18 at f4a881d)
41 + + git submodule status: Add --recursive to recurse into nested submodules
42 + + git submodule update: Introduce --recursive to update nested submodules
43 + + git submodule foreach: Add --recursive to recurse into nested submodules
44 + + git submodule foreach: test access to submodule name as '$name'
45 + + Add selftest for 'git submodule foreach'
46 + + git submodule: Cleanup usage string and add option parsing to cmd_foreach()
47 + + git submodule foreach: Provide access to submodule name, as '$name'
48 +
49 +* lt/block-sha1 (2009-08-17) 4 commits
50 + (merged to 'next' on 2009-08-18 at 67a1ce8)
51 + + remove ARM and Mozilla SHA1 implementations
52 + + block-sha1: guard gcc extensions with __GNUC__
53 + + make sure byte swapping is optimal for git
54 + + block-sha1: make the size member first in the context struct
55 +
56 +* np/maint-1.6.3-deepen (2009-08-24) 1 commit.
57 + (merged to 'next' on 2009-08-25 at 8e383d4)
58 + + fix simple deepening of a repo
59 +
60 +* jk/maint-1.6.3-checkout-unborn (2009-08-24) 1 commit.
61 + (merged to 'next' on 2009-08-25 at 5f29625)
62 + + checkout: do not imply "-f" on unborn branches
63 +
64 +* mm/reset-report (2009-08-21) 2 commits
65 + (merged to 'next' on 2009-08-25 at f2a4424)
66 + + reset: make the reminder output consistent with "checkout"
67 + + Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
68 +
69 +* jc/shortstatus (2009-08-15) 11 commits
70 + (merged to 'next' on 2009-08-15 at 7e40766)
71 + + git commit --dry-run -v: show diff in color when asked
72 + + Documentation/git-commit.txt: describe --dry-run
73 + (merged to 'next' on 2009-08-12 at 53bda17)
74 + + wt-status: collect untracked files in a separate "collect" phase
75 + + Make git_status_config() file scope static to builtin-commit.c
76 + + wt-status: move wt_status_colors[] into wt_status structure
77 + + wt-status: move many global settings to wt_status structure
78 + + commit: --dry-run
79 + (merged to 'next' on 2009-08-06 at fe8cb94)
80 + + status: show worktree status of conflicted paths separately
81 + + wt-status.c: rework the way changes to the index and work tree are summarized
82 + + diff-index: keep the original index intact
83 + + diff-index: report unmerged new entries
84 + (this branch is used by jc/1.7.0-status.)
85 +
86 +--------------------------------------------------
87 +[New Topics]
88 +
89 +* jc/upload-pack-hook (2009-08-28) 2 commits
90 + - upload-pack: feed "kind [clone|fetch]" to post-upload-pack hook
91 + - upload-pack: add a trigger for post-upload-pack hook
92 +
93 +I do not know if the distinction between fetching some but not all refs
94 +and fetching full set of refs into an empty repository is something worth
95 +making, so in that sense the tip commit is somewhat iffy.
96 +
97 +One reason this series makes me somewhat uneasy is that Tom, the original
98 +starter of the discussion went dark after sending a proposed patch. Maybe
99 +he has been too busy, but I have been hoping that GitHub as a stakeholder
100 +has somebody who monitors the list when he is not available.
101 +
102 +Does anybody from GitHub have any input? Is there something that needs to
103 +be improved to fill GitHub's needs? Does GitHub want to stick to its own
104 +fork, and were all these discussions for improvements unwanted?
105 +
106 +* jk/clone-b (2009-08-26) 1 commit
107 + (merged to 'next' on 2009-08-30 at 10a68d1)
108 + + clone: add --branch option to select a different HEAD
109 +
110 +* pk/import-dirs (2009-08-24) 1 commit
111 + - Add script for importing bits-and-pieces to Git.
112 +
113 +This version makes me suspect that the author might regret the choice of
114 +the import format that does not allow escaping of paths, nor does not
115 +allow leading blanks for readability without changing semantics, both of
116 +which make it somewhat limiting and error prone. These issues will be
117 +hard to rectify without breaking the backward compatibility, for a tool
118 +that could otherwise turn out to be useful.
119 +
120 +As a contrib/ material, I probably shouldn't be too worried about these
121 +issues, but I am keeping this out of 'next' for now, just in case the
122 +author chooses to polish the usability of the tool for general audience.
123 +
124 +It is a different story if the submission was just throwing out a one-time
125 +hack in the open in the hope that some other people might find it useful,
126 +but without any intention of maintaining it. But then I do not have a
127 +strong reason to keep this in my tree, either. The mailing list archive
128 +is a more suitable storage media for such a patch.
129 +
130 +--------------------------------------------------
131 +[Stalled]
132 +
133 +* jh/notes (2009-08-27) 12 commits.
134 + - Add '%N'-format for pretty-printing commit notes
135 + - Add flags to get_commit_notes() to control the format of the note string
136 + - notes.c: Implement simple memory pooling of leaf nodes
137 + - Selftests verifying semantics when loading notes trees with various fanouts
138 + - Teach the notes lookup code to parse notes trees with various fanout schemes
139 + - t3302-notes-index-expensive: Speed up create_repo()
140 + - fast-import: Add support for importing commit notes
141 + - Teach "-m <msg>" and "-F <file>" to "git notes edit"
142 + - Add an expensive test for git-notes
143 + - Speed up git notes lookup
144 + - Add a script to edit/inspect notes
145 + - Introduce commit notes
146 +
147 +I heard the cvs-helper series depends on this one. It seems that the
148 +fan-out strategy is being rethought?
149 +
150 +* js/stash-dwim (2009-07-27) 1 commit.
151 + (merged to 'next' on 2009-08-16 at 67896c4)
152 + + Make 'git stash -k' a short form for 'git stash save --keep-index'
153 + (this branch is used by tr/reset-checkout-patch.)
154 +
155 +* tr/reset-checkout-patch (2009-08-27) 9 commits.
156 + (merged to 'next' on 2009-08-27 at d314281)
157 + + Make test case number unique
158 + (merged to 'next' on 2009-08-18 at e465bb3)
159 + + tests: disable interactive hunk selection tests if perl is not available
160 + (merged to 'next' on 2009-08-16 at 67896c4)
161 + + DWIM 'git stash save -p' for 'git stash -p'
162 + + Implement 'git stash save --patch'
163 + + Implement 'git checkout --patch'
164 + + Implement 'git reset --patch'
165 + + builtin-add: refactor the meat of interactive_add()
166 + + Add a small patch-mode testing library
167 + + git-apply--interactive: Refactor patch mode code
168 + (this branch uses js/stash-dwim.)
169 +
170 +There was a discussion on better DWIMmery for the above two topics to (1)
171 +forbid "git stash save --anything-with-dash" and (2) redirect with any
172 +option "git stash --opt" to "git stash save --opt", to keep it flexible
173 +and safe at the same time. I think it is a sane thing to do, but nothing
174 +has happened lately.
175 +
176 +* db/vcs-helper (2009-08-09) 17 commits
177 + - Allow helpers to request marks for fast-import
178 + - Allow helpers to report in "list" command that the ref is unchanged
179 + - Add support for "import" helper command
180 + - transport-helper_init(): fix a memory leak in error path
181 + - Add a config option for remotes to specify a foreign vcs
182 + - Allow programs to not depend on remotes having urls
183 + - Allow fetch to modify refs
184 + - Use a function to determine whether a remote is valid
185 + - Use a clearer style to issue commands to remote helpers
186 + (merged to 'next' on 2009-08-07 at f3533ba)
187 + + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
188 + + Makefile: do not link three copies of git-remote-* programs
189 + + Makefile: git-http-fetch does not need expat
190 + (merged to 'next' on 2009-08-06 at 15da79d)
191 + + http-fetch: Fix Makefile dependancies
192 + + Add transport native helper executables to .gitignore
193 + (merged to 'next' on 2009-08-05 at 33d491e)
194 + + git-http-fetch: not a builtin
195 + + Use an external program to implement fetching with curl
196 + + Add support for external programs for handling native fetches
197 + (this branch is used by jh/cvs-helper.)
198 +
199 +We had a few messages on what the list consensus was with this series. My
200 +impression, after going back to the archive, is that there wasn't.
201 +
202 +* jn/gitweb-blame (2009-08-06) 3 commits
203 + - gitweb: Create links leading to 'blame_incremental' using JavaScript
204 + - gitweb: Incremental blame (WIP)
205 + - gitweb: Add optional "time to generate page" info in footer
206 +
207 +Ajax-y blame WIP
208 +
209 +--------------------------------------------------
210 +[Cooking]
211 +
212 +* je/send-email-no-subject (2009-08-05) 1 commit
213 + (merged to 'next' on 2009-08-30 at b6455c2)
214 + + send-email: confirm on empty mail subjects
215 +
216 +The existing tests to covers the positive case (i.e. as long as the user
217 +says "yes" to the "do you really want to send this message that lacks
218 +subject", the message is sent) of this feature, but the feature itself
219 +needs its own test to verify the negative case (i.e. does it correctly
220 +stop if the user says "no"?)
221 +
222 +* lt/approxidate (2009-08-30) 6 commits
223 + (merged to 'next' on 2009-08-30 at e016e3d)
224 + + fix approxidate parsing of relative months and years
225 + + tests: add date printing and parsing tests
226 + + refactor test-date interface
227 + + Add date formatting and parsing functions relative to a given time
228 + (merged to 'next' on 2009-08-26 at 62853f9)
229 + + Further 'approxidate' improvements
230 + + Improve on 'approxidate'
231 +
232 +Fixes a few "reasonably formatted but thus-far misparsed" date strings.
233 +With tests by Peff, this should be ready for -rc0.
234 +
235 +* mr/gitweb-snapshot (2009-08-25) 3 commits
236 + (merged to 'next' on 2009-08-30 at e4edd0b)
237 + + gitweb: add t9501 tests for checking HTTP status codes
238 + + gitweb: split test suite into library and tests
239 + + gitweb: improve snapshot error handling
240 +
241 +* jc/mailinfo-scissors (2009-08-26) 5 commits
242 + (merged to 'next' on 2009-08-30 at 5fc6248)
243 + + mailinfo.scissors: new configuration
244 + + am/mailinfo: Disable scissors processing by default
245 + + Documentation: describe the scissors mark support of "git am"
246 + + Teach mailinfo to ignore everything before -- >8 -- mark
247 + + builtin-mailinfo.c: fix confusing internal API to mailinfo()
248 +
249 +I didn't pick up the patch to simplify the definition of scissors. I do
250 +not have strong opinion on it either way, but the list would hopefully
251 +decide it before too long.
252 +
253 +* tf/diff-whitespace-incomplete-line (2009-08-23) 2 commits.
254 + (merged to 'next' on 2009-08-26 at 4fc7784)
255 + + xutils: Fix xdl_recmatch() on incomplete lines
256 + + xutils: Fix hashing an incomplete line with whitespaces at the end
257 +
258 +Will merge.
259 +
260 +* cc/sequencer-rebase-i (2009-08-28) 15 commits
261 + - rebase -i: use "git sequencer--helper --cherry-pick"
262 + - sequencer: add "--cherry-pick" option to "git sequencer--helper"
263 + - sequencer: add "do_commit()" and related functions working on "next_commit"
264 + - pick: libify "pick_help_msg()"
265 + - revert: libify cherry-pick and revert functionnality
266 + - rebase -i: use "git sequencer--helper --fast-forward"
267 + - sequencer: let "git sequencer--helper" callers set "allow_dirty"
268 + - sequencer: add "--fast-forward" option to "git sequencer--helper"
269 + - sequencer: add "do_fast_forward()" to perform a fast forward
270 + - rebase -i: use "git sequencer--helper --reset-hard"
271 + - sequencer: add "--reset-hard" option to "git sequencer--helper"
272 + - sequencer: add "reset_almost_hard()" and related functions
273 + - rebase -i: use "git sequencer--helper --make-patch"
274 + - sequencer: add "make_patch" function to save a patch
275 + - sequencer: add "builtin-sequencer--helper.c"
276 +
277 +Migrating "rebase -i" bit by bit to C.
278 +
279 +* jh/cvs-helper (2009-08-18) 7 commits
280 + - More fixes to the git-remote-cvs installation procedure
281 + - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
282 + - Add simple selftests of git-remote-cvs functionality
283 + - git-remote-cvs: Remote helper program for CVS repositories
284 + - 2/2: Add Python support library for CVS remote helper
285 + - 1/2: Add Python support library for CVS remote helper
286 + - Basic build infrastructure for Python scripts
287 + (this branch uses db/vcs-helper.)
288 +
289 +Builds on db/vcs-helper (which is stalled, so this cannot move further at
290 +the moment). There is a re-roll planned, so I did not pick up test fixes
291 +from Brandon myself.
292 +
293 +* sr/gfi-options (2009-08-27) 6 commits
294 + - fast-import: test the new option command
295 + - fast-import: add option command
296 + - fast-import: test the new feature command
297 + - fast-import: add feature command
298 + - fast-import: put marks reading in it's own function
299 + - fast-import: put option parsing code in separate functions
300 +
301 +Re-rolled, based on an off-list discussion I was/am not aware of.
302 +Looked ready for 'next'.
303 +
304 +* nd/sparse (2009-08-20) 19 commits
305 + - sparse checkout: inhibit empty worktree
306 + - Add tests for sparse checkout
307 + - read-tree: add --no-sparse-checkout to disable sparse checkout support
308 + - unpack-trees(): ignore worktree check outside checkout area
309 + - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
310 + - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
311 + - unpack-trees.c: generalize verify_* functions
312 + - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
313 + - Introduce "sparse checkout"
314 + - dir.c: export excluded_1() and add_excludes_from_file_1()
315 + - excluded_1(): support exclude files in index
316 + - unpack-trees(): carry skip-worktree bit over in merged_entry()
317 + - Read .gitignore from index if it is skip-worktree
318 + - Avoid writing to buffer in add_excludes_from_file_1()
319 + - Teach Git to respect skip-worktree bit (writing part)
320 + - Teach Git to respect skip-worktree bit (reading part)
321 + - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
322 + - Add test-index-version
323 + - update-index: refactor mark_valid() in preparation for new options
324 +
325 +--------------------------------------------------
326 +[For 1.7.0]
327 +
328 +* jc/1.7.0-status (2009-08-15) 3 commits
329 + (merged to 'next' on 2009-08-22 at b3507bb)
330 + + git status: not "commit --dry-run" anymore
331 + + git stat -s: short status output
332 + + git stat: the beginning of "status that is not a dry-run of commit"
333 +
334 +With this, "git status" is no longer "git commit --preview".
335 +
336 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
337 + (merged to 'next' on 2009-08-22 at 5106de8)
338 + + send-email: make --no-chain-reply-to the default
339 +
340 +* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
341 + (merged to 'next' on 2009-08-30 at 0623572)
342 + + diff.c: fix typoes in comments
343 + (merged to 'next' on 2009-08-27 at 81fb2bd)
344 + + Make test case number unique
345 + (merged to 'next' on 2009-08-02 at 9c08420)
346 + + diff: Rename QUIET internal option to QUICK
347 + + diff: change semantics of "ignore whitespace" options
348 +
349 +This changes exit code from "git diff --ignore-whitespace" and friends
350 +when there is no actual output. It is a backward incompatible change, but
351 +we could argue that it is a bugfix.
352 +
353 +* jc/1.7.0-push-safety (2009-02-09) 2 commits
354 + (merged to 'next' on 2009-08-02 at 38b82fe)
355 + + Refuse deleting the current branch via push
356 + + Refuse updating the current branch in a non-bare repository via push
357 +
358 +--------------------------------------------------
359 +[I have been too busy to purge these]
360 +
361 +* jc/log-tz (2009-03-03) 1 commit.
362 + - Allow --date=local --date=other-format to work as expected
363 +
364 +Maybe some people care about this. I dunno.
365 +
366 +* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
367 + - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
368 +
369 +Maybe some people care about this. I dunno.
370 +
371 +* ar/maint-1.6.2-merge-recursive-d-f (2009-05-11) 2 commits.
372 + . Fix for a merge where a branch has an F->D transition
373 + . Add a reminder test case for a merge with F/D transition
374 +
375 +* jc/merge-convert (2009-01-26) 1 commit.
376 + . git-merge-file: allow converting the results for the work tree
377 +
378 +* lt/read-directory (2009-05-15) 3 commits.
379 + . Add initial support for pathname conversion to UTF-8
380 + . read_directory(): infrastructure for pathname character set conversion
381 + . Add 'fill_directory()' helper function for directory traversal
382 +
383 +* ps/blame (2009-03-12) 1 commit.
384 + . blame.c: start libifying the blame infrastructure
385 +
386 +* pb/tracking (2009-07-16) 7 commits.
387 + . branch.c: if remote is not config'd for branch, don't try delete push config
388 + . branch, checkout: introduce autosetuppush
389 + . move deletion of merge configuration to branch.c
390 + . remote: add per-remote autosetupmerge and autosetuprebase configuration
391 + . introduce a struct tracking_config
392 + . branch: install_branch_config and struct tracking refactoring
393 + . config: allow false and true values for branch.autosetuprebase
394 +
395 +Has been ejected from 'pu' for some time, expecting a reroll.
396 +
397 +* ne/rev-cache (2009-08-21) 6 commits
398 + . support for path name caching in rev-cache
399 + . full integration of rev-cache into git, completed test suite
400 + . administrative functions for rev-cache, start of integration into git
401 + . support for non-commit object caching in rev-cache
402 + . basic revision cache system, no integration or features
403 + . man page and technical discussion for rev-cache
404 +
405 +Updated but seems to break upload-pack tests when merged to 'pu'; given
406 +what this series touches, breakages in that area are expected.
407 +May discard if a working reroll comes, to give it a fresh start.