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
6 What's cooking in git.git (Aug 2009, #04; Sun, 23)
7 --------------------------------------------------
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.
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.
18 During 1.6.5 cycle, 'next' will hold topics meant for 1.6.5 and 1.7.0.
20 --------------------------------------------------
21 [Graduated to "master"]
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()
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
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
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
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
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 --------------------------------------------------
67 * jc/mailinfo-scissors (2009-08-23) 1 commit
68 - Teach mailinfo to ignore everything before -- >8 -- mark
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
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
78 * lt/approxidate (2009-08-22) 2 commits
79 - Further 'approxidate' improvements
80 - Improve on 'approxidate'
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.
86 * wl/insta-mongoose (2009-08-21) 1 commit
87 - Add support for the Mongoose web server.
88 --------------------------------------------------
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
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
105 Finishing touches ;-) There were a few Solaris portability patches
106 floated around that I didn't pick up, waiting for them to finalize.
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.)
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.)
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
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
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.)
162 There was a discussion that suggests that the use of colon ':' before vcs
163 helper name needs to be corrected. Nothing happened since.
165 * je/send-email-no-subject (2009-08-05) 1 commit
166 - send-email: confirm on empty mail subjects
168 This seems to break t9001. Near the tip of 'pu' I have a iffy
171 --------------------------------------------------
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"
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
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.
204 * as/maint-graph-interesting-fix (2009-08-18) 1 commit.
205 - graph API: fix bug in graph_is_interesting()
207 I need to queue the associated test after getting it signed-off.
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.)
216 As promised, I squashed incremental "fix-up" into the commits they fix;
217 this will be kept in 'next' until 1.7.0
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
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.)
236 Will cook for a bit more and then merge.
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
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"
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'
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
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]
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
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
291 The cvs-helper series depends on this one.
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
301 Updated but seems to break tests when merged to 'pu'; didn't look at the
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.)
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.
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
342 The first one was an independent fix; the rest has been replaced with the
343 "return of no-checkout" series.
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
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.
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
361 * jc/log-tz (2009-03-03) 1 commit.
362 - Allow --date=local --date=other-format to work as expected
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]
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
373 * jc/merge-convert (2009-01-26) 1 commit.
374 . git-merge-file: allow converting the results for the work tree
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
381 * ps/blame (2009-03-12) 1 commit.
382 . blame.c: start libifying the blame infrastructure
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
393 Has been ejected from 'pu' for some time, expecting a reroll.