What's cooking at 1.6.6-rc2

Junio C Hamano committed Dec 9, 2009 at 16:35 UTC fed0d977bedb3f56b36a1bde6693ee6d2c6b20b5
1 file changed +389
whats/cooking/2009/12/04.txt new
+389
@@ -0,0 +1,389 @@
1 +To: git@vger.kernel.org
2 +Subject: What's cooking in git.git (Dec 2009, #04; Wed, 09)
3 +X-master-at: 80d93611c55fec171e0d9aba98db079952f9d7aa
4 +X-next-at: 245e2a65f71e0255a90a3c45ea82bcdd19f85eff
5 +
6 +What's cooking in git.git (Dec 2009, #04; Wed, 09)
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 +--------------------------------------------------
15 +[Graduated to "master"]
16 +
17 +* jk/maint-add-p-delete-fix (2009-12-08) 1 commit.
18 + (merged to 'next' on 2009-12-08 at 3c2c08a)
19 + + add-interactive: fix deletion of non-empty files
20 +
21 +Fixes a regression in 1.6.5.3.
22 +
23 +* jn/maint-pull-rebase-error-message (2009-11-27) 1 commit.
24 + (merged to 'next' on 2009-12-03 at 2ced03c)
25 + + pull: clarify advice for the unconfigured error case
26 +
27 +Replaces old 'jn/rfc-pull-rebase-error-message' topic.
28 +
29 +--------------------------------------------------
30 +[New Topics]
31 +
32 +* cc/reset-more (2009-12-08) 6 commits
33 + - Documentation: reset: add some tables to describe the different options
34 + - Documentation: reset: describe new "--keep-local-changes" option
35 + - reset: add test cases for "--keep-local-changes" option
36 + - reset: add option "--keep-local-changes" to "git reset"
37 + - reset: use "unpack_trees()" directly instead of "git read-tree"
38 + - reset: add a few tests for "git reset --merge"
39 +
40 +The documentation is much clearer than the previous round in describing
41 +what it does, but I find it a bit unclear in describing what it is _good_
42 +for (iow, scenarios and use cases).
43 +
44 +Breaks 'pu' and does not pass test on its own yet.
45 +
46 +* tr/http-push-ref-status (2009-12-08) 3 commits
47 + - transport-helper.c::push_refs(): emit "no refs" error message
48 + - transport.c::transport_push(): make ref status affect return value
49 + - refactor ref status logic for pushing
50 +
51 +--------------------------------------------------
52 +[Stalled]
53 +
54 +* je/send-email-no-subject (2009-08-05) 1 commit.
55 + (merged to 'next' on 2009-10-11 at 1b99c56)
56 + + send-email: confirm on empty mail subjects
57 +
58 +The existing tests cover the positive case (i.e. as long as the user says
59 +"yes" to the "do you really want to send this message that lacks subject",
60 +the message is sent) of this feature, but the feature itself needs its own
61 +test to verify the negative case (i.e. does it correctly stop if the user
62 +says "no"?)
63 +
64 +* jc/checkout-merge-base (2009-11-20) 2 commits
65 + - "rebase --onto A...B" replays history on the merge base between A and B
66 + - "checkout A...B" switches to the merge base between A and B
67 +
68 +I've been using the first one for a while myself but do not see many users
69 +want this (yet); the new feature is not urgent anyway.
70 +
71 +* tr/maint-merge-ours-clarification (2009-11-15) 1 commit
72 + (merged to 'next' on 2009-11-21 at fadaf7b)
73 + + rebase: refuse to rebase with -s ours
74 +
75 +I do not think we reached a concensus for solving conflicts between "give
76 +them rope" and "protect users from clearly meaningless combinations". The
77 +author obviously is for the latter (and I am inclined to agree); Dscho
78 +seems to think otherwise.
79 +
80 +* jc/fix-tree-walk (2009-10-22) 8 commits
81 + (merged to 'next' on 2009-10-22 at 10c0c8f)
82 + + Revert failed attempt since 353c5ee
83 + + read-tree --debug-unpack
84 + (merged to 'next' on 2009-10-11 at 0b058e2)
85 + + unpack-trees.c: look ahead in the index
86 + + unpack-trees.c: prepare for looking ahead in the index
87 + + Aggressive three-way merge: fix D/F case
88 + + traverse_trees(): handle D/F conflict case sanely
89 + + more D/F conflict tests
90 + + tests: move convenience regexp to match object names to test-lib.sh
91 +
92 +This has some stupid bugs and reverted from 'next' until I can fix it, but
93 +the "temporarily" turned out to be very loooong. Sigh. We won't have a
94 +proper fix in 1.6.6.
95 +
96 +--------------------------------------------------
97 +[Cooking]
98 +
99 +* bg/maint-add-all-doc (2009-12-07) 4 commits.
100 + - squash! rm documentation--also mention add-u where we mention commit-a
101 + - git-rm doc: Describe how to sync index & work tree
102 + - git-add/rm doc: Consistently back-quote
103 + - Documentation: 'git add -A' can remove files
104 +
105 +I didn't like the existing documentation for "add -u" myself (especially
106 +because I wrote the initial version) and this neatly fix it as well.
107 +
108 +* il/vcs-helper (2009-12-09) 8 commits
109 + - Remove special casing of http, https and ftp
110 + - Support remote archive from all smart transports
111 + - Support remote helpers implementing smart transports
112 + - Support taking over transports
113 + - Refactor git transport options parsing
114 + - Pass unknown protocols to external protocol handlers
115 + - Support mandatory capabilities
116 + - Add remote helper debug mode
117 + (this branch uses early parts of sr/vcs-helper.)
118 +
119 +Yet another round.
120 +
121 +* jh/commit-status (2009-12-07) 1 commit
122 + - [test?] Add commit.status, --status, and --no-status
123 +
124 +* mm/diag-path-in-treeish (2009-12-07) 1 commit
125 + - Detailed diagnosis when parsing an object name fails.
126 +
127 +* ns/rebase-auto-squash (2009-12-08) 2 commits
128 + - fixup! rebase -i --autosquash
129 + - rebase -i --autosquash: auto-squash commits
130 + (this branch uses mh/rebase-fixup.)
131 +
132 +* jh/notes (2009-12-07) 11 commits
133 + - Refactor notes concatenation into a flexible interface for combining notes
134 + - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
135 + - Notes API: for_each_note(): Traverse the entire notes tree with a callback
136 + - Notes API: get_note(): Return the note annotating the given object
137 + - Notes API: add_note(): Add note objects to the internal notes tree structure
138 + - Notes API: init_notes(): Initialize the notes tree from the given notes ref
139 + - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
140 + - Minor style fixes to notes.c
141 + - Add more testcases to test fast-import of notes
142 + - Rename t9301 to t9350, to make room for more fast-import tests
143 + - fast-import: Proper notes tree manipulation
144 +
145 +Rerolled and under discussion.
146 +
147 +* fc/opt-quiet-gc-reset (2009-12-02) 1 commit
148 + - General --quiet improvements
149 +
150 +* mv/commit-date (2009-12-03) 2 commits
151 + - Document date formats accepted by parse_date()
152 + - builtin-commit: add --date option
153 +
154 +* mh/rebase-fixup (2009-12-07) 2 commits
155 + - Add a command "fixup" to rebase --interactive
156 + - t3404: Use test_commit to set up test repository
157 + (this branch is used by ns/rebase-auto-squash.)
158 +
159 +Initial round of "fixup" action that is similar to "squash" action in
160 +"rebase -i" that excludes the commit log message from follow-up commits
161 +when composing the log message for the updated one. Expected is a further
162 +improvement to skip opening the editor if a pick is followed only by
163 +"fixup" and no "squash".
164 +
165 +* sr/gfi-options (2009-12-04) 7 commits
166 + - fast-import: add (non-)relative-marks feature
167 + - fast-import: allow for multiple --import-marks= arguments
168 + - fast-import: test the new option command
169 + - fast-import: add option command
170 + - fast-import: add feature command
171 + - fast-import: put marks reading in its own function
172 + - fast-import: put option parsing code in separate functions
173 +
174 +Rerolled.
175 +
176 +* ap/merge-backend-opts (2008-07-18) 6 commits
177 + - Document that merge strategies can now take their own options
178 + - Extend merge-subtree tests to test -Xsubtree=dir.
179 + - Make "subtree" part more orthogonal to the rest of merge-recursive.
180 + - Teach git-pull to pass -X<option> to git-merge
181 + - git merge -X<option>
182 + - git-merge-file --ours, --theirs
183 +
184 +"git pull" patch needs sq-then-eval fix to protect it from $IFS
185 +but otherwise seemed good.
186 +
187 +* mo/bin-wrappers (2009-12-02) 3 commits
188 + - INSTALL: document a simpler way to run uninstalled builds
189 + - run test suite without dashed git-commands in PATH
190 + - build dashless "bin-wrappers" directory similar to installed bindir
191 +
192 +Rerolled.
193 +
194 +* tr/http-updates (2009-12-01) 3 commits
195 + (merged to 'next' on 2009-12-07 at f08d447)
196 + + Allow curl to rewind the RPC read buffer
197 + + Add an option for using any HTTP authentication scheme, not only basic
198 + + http: maintain curl sessions
199 +
200 +* jc/diff-whitespace-prepare (2009-11-28) 2 commits
201 + - diff: flip the default diff.bwoutputonly to true
202 + - diff: optionally allow traditional "-b/-w affects only output" semantics
203 + (this branch uses gb/1.7.0-diff-whitespace-only-output and jc/1.7.0-diff-whitespace-only-status; is used by jc/1.7.0-diff-whitespace-prepare.)
204 +
205 +This was to redo the two -b/-w semantic changes to prepare the migration of
206 +existing users before 1.7.0 happens, but I think we should drop it.
207 +
208 +Comments?
209 +
210 +* sr/vcs-helper (2009-12-07) 14 commits
211 + (merged to 'next' on 2009-12-07 at 8f041bc)
212 + + tests: handle NO_PYTHON setting
213 + (merged to 'next' on 2009-12-03 at e45b562)
214 + + builtin-push: don't access freed transport->url
215 + (merged to 'next' on 2009-11-27 at 83268ab)
216 + + Add Python support library for remote helpers
217 + + Basic build infrastructure for Python scripts
218 + + Allow helpers to report in "list" command that the ref is unchanged
219 + + Fix various memory leaks in transport-helper.c
220 + + Allow helper to map private ref names into normal names
221 + + Add support for "import" helper command
222 + + Allow specifying the remote helper in the url
223 + + Add a config option for remotes to specify a foreign vcs
224 + + Allow fetch to modify refs
225 + + Use a function to determine whether a remote is valid
226 + + Allow programs to not depend on remotes having urls
227 + + Fix memory leak in helper method for disconnect
228 + (this branch shares commits with il/vcs-helper.)
229 +
230 +Should be among the first to graduate after 1.6.6 final.
231 +
232 +* tr/reset-checkout-patch (2009-11-19) 1 commit.
233 + (merged to 'next' on 2009-11-22 at b224950)
234 + + {checkout,reset} -p: make patch direction configurable
235 +
236 +I do not particularly like a configuration like this that changes the
237 +behaviour of a command in a drastic way---it will make helping others
238 +much harder.
239 +
240 +Comments?
241 +
242 +* nd/sparse (2009-11-25) 20 commits.
243 + (merged to 'next' on 2009-11-25 at 71380f5)
244 + + tests: rename duplicate t1009
245 + (merged to 'next' on 2009-11-23 at f712a41)
246 + + sparse checkout: inhibit empty worktree
247 + + Add tests for sparse checkout
248 + + read-tree: add --no-sparse-checkout to disable sparse checkout support
249 + + unpack-trees(): ignore worktree check outside checkout area
250 + + unpack_trees(): apply $GIT_DIR/info/sparse-checkout to the final index
251 + + unpack-trees(): "enable" sparse checkout and load $GIT_DIR/info/sparse-checkout
252 + + unpack-trees.c: generalize verify_* functions
253 + + unpack-trees(): add CE_WT_REMOVE to remove on worktree alone
254 + + Introduce "sparse checkout"
255 + + dir.c: export excluded_1() and add_excludes_from_file_1()
256 + + excluded_1(): support exclude files in index
257 + + unpack-trees(): carry skip-worktree bit over in merged_entry()
258 + + Read .gitignore from index if it is skip-worktree
259 + + Avoid writing to buffer in add_excludes_from_file_1()
260 + + Teach Git to respect skip-worktree bit (writing part)
261 + + Teach Git to respect skip-worktree bit (reading part)
262 + + Introduce "skip-worktree" bit in index, teach Git to get/set this bit
263 + + Add test-index-version
264 + + update-index: refactor mark_valid() in preparation for new options
265 +
266 +There were some test glitches reported and at least one test seems to
267 +be broken in the sense that it is not testing what it is trying to.
268 +Fix-up expected.
269 +
270 +--------------------------------------------------
271 +[For 1.7.0]
272 +
273 +* jk/1.7.0-status (2009-12-08) 13 commits.
274 + (merged to 'next' on 2009-12-08 at 9b57d84)
275 + + t7508-status: test all modes with color
276 + + t7508-status: status --porcelain ignores relative paths setting
277 + (merged to 'next' on 2009-12-07 at 7723acf)
278 + + status: reduce duplicated setup code
279 + + status: disable color for porcelain format
280 + (merged to 'next' on 2009-12-05 at 44dcefd)
281 + + status -s: obey color.status
282 + + builtin-commit: refactor short-status code into wt-status.c
283 + (merged to 'next' on 2009-11-27 at 91691ec)
284 + + t7508-status.sh: Add tests for status -s
285 + + status -s: respect the status.relativePaths option
286 + (merged to 'next' on 2009-11-21 at 884bb56)
287 + + docs: note that status configuration affects only long format
288 + (merged to 'next' on 2009-10-11 at 65c8513)
289 + + commit: support alternate status formats
290 + + status: add --porcelain output format
291 + + status: refactor format option parsing
292 + + status: refactor short-mode printing to its own function
293 + (this branch uses jc/1.7.0-status.)
294 +
295 +Gives the --short output format to post 1.7.0 "git commit --dry-run" that
296 +is similar to that of post 1.7.0 "git status".
297 +
298 +Immediately after 1.6.6 while rebuilding 'next', we may want to reorder a
299 +few commits at the tip, as "docs: affects only long format" describes a
300 +limitation that has disappeared.
301 +
302 +* jc/1.7.0-status (2009-09-05) 4 commits.
303 + (merged to 'next' on 2009-10-11 at 9558627)
304 + + status: typo fix in usage
305 + + git status: not "commit --dry-run" anymore
306 + + git stat -s: short status output
307 + + git stat: the beginning of "status that is not a dry-run of commit"
308 + (this branch is used by jk/1.7.0-status.)
309 +
310 +With this, "git status" is no longer "git commit --dry-run".
311 +
312 +* jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit.
313 + (merged to 'next' on 2009-10-11 at 043acdf)
314 + + send-email: make --no-chain-reply-to the default
315 +
316 +As the title says.
317 +
318 +* jc/1.7.0-push-safety (2009-02-09) 2 commits.
319 + (merged to 'next' on 2009-10-11 at 81b8128)
320 + + Refuse deleting the current branch via push
321 + + Refuse updating the current branch in a non-bare repository via push
322 +
323 +* jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits.
324 + (merged to 'next' on 2009-10-11 at 546c74d)
325 + + diff.c: fix typoes in comments
326 + + Make test case number unique
327 + + diff: Rename QUIET internal option to QUICK
328 + + diff: change semantics of "ignore whitespace" options
329 + (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
330 +
331 +This changes exit code from "git diff --ignore-whitespace" and friends
332 +when there is no actual output. It is a backward incompatible change,
333 +and jc/diff-whitespace-prepare topic is meant to ease the transition.
334 +
335 +* gb/1.7.0-diff-whitespace-only-output (2009-11-19) 1 commit
336 + (merged to 'next' on 2009-11-21 at 3375bf4)
337 + + No diff -b/-w output for all-whitespace changes
338 + (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
339 +
340 +Likewise but for the output of "diff --git" headers.
341 +
342 +* jc/1.7.0-diff-whitespace-prepare (2009-11-28) 2 commits
343 + - diff: disable diff.bwoutputonly warning
344 + - diff: flip the diff.bwoutputonly default to false
345 + (this branch uses gb/1.7.0-diff-whitespace-only-output, jc/1.7.0-diff-whitespace-only-status and jc/diff-whitespace-prepare.)
346 +
347 +And this is to actually flip the default and eventually remove the warning.
348 +As I am contemplating of dropping jc/diff-whitespace-prepare, this should
349 +also be dropped as well.
350 +
351 +* ns/1.7.0-send-email-no-chain-reply-to (2009-08-22) 1 commit
352 + - send-email: make --no-chain-reply-to the default
353 +
354 +And this is to actually flip the default in 1.7.0.
355 +
356 +--------------------------------------------------
357 +[Reverted from 'next']
358 +
359 +* jc/botched-maint-cygwin-count-objects (2009-11-24) 2 commits.
360 + (merged to 'next' on 2009-11-25 at 8aa62a0)
361 + + Revert "ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)"
362 + (merged to 'next' on 2009-11-22 at 4ba5880)
363 + + ST_BLOCKS_COUNTS_IN_BLKSIZE to say on-disk size is (st_blksize * st_blocks)
364 +
365 +This is a revert of the tip one I merged prematurely to 'next'. The real
366 +fix from Ramsay is already in 'master'.
367 +
368 +* ks/precompute-completion (2009-11-15) 4 commits.
369 + (merged to 'next' on 2009-11-15 at 23cdb96)
370 + + Revert ks/precompute-completion series
371 + (merged to 'next' on 2009-10-28 at cd5177f)
372 + + completion: ignore custom merge strategies when pre-generating
373 + (merged to 'next' on 2009-10-22 at f46a28a)
374 + + bug: precomputed completion includes scripts sources
375 + (merged to 'next' on 2009-10-14 at adf722a)
376 + + Speedup bash completion loading
377 +
378 +Reverted out of 'next', to be replaced with jn/faster-completion-startup
379 +topic.
380 +
381 +--------------------------------------------------
382 +[Haven't been purged from 'pu' yet]
383 +
384 +* jc/grep-full-tree (2009-11-24) 1 commit.
385 + - grep: --full-tree
386 +
387 +The interaction with this option and pathspecs need to be worked out
388 +better. I _think_ "grep --full-tree -e pattern -- '*.h'" should find from
389 +all the header files in the tree, for example.