What's cooking

Junio C Hamano committed Aug 23, 2009 at 17:41 UTC dc163486db2b2900dc30456946bc89f4bad1957a
1 file changed +393
whats/cooking/2009/08/04.txt new
+393
@@ -0,0 +1,393 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Aug 2009, #04; Sun, 23)
3 +X-master-at: 2e1176d51ef4fc07f487818acdfcf2fc4b789203
4 +X-next-at: 38eb7501aaddd72a8e6007f281d6a3cfa42a2a02
5 +
6 +What's cooking in git.git (Aug 2009, #04; Sun, 23)
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 +* bc/mailsplit-cr-at-eol (2009-08-04) 4 commits
24 + (merged to 'next' on 2009-08-06 at 6bc7c5c)
25 + + Allow mailsplit (and hence git-am) to handle mails with CRLF line-endings
26 + + builtin-mailsplit.c: remove read_line_with_nul() since it is no longer used
27 + + builtin-mailinfo,builtin-mailsplit: use strbufs
28 + + strbuf: add new function strbuf_getwholeline()
29 +
30 +* gb/apply-ignore-whitespace (2009-08-04) 1 commit
31 + (merged to 'next' on 2009-08-06 at 59e2c86)
32 + + git apply: option to ignore whitespace differences
33 +
34 +* cc/replace (2009-05-27) 14 commits.
35 + (merged to 'next' on 2009-08-02 at b9c4bc0)
36 + + t6050: check pushing something based on a replaced commit
37 + + Documentation: add documentation for "git replace"
38 + + Add git-replace to .gitignore
39 + + builtin-replace: use "usage_msg_opt" to give better error messages
40 + + parse-options: add new function "usage_msg_opt"
41 + + builtin-replace: teach "git replace" to actually replace
42 + + Add new "git replace" command
43 + + environment: add global variable to disable replacement
44 + + mktag: call "check_sha1_signature" with the replacement sha1
45 + + replace_object: add a test case
46 + + object: call "check_sha1_signature" with the replacement sha1
47 + + sha1_file: add a "read_sha1_file_repl" function
48 + + replace_object: add mechanism to replace objects found in "refs/replace/"
49 + + refs: add a "for_each_replace_ref" function
50 +
51 +* ld/p4 (2009-07-30) 1 commit
52 + (merged to 'next' on 2009-08-14 at 36d310d)
53 + + git-p4: stream from perforce to speed up clones
54 +
55 +* mr/gitweb-xz (2009-08-06) 3 commits
56 + (merged to 'next' on 2009-08-14 at b63b8e6)
57 + + gitweb: add support for XZ compressed snapshots
58 + + gitweb: update INSTALL regarding specific snapshot settings
59 + + gitweb: support to globally disable a snapshot format
60 +
61 +* jc/verify-pack-stat (2009-08-07) 1 commit
62 + (merged to 'next' on 2009-08-10 at f80d0e9)
63 + + verify-pack --stat-only: show histogram without verifying
64 +--------------------------------------------------
65 +[New Topics]
66 +
67 +* jc/mailinfo-scissors (2009-08-23) 1 commit
68 + - Teach mailinfo to ignore everything before -- >8 -- mark
69 +
70 +* tf/diff-whitespace-incomplete-line (2009-08-23) 2 commits.
71 + - xutils: Fix xdl_recmatch() on incomplete lines
72 + - xutils: Fix hashing an incomplete line with whitespaces at the end
73 +
74 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
75 + (merged to 'next' on 2009-08-22 at 5106de8)
76 + + send-email: make --no-chain-reply-to the default
77 +
78 +* lt/approxidate (2009-08-22) 2 commits
79 + - Further 'approxidate' improvements
80 + - Improve on 'approxidate'
81 +
82 +* mm/reset-report (2009-08-21) 2 commits
83 + - reset: make the reminder output consistent with "checkout"
84 + - Rename REFRESH_SAY_CHANGED to REFRESH_IN_PORCELAIN.
85 +
86 +* wl/insta-mongoose (2009-08-21) 1 commit
87 + - Add support for the Mongoose web server.
88 +--------------------------------------------------
89 +[Stalled]
90 +
91 +* sr/gfi-options (2009-08-13) 3 commits
92 + - fast-import: test the new option command
93 + - fast-import: add option command
94 + - fast-import: put option parsing code in seperate functions
95 +
96 +What is this used by?
97 +
98 +* lt/block-sha1 (2009-08-17) 4 commits
99 + (merged to 'next' on 2009-08-18 at 67a1ce8)
100 + + remove ARM and Mozilla SHA1 implementations
101 + + block-sha1: guard gcc extensions with __GNUC__
102 + + make sure byte swapping is optimal for git
103 + + block-sha1: make the size member first in the context struct
104 +
105 +Finishing touches ;-) There were a few Solaris portability patches
106 +floated around that I didn't pick up, waiting for them to finalize.
107 +
108 +* js/stash-dwim (2009-07-27) 1 commit.
109 + (merged to 'next' on 2009-08-16 at 67896c4)
110 + + Make 'git stash -k' a short form for 'git stash save --keep-index'
111 + (this branch is used by tr/reset-checkout-patch.)
112 +
113 +* tr/reset-checkout-patch (2009-08-18) 8 commits.
114 + (merged to 'next' on 2009-08-18 at e465bb3)
115 + + tests: disable interactive hunk selection tests if perl is not available
116 + (merged to 'next' on 2009-08-16 at 67896c4)
117 + + DWIM 'git stash save -p' for 'git stash -p'
118 + + Implement 'git stash save --patch'
119 + + Implement 'git checkout --patch'
120 + + Implement 'git reset --patch'
121 + + builtin-add: refactor the meat of interactive_add()
122 + + Add a small patch-mode testing library
123 + + git-apply--interactive: Refactor patch mode code
124 + (this branch uses js/stash-dwim.)
125 +
126 +There was a discussion on better DWIMmery for the above two topics to (1)
127 +forbid "git stash save --anything-with-dash" and (2) redirect with any
128 +option "git stash --opt" to "git stash save --opt", to keep it flexible
129 +and safe at the same time. I think it is a sane thing to do, but nothing
130 +has happened lately.
131 +
132 +* jn/gitweb-blame (2009-08-06) 3 commits
133 + - gitweb: Create links leading to 'blame_incremental' using JavaScript
134 + - gitweb: Incremental blame (WIP)
135 + - gitweb: Add optional "time to generate page" info in footer
136 +
137 +Ajax-y blame WIP
138 +
139 +* db/vcs-helper (2009-08-09) 17 commits
140 + - Allow helpers to request marks for fast-import
141 + - Allow helpers to report in "list" command that the ref is unchanged
142 + - Add support for "import" helper command
143 + - transport-helper_init(): fix a memory leak in error path
144 + - Add a config option for remotes to specify a foreign vcs
145 + - Allow programs to not depend on remotes having urls
146 + - Allow fetch to modify refs
147 + - Use a function to determine whether a remote is valid
148 + - Use a clearer style to issue commands to remote helpers
149 + (merged to 'next' on 2009-08-07 at f3533ba)
150 + + Makefile: install hardlinks for git-remote-<scheme> supported by libcurl if possible
151 + + Makefile: do not link three copies of git-remote-* programs
152 + + Makefile: git-http-fetch does not need expat
153 + (merged to 'next' on 2009-08-06 at 15da79d)
154 + + http-fetch: Fix Makefile dependancies
155 + + Add transport native helper executables to .gitignore
156 + (merged to 'next' on 2009-08-05 at 33d491e)
157 + + git-http-fetch: not a builtin
158 + + Use an external program to implement fetching with curl
159 + + Add support for external programs for handling native fetches
160 + (this branch is used by jh/cvs-helper.)
161 +
162 +There was a discussion that suggests that the use of colon ':' before vcs
163 +helper name needs to be corrected. Nothing happened since.
164 +
165 +* je/send-email-no-subject (2009-08-05) 1 commit
166 + - send-email: confirm on empty mail subjects
167 +
168 +This seems to break t9001. Near the tip of 'pu' I have a iffy
169 +workaround.
170 +
171 +--------------------------------------------------
172 +[Cooking]
173 +
174 +* cc/sequencer-rebase-i (2009-08-21) 17 commits.
175 + - rebase -i: use "git sequencer--helper --cherry-pick"
176 + - sequencer: add "--cherry-pick" option to "git sequencer--helper"
177 + - sequencer: add "do_commit()" and related functions
178 + - pick: libify "pick_help_msg()"
179 + - revert: libify pick
180 + - rebase -i: use "git sequencer--helper --fast-forward"
181 + - sequencer: let "git sequencer--helper" callers set "allow_dirty"
182 + - sequencer: add "--fast-forward" option to "git sequencer--helper"
183 + - sequencer: add "do_fast_forward()" to perform a fast forward
184 + - rebase -i: use "git sequencer--helper --reset-hard"
185 + - sequencer: add "--reset-hard" option to "git sequencer--helper"
186 + - sequencer: add comments about reset_almost_hard()
187 + - sequencer: add "reset_almost_hard()" and related functions
188 + - rebase -i: use "git sequencer--helper --make-patch"
189 + - sequencer: free memory used in "make_patch" function
190 + - sequencer: add "make_patch" function to save a patch
191 + - sequencer: add "builtin-sequencer--helper.c"
192 +
193 +Migrating "rebase -i" bit by bit to C. I am inclined to agree with Dscho
194 +that maybe this approach forces the migration to follow the structure of
195 +the shell script too much, and could force a suboptimal end result, but
196 +we'll see.
197 +
198 +* aj/fix-read-tree-from-scratch (2009-08-17) 1 commit
199 + (merged to 'next' on 2009-08-20 at 7a04133)
200 + + read-tree: Fix regression with creation of a new index file.
201 +
202 +Will merge.
203 +
204 +* as/maint-graph-interesting-fix (2009-08-18) 1 commit.
205 + - graph API: fix bug in graph_is_interesting()
206 +
207 +I need to queue the associated test after getting it signed-off.
208 +
209 +* jc/1.7.0-status (2009-08-15) 3 commits
210 + (merged to 'next' on 2009-08-22 at b3507bb)
211 + + git status: not "commit --dry-run" anymore
212 + + git stat -s: short status output
213 + + git stat: the beginning of "status that is not a dry-run of commit"
214 + (this branch uses jc/shortstatus.)
215 +
216 +As promised, I squashed incremental "fix-up" into the commits they fix;
217 +this will be kept in 'next' until 1.7.0
218 +
219 +* jc/shortstatus (2009-08-15) 11 commits
220 + (merged to 'next' on 2009-08-15 at 7e40766)
221 + + git commit --dry-run -v: show diff in color when asked
222 + + Documentation/git-commit.txt: describe --dry-run
223 + (merged to 'next' on 2009-08-12 at 53bda17)
224 + + wt-status: collect untracked files in a separate "collect" phase
225 + + Make git_status_config() file scope static to builtin-commit.c
226 + + wt-status: move wt_status_colors[] into wt_status structure
227 + + wt-status: move many global settings to wt_status structure
228 + + commit: --dry-run
229 + (merged to 'next' on 2009-08-06 at fe8cb94)
230 + + status: show worktree status of conflicted paths separately
231 + + wt-status.c: rework the way changes to the index and work tree are summarized
232 + + diff-index: keep the original index intact
233 + + diff-index: report unmerged new entries
234 + (this branch is used by jc/1.7.0-status.)
235 +
236 +Will cook for a bit more and then merge.
237 +
238 +* jc/maint-checkout-index-to-prefix (2009-08-16) 1 commit
239 + (merged to 'next' on 2009-08-20 at 2f6aea2)
240 + + check_path(): allow symlinked directories to checkout-index --prefix
241 +
242 +Will merge.
243 +
244 +* jc/maint-unpack-objects-strict (2009-08-13) 1 commit.
245 + (merged to 'next' on 2009-08-23 at 38eb750)
246 + + Fix "unpack-objects --strict"
247 +
248 +* jh/submodule-foreach (2009-08-20) 9 commits
249 + (merged to 'next' on 2009-08-20 at 671bea4)
250 + + git clone: Add --recursive to automatically checkout (nested) submodules
251 + + t7407: Use 'rev-parse --short' rather than bash's substring expansion notation
252 + (merged to 'next' on 2009-08-18 at f4a881d)
253 + + git submodule status: Add --recursive to recurse into nested submodules
254 + + git submodule update: Introduce --recursive to update nested submodules
255 + + git submodule foreach: Add --recursive to recurse into nested submodules
256 + + git submodule foreach: test access to submodule name as '$name'
257 + + Add selftest for 'git submodule foreach'
258 + + git submodule: Cleanup usage string and add option parsing to cmd_foreach()
259 + + git submodule foreach: Provide access to submodule name, as '$name'
260 +
261 +* jl/submodule-summary-diff-files (2009-08-15) 2 commits
262 + (merged to 'next' on 2009-08-15 at 165bd8e)
263 + + Documentaqtion/git-submodule.txt: Typofix
264 + (merged to 'next' on 2009-08-14 at a702e78)
265 + + git submodule summary: add --files option
266 +
267 +Will merge.
268 +
269 +* lh/short-decorate (2009-08-15) 1 commit
270 + (merged to 'next' on 2009-08-18 at b8c1d96)
271 + + git-log: allow --decorate[=short|full]
272 +
273 +Will merge.
274 +
275 +* oa/stash-na (2009-08-11) 1 commit
276 + (merged to 'next' on 2009-08-14 at 12c2e2b)
277 + + git stash: Give friendlier errors when there is nothing to apply
278 +
279 +Will merge.
280 +
281 +* jh/notes (2009-07-29) 8 commits.
282 + - t3302-notes-index-expensive: Speed up create_repo()
283 + - fast-import: Add support for importing commit notes
284 + - First draft of notes tree parser with support for fanout subtrees
285 + - Teach "-m <msg>" and "-F <file>" to "git notes edit"
286 + - Add an expensive test for git-notes
287 + - Speed up git notes lookup
288 + - Add a script to edit/inspect notes
289 + - Introduce commit notes
290 +
291 +The cvs-helper series depends on this one.
292 +
293 +* ne/rev-cache (2009-08-21) 6 commits
294 + . support for path name caching in rev-cache
295 + . full integration of rev-cache into git, completed test suite
296 + . administrative functions for rev-cache, start of integration into git
297 + . support for non-commit object caching in rev-cache
298 + . basic revision cache system, no integration or features
299 + . man page and technical discussion for rev-cache
300 +
301 +Updated but seems to break tests when merged to 'pu'; didn't look at the
302 +issue deeply.
303 +
304 +* jh/cvs-helper (2009-08-18) 7 commits
305 + - More fixes to the git-remote-cvs installation procedure
306 + - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
307 + - Add simple selftests of git-remote-cvs functionality
308 + - git-remote-cvs: Remote helper program for CVS repositories
309 + - 2/2: Add Python support library for CVS remote helper
310 + - 1/2: Add Python support library for CVS remote helper
311 + - Basic build infrastructure for Python scripts
312 + (this branch uses db/vcs-helper.)
313 +
314 +Builds on db/vcs-helper. The testing of Python part seemed to be
315 +still fragile even with the latest fix on one of my boches with an
316 +earlier round already installed, but I didn't look very deeply before
317 +removing the older installation.
318 +
319 +* nd/sparse (2009-08-20) 20 commits
320 + - sparse checkout: inhibit empty worktree
321 + - Add tests for sparse checkout
322 + - read-tree: add --no-sparse-checkout to disable sparse checkout support
323 + - unpack-trees(): ignore worktree check outside checkout area
324 + - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
325 + - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
326 + - unpack-trees.c: generalize verify_* functions
327 + - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
328 + - Introduce "sparse checkout"
329 + - dir.c: export excluded_1() and add_excludes_from_file_1()
330 + - excluded_1(): support exclude files in index
331 + - unpack-trees(): carry skip-worktree bit over in merged_entry()
332 + - Read .gitignore from index if it is skip-worktree
333 + - Avoid writing to buffer in add_excludes_from_file_1()
334 + - Teach Git to respect skip-worktree bit (writing part)
335 + - Teach Git to respect skip-worktree bit (reading part)
336 + - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
337 + - Add test-index-version
338 + - update-index: refactor mark_valid() in preparation for new options
339 + (merged to 'next' on 2009-08-20 at ea167d7)
340 + + Prevent diff machinery from examining assume-unchanged entries on worktree
341 +
342 +The first one was an independent fix; the rest has been replaced with the
343 +"return of no-checkout" series.
344 +
345 +* jc/1.7.0-diff-whitespace-only-status (2009-05-23) 2 commits.
346 + (merged to 'next' on 2009-08-02 at 9c08420)
347 + + diff: Rename QUIET internal option to QUICK
348 + + diff: change semantics of "ignore whitespace" options
349 +
350 +For 1.7.0. This changes exit code from "git diff --ignore-whitespace" and
351 +friends when there is no actual output. It is a backward incompatible
352 +change, but we could argue that it is a bugfix.
353 +
354 +* jc/1.7.0-push-safety (2009-02-09) 2 commits
355 + (merged to 'next' on 2009-08-02 at 38b82fe)
356 + + Refuse deleting the current branch via push
357 + + Refuse updating the current branch in a non-bare repository via push
358 +
359 +For 1.7.0.
360 +
361 +* jc/log-tz (2009-03-03) 1 commit.
362 + - Allow --date=local --date=other-format to work as expected
363 +
364 +* jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
365 + - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
366 +--------------------------------------------------
367 +[I have been too busy to purge these]
368 +
369 +* ar/maint-1.6.2-merge-recursive-d-f (2009-05-11) 2 commits.
370 + . Fix for a merge where a branch has an F->D transition
371 + . Add a reminder test case for a merge with F/D transition
372 +
373 +* jc/merge-convert (2009-01-26) 1 commit.
374 + . git-merge-file: allow converting the results for the work tree
375 +
376 +* lt/read-directory (2009-05-15) 3 commits.
377 + . Add initial support for pathname conversion to UTF-8
378 + . read_directory(): infrastructure for pathname character set conversion
379 + . Add 'fill_directory()' helper function for directory traversal
380 +
381 +* ps/blame (2009-03-12) 1 commit.
382 + . blame.c: start libifying the blame infrastructure
383 +
384 +* pb/tracking (2009-07-16) 7 commits.
385 + . branch.c: if remote is not config'd for branch, don't try delete push config
386 + . branch, checkout: introduce autosetuppush
387 + . move deletion of merge configuration to branch.c
388 + . remote: add per-remote autosetupmerge and autosetuprebase configuration
389 + . introduce a struct tracking_config
390 + . branch: install_branch_config and struct tracking refactoring
391 + . config: allow false and true values for branch.autosetuprebase
392 +
393 +Has been ejected from 'pu' for some time, expecting a reroll.