What's cooking (2009/09 #04)
[git/dscho.git] / whats-cooking.txt
blobd889d2d63ee9f0e20affa47ff58358719a19d23a
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Sep 2009, #04; Wed, 16)
3 X-master-at: 8426f672fc65239135b1f1580bb79ecb16fd05f0
4 X-next-at: 63b02d52a162438e5262062b3e6768beb3962be8
6 What's cooking in git.git (Sep 2009, #04; Wed, 16)
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 In 1.7.0, we plan to correct handful of warts in the interfaces everybody
15 agrees that they were mistakes.  The resulting system may not be strictly
16 backward compatible.  Currently planeed changes are:
18  * refuse push to update the checked out branch in a non-bare repo by
19    default
21    Make "git push" into a repository to update the branch that is checked
22    out fail by default.  You can countermand this default by setting a
23    configuration variable in the receiving repository.
25    http://thread.gmane.org/gmane.comp.version-control.git/107758/focus=108007
27  * refuse push to delete the current branch by default
29    Make "git push $there :$killed" to delete the branch that is pointed at
30    by its HEAD fail by default.  You can countermand this default by
31    setting a configuration variable in the receiving repository.
33    http://thread.gmane.org/gmane.comp.version-control.git/108862/focus=108936
35  * git-send-email won't make deep threads by default
37    Many people said that by default when sending more than 2 patches the
38    threading git-send-email makes by default is hard to read, and they
39    prefer the default be one cover letter and each patch as a direct
40    follow-up to the cover letter.  You can countermand this by setting a
41    configuration variable.
43    http://article.gmane.org/gmane.comp.version-control.git/109790
45  * git-status won't be "git-commit --dry-run" anymore
47    http://thread.gmane.org/gmane.comp.version-control.git/125989/focus=125993
49  * "git-diff -w --exit-code" will exit success if only differences it
50    found are whitespace changes that are stripped away from the output.
52    http://thread.gmane.org/gmane.comp.version-control.git/119731/focus=119751
54 We are in pre-release feature freeze.  'next' will hold topics meant for
55 1.6.6 and 1.7.0.
57 Except for possibly gfi-options series from Sverre, and updates to
58 subsystems (svn, gitk, gui, and gitweb) may still need to be merged in,
59 but otherwise 'master' is ready for -rc2.  I am still hoping that I can
60 tag the final before I take a vacation starting on 24th for a week, but we
61 may have to give the final -rc a week to shake out any possible last
62 minute regressions and release 1.6.5 at the beginning of next month.
64 --------------------------------------------------
65 [Graduated to "master"]
67 * rc/maint-http-no-head-pack-check (2009-09-14) 2 commits.
68  + http.c: avoid freeing an uninitialized pointer
69  + http.c: remove verification of remote packs
71 Graduated to master and maint but then needed a small fixup.
73 --------------------------------------------------
74 [New Topics]
76 * jc/maint-blank-at-eof (2009-09-15) 0 commits.
77  (this branch uses jc/maint-1.6.0-blank-at-eof.)
79 The series does not have a commit of its own but is a preparation for
80 merging the original jc/1.6.0-maint-blank-at-eof topic to 'maint' and then
81 'master'.  It is a fix for longstanding bug and 1.6.5 will likely to ship
82 without this topic.
84 --------------------------------------------------
85 [Stalled]
87 * je/send-email-no-subject (2009-08-05) 1 commit
88   (merged to 'next' on 2009-08-30 at b6455c2)
89  + send-email: confirm on empty mail subjects
91 The existing tests to covers the positive case (i.e. as long as the user
92 says "yes" to the "do you really want to send this message that lacks
93 subject", the message is sent) of this feature, but the feature itself
94 needs its own test to verify the negative case (i.e. does it correctly
95 stop if the user says "no"?)
97 * jh/cvs-helper (2009-08-18) 8 commits
98  - More fixes to the git-remote-cvs installation procedure
99  - Fix the Makefile-generated path to the git_remote_cvs package in git-remote-cvs
100  - Add simple selftests of git-remote-cvs functionality
101  - git-remote-cvs: Remote helper program for CVS repositories
102  - 2/2: Add Python support library for CVS remote helper
103  - 1/2: Add Python support library for CVS remote helper
104  - Basic build infrastructure for Python scripts
105  - Allow helpers to request marks for fast-import
106  (this branch uses db/vcs-helper-rest.)
108 Builds on db/vcs-helper.  There is a re-roll planned.
110 * ne/rev-cache (2009-09-07) 7 commits
111  . support for commit grafts, slight change to general mechanism
112  . support for path name caching in rev-cache
113  . full integration of rev-cache into git, completed test suite
114  . administrative functions for rev-cache, start of integration into git
115  . support for non-commit object caching in rev-cache
116  . basic revision cache system, no integration or features
117  . man page and technical discussion for rev-cache
119 Replaced but I do not think this is ready for 'pu' yet.
121 --------------------------------------------------
122 [Cooking]
124 * db/vcs-helper-rest (2009-09-03) 6 commits
125  - Allow helpers to report in "list" command that the ref is unchanged
126  - Add support for "import" helper command
127  - Add a config option for remotes to specify a foreign vcs
128  - Allow programs to not depend on remotes having urls
129  - Allow fetch to modify refs
130  - Use a function to determine whether a remote is valid
131  (this branch is used by jh/cvs-helper.)
133 This holds the remainder of the db/vcs-helper topic that has already
134 merged for 1.6.5.
136 * jh/notes (2009-09-12) 13 commits
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  - notes.[ch] fixup: avoid old-style declaration
140  - Teach notes code to free its internal data structures on request.
141  - Add '%N'-format for pretty-printing commit notes
142  - Add flags to get_commit_notes() to control the format of the note string
143  - t3302-notes-index-expensive: Speed up create_repo()
144  - fast-import: Add support for importing commit notes
145  - Teach "-m <msg>" and "-F <file>" to "git notes edit"
146  - Add an expensive test for git-notes
147  - Speed up git notes lookup
148  - Add a script to edit/inspect notes
149  - Introduce commit notes
150  (this branch uses sr/gfi-options.)
152 Rerolled and queued.
154 * jn/gitweb-show-size (2009-09-07) 1 commit
155  - gitweb: Add 'show-sizes' feature to show blob sizes in tree view
157 * lt/maint-traverse-trees-fix (2009-09-06) 1 commit.
158  - Prepare 'traverse_trees()' for D/F conflict lookahead
160 Beginning of the fix to a rather nasty longstanding issue of merging trees
161 with ("a" "a-b"), ("a/b" "a-b") and just ("a-b"), but my reading of it is
162 that it is just the first step to demonstrate one-entry lookahead and not
163 a full solution yet.
165 I started writing a replacement series but the progress is a bit slower
166 than I would have liked.
168 * jc/maint-1.6.0-blank-at-eof (2009-09-14) 15 commits.
169   (merged to 'next' on 2009-09-15 at 9cbfa00)
170  + diff -B: colour whitespace errors
171  + diff.c: emit_add_line() takes only the rest of the line
172  + diff.c: split emit_line() from the first char and the rest of the line
173  + diff.c: shuffling code around
174  + diff --whitespace: fix blank lines at end
175   (merged to 'next' on 2009-09-07 at 165dc3c)
176  + core.whitespace: split trailing-space into blank-at-{eol,eof}
177  + diff --color: color blank-at-eof
178  + diff --whitespace=warn/error: fix blank-at-eof check
179  + diff --whitespace=warn/error: obey blank-at-eof
180  + diff.c: the builtin_diff() deals with only two-file comparison
181  + apply --whitespace: warn blank but not necessarily empty lines at EOF
182  + apply --whitespace=warn/error: diagnose blank at EOF
183  + apply.c: split check_whitespace() into two
184  + apply --whitespace=fix: detect new blank lines at eof correctly
185  + apply --whitespace=fix: fix handling of blank lines at the eof
186  (this branch is used by jc/maint-blank-at-eof.)
188 This is a fix for an ancient bug (or inconsistent set of features); the
189 topic is based on an ancient codebase and is designed to be merged
190 upwards.  jc/maint-blank-at-eof serves that purpose.
192 Will not be in 1.6.5.
194 * jn/gitweb-blame (2009-09-01) 5 commits
195  - gitweb: Minify gitweb.js if JSMIN is defined
196  - gitweb: Create links leading to 'blame_incremental' using JavaScript
197   (merged to 'next' on 2009-09-07 at 3622199)
198  + gitweb: Colorize 'blame_incremental' view during processing
199  + gitweb: Incremental blame (using JavaScript)
200  + gitweb: Add optional "time to generate page" info in footer
202 Ajax-y blame.
204 * sr/gfi-options (2009-09-06) 6 commits
205   (merged to 'next' on 2009-09-07 at 5f6b0ff)
206  + fast-import: test the new option command
207  + fast-import: add option command
208  + fast-import: test the new feature command
209  + fast-import: add feature command
210  + fast-import: put marks reading in it's own function
211  + fast-import: put option parsing code in separate functions
212  (this branch is used by jh/notes.)
214 Ping?
216 * nd/sparse (2009-08-20) 19 commits
217  - sparse checkout: inhibit empty worktree
218  - Add tests for sparse checkout
219  - read-tree: add --no-sparse-checkout to disable sparse checkout support
220  - unpack-trees(): ignore worktree check outside checkout area
221  - unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
222  - unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
223  - unpack-trees.c: generalize verify_* functions
224  - unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
225  - Introduce "sparse checkout"
226  - dir.c: export excluded_1() and add_excludes_from_file_1()
227  - excluded_1(): support exclude files in index
228  - unpack-trees(): carry skip-worktree bit over in merged_entry()
229  - Read .gitignore from index if it is skip-worktree
230  - Avoid writing to buffer in add_excludes_from_file_1()
231  - Teach Git to respect skip-worktree bit (writing part)
232  - Teach Git to respect skip-worktree bit (reading part)
233  - Introduce "skip-worktree" bit in index, teach Git to get/set this bit
234  - Add test-index-version
235  - update-index: refactor mark_valid() in preparation for new options
237 --------------------------------------------------
238 [For 1.7.0]
240 * jk/1.7.0-status (2009-09-05) 5 commits
241  - docs: note that status configuration affects only long format
242   (merged to 'next' on 2009-09-07 at 8a7c563)
243  + commit: support alternate status formats
244  + status: add --porcelain output format
245  + status: refactor format option parsing
246  + status: refactor short-mode printing to its own function
247  (this branch uses jc/1.7.0-status.)
249 Gives the --short output format to post 1.7.0 "git commit --dry-run" that
250 is similar to that of post 1.7.0 "git status".
252 * jc/1.7.0-status (2009-09-05) 4 commits
253   (merged to 'next' on 2009-09-06 at 19d4beb)
254  + status: typo fix in usage
255   (merged to 'next' on 2009-08-22 at b3507bb)
256  + git status: not "commit --dry-run" anymore
257  + git stat -s: short status output
258  + git stat: the beginning of "status that is not a dry-run of commit"
259  (this branch is used by jk/1.7.0-status.)
261 With this, "git status" is no longer "git commit --dry-run".
263 * jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
264   (merged to 'next' on 2009-08-22 at 5106de8)
265  + send-email: make --no-chain-reply-to the default
267 * jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
268   (merged to 'next' on 2009-08-30 at 0623572)
269  + diff.c: fix typoes in comments
270   (merged to 'next' on 2009-08-27 at 81fb2bd)
271  + Make test case number unique
272   (merged to 'next' on 2009-08-02 at 9c08420)
273  + diff: Rename QUIET internal option to QUICK
274  + diff: change semantics of "ignore whitespace" options
276 This changes exit code from "git diff --ignore-whitespace" and friends
277 when there is no actual output.  It is a backward incompatible change, but
278 we could argue that it is a bugfix.
280 * jc/1.7.0-push-safety (2009-02-09) 2 commits
281   (merged to 'next' on 2009-08-02 at 38b82fe)
282  + Refuse deleting the current branch via push
283  + Refuse updating the current branch in a non-bare repository via push
285 --------------------------------------------------
286 [I have been too busy to purge these]
288 * jc/log-tz (2009-03-03) 1 commit.
289  - Allow --date=local --date=other-format to work as expected
291 Maybe some people care about this.  I dunno.
293 * jc/mailinfo-remove-brackets (2009-07-15) 1 commit.
294  - mailinfo: -b option keeps [bracketed] strings that is not a [PATCH] marker
296 Maybe some people care about this.  I dunno.
298 * lt/read-directory (2009-05-15) 3 commits.
299  . Add initial support for pathname conversion to UTF-8
300  . read_directory(): infrastructure for pathname character set conversion
301  . Add 'fill_directory()' helper function for directory traversal