What's cooking (2009/12 #05)
[git/dscho.git] / whats-cooking.txt
blob4466a294feced3b759bfe226b5a8d3442feaf262
1 To: git@vger.kernel.org
2 Subject: What's cooking in git.git (Dec 2009, #05; Mon, 28)
3 X-master-at: c2ff10c98e22ae64d553273e6d67bb123a1c916f
4 X-next-at: ba67783643e94c85cfa57edf932dea2abdf68711
6 What's cooking in git.git (Dec 2009, #05; Mon, 28)
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 --------------------------------------------------
15 [Graduated to "master"]
17 * sr/vcs-helper (2009-12-07) 14 commits
18   (merged to 'next' on 2009-12-07 at 8f041bc)
19  + tests: handle NO_PYTHON setting
20   (merged to 'next' on 2009-12-03 at e45b562)
21  + builtin-push: don't access freed transport->url
22   (merged to 'next' on 2009-11-27 at 83268ab)
23  + Add Python support library for remote helpers
24  + Basic build infrastructure for Python scripts
25  + Allow helpers to report in "list" command that the ref is unchanged
26  + Fix various memory leaks in transport-helper.c
27  + Allow helper to map private ref names into normal names
28  + Add support for "import" helper command
29  + Allow specifying the remote helper in the url
30  + Add a config option for remotes to specify a foreign vcs
31  + Allow fetch to modify refs
32  + Use a function to determine whether a remote is valid
33  + Allow programs to not depend on remotes having urls
34  + Fix memory leak in helper method for disconnect
36 * jc/1.7.0-send-email-no-thread-default (2009-08-22) 1 commit
37   (merged to 'next' on 2009-10-11 at 043acdf)
38  + send-email: make --no-chain-reply-to the default
40 * jc/1.7.0-push-safety (2009-02-09) 2 commits
41   (merged to 'next' on 2009-10-11 at 81b8128)
42  + Refuse deleting the current branch via push
43  + Refuse updating the current branch in a non-bare repository via push
45 * jc/1.7.0-diff-whitespace-only-status (2009-08-30) 4 commits
46   (merged to 'next' on 2009-10-11 at 546c74d)
47  + diff.c: fix typoes in comments
48  + Make test case number unique
49  + diff: Rename QUIET internal option to QUICK
50  + diff: change semantics of "ignore whitespace" options
51  (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
53 This changes exit code from "git diff --ignore-whitespace" and friends
54 when there is no actual output.
56 * gb/1.7.0-diff-whitespace-only-output (2009-11-19) 1 commit
57   (merged to 'next' on 2009-11-21 at 3375bf4)
58  + No diff -b/-w output for all-whitespace changes
59  (this branch is used by jc/1.7.0-diff-whitespace-prepare and jc/diff-whitespace-prepare.)
61 Likewise but for the output of "diff --git" headers.
63 * jk/1.7.0-status (2009-12-11) 16 commits
64   (merged to 'next' on 2009-12-24 at e9929b3)
65  + status/commit: do not suggest "reset HEAD <path>" while merging
66  + commit/status: "git add <path>" is not necessarily how to resolve
67  + commit/status: check $GIT_DIR/MERGE_HEAD only once
68   (merged to 'next' on 2009-12-08 at 9b57d84)
69  + t7508-status: test all modes with color
70  + t7508-status: status --porcelain ignores relative paths setting
71   (merged to 'next' on 2009-12-07 at 7723acf)
72  + status: reduce duplicated setup code
73  + status: disable color for porcelain format
74   (merged to 'next' on 2009-12-05 at 44dcefd)
75  + status -s: obey color.status
76  + builtin-commit: refactor short-status code into wt-status.c
77   (merged to 'next' on 2009-11-27 at 91691ec)
78  + t7508-status.sh: Add tests for status -s
79  + status -s: respect the status.relativePaths option
80   (merged to 'next' on 2009-11-21 at 884bb56)
81  + docs: note that status configuration affects only long format
82   (merged to 'next' on 2009-10-11 at 65c8513)
83  + commit: support alternate status formats
84  + status: add --porcelain output format
85  + status: refactor format option parsing
86  + status: refactor short-mode printing to its own function
87  (this branch uses jc/1.7.0-status.)
89 Gives the --short output format to post 1.7.0 "git commit --dry-run" that
90 is similar to that of post 1.7.0 "git status".
92 * jc/1.7.0-status (2009-09-05) 4 commits
93   (merged to 'next' on 2009-10-11 at 9558627)
94  + status: typo fix in usage
95  + git status: not "commit --dry-run" anymore
96  + git stat -s: short status output
97  + git stat: the beginning of "status that is not a dry-run of commit"
98  (this branch is used by jk/1.7.0-status.)
100 With this, "git status" is no longer "git commit --dry-run".
102 --------------------------------------------------
103 [New Topics]
105 * jc/cache-unmerge (2009-12-25) 9 commits
106  - rerere forget path: forget recorded resolution
107  - rerere: refactor rerere logic to make it independent from I/O
108  - rerere: remove silly 1024-byte line limit
109  - resolve-undo: teach "update-index --unresolve" to use resolve-undo info
110  - resolve-undo: "checkout -m path" uses resolve-undo information
111  - resolve-undo: allow plumbing to clear the information
112  - resolve-undo: basic tests
113  - resolve-undo: record resolved conflicts in a new index extension section
114  - builtin-merge.c: use standard active_cache macros
116 * js/filter-branch-prime (2009-12-15) 1 commit
117  - filter-branch: remove an unnecessary use of 'git read-tree'
119 * mg/tag-d-show (2009-12-10) 1 commit
120  - tag -d: print sha1 of deleted tag
122 * sb/maint-octopus (2009-12-11) 3 commits
123  - octopus: remove dead code
124  - octopus: reenable fast-forward merges
125  - octopus: make merge process simpler to follow
127 * il/exec-error-report (2009-12-24) 2 commits
128  - Improve transport helper exec failure reporting
129  - Report exec errors from run-command
131 --------------------------------------------------
132 [Cooking]
134 * jh/commit-status (2009-12-07) 1 commit
135  - [test?] Add commit.status, --status, and --no-status
137 * jc/checkout-merge-base (2009-11-20) 2 commits
138   (merged to 'next' on 2009-12-24 at ff4d1d4)
139  + "rebase --onto A...B" replays history on the merge base between A and B
140  + "checkout A...B" switches to the merge base between A and B
142 * tr/http-push-ref-status (2009-12-24) 6 commits
143  - transport-helper.c::push_refs(): emit "no refs" error message
144  - transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed
145  - transport.c::transport_push(): make ref status affect return value
146  - refactor ref status logic for pushing
147  - t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs
148  - t5541-http-push.sh: add tests for non-fast-forward pushes
150 * bg/maint-add-all-doc (2009-12-07) 4 commits
151  - squash! rm documentation--also mention add-u where we mention commit-a
152  - git-rm doc: Describe how to sync index & work tree
153  - git-add/rm doc: Consistently back-quote
154  - Documentation: 'git add -A' can remove files
156 I didn't like the existing documentation for "add -u" myself (especially
157 because I wrote the initial version) and this neatly fix it as well.
159 * il/vcs-helper (2009-12-09) 8 commits
160  - Remove special casing of http, https and ftp
161  - Support remote archive from all smart transports
162  - Support remote helpers implementing smart transports
163  - Support taking over transports
164  - Refactor git transport options parsing
165  - Pass unknown protocols to external protocol handlers
166  - Support mandatory capabilities
167  - Add remote helper debug mode
169 * mm/diag-path-in-treeish (2009-12-07) 1 commit
170  - Detailed diagnosis when parsing an object name fails.
172 * mh/rebase-fixup (2009-12-07) 2 commits
173  - Add a command "fixup" to rebase --interactive
174  - t3404: Use test_commit to set up test repository
175  (this branch is used by ns/rebase-auto-squash.)
177 Initial round of "fixup" action that is similar to "squash" action in
178 "rebase -i" that excludes the commit log message from follow-up commits
179 when composing the log message for the updated one.  Expected is a further
180 improvement to skip opening the editor if a pick is followed only by
181 "fixup" and no "squash".
183 * ns/rebase-auto-squash (2009-12-08) 2 commits
184  - fixup! rebase -i --autosquash
185  - rebase -i --autosquash: auto-squash commits
186  (this branch uses mh/rebase-fixup.)
188 * jh/notes (2009-12-07) 11 commits
189  - Refactor notes concatenation into a flexible interface for combining notes
190  - Notes API: Allow multiple concurrent notes trees with new struct notes_tree
191  - Notes API: for_each_note(): Traverse the entire notes tree with a callback
192  - Notes API: get_note(): Return the note annotating the given object
193  - Notes API: add_note(): Add note objects to the internal notes tree structure
194  - Notes API: init_notes(): Initialize the notes tree from the given notes ref
195  - Notes API: get_commit_notes() -> format_note() + remove the commit restriction
196  - Minor style fixes to notes.c
197  - Add more testcases to test fast-import of notes
198  - Rename t9301 to t9350, to make room for more fast-import tests
199  - fast-import: Proper notes tree manipulation
201 * fc/opt-quiet-gc-reset (2009-12-02) 1 commit
202  - General --quiet improvements
204 * mv/commit-date (2009-12-03) 2 commits
205  - Document date formats accepted by parse_date()
206  - builtin-commit: add --date option
208 * sr/gfi-options (2009-12-04) 7 commits
209  - fast-import: add (non-)relative-marks feature
210  - fast-import: allow for multiple --import-marks= arguments
211  - fast-import: test the new option command
212  - fast-import: add option command
213  - fast-import: add feature command
214  - fast-import: put marks reading in its own function
215  - fast-import: put option parsing code in separate functions
217 * ap/merge-backend-opts (2008-07-18) 6 commits
218  - Document that merge strategies can now take their own options
219  - Extend merge-subtree tests to test -Xsubtree=dir.
220  - Make "subtree" part more orthogonal to the rest of merge-recursive.
221  - Teach git-pull to pass -X<option> to git-merge
222  - git merge -X<option>
223  - git-merge-file --ours, --theirs
225 "git pull" patch needs sq-then-eval fix to protect it from $IFS
226 but otherwise seemed good.
228 * mo/bin-wrappers (2009-12-02) 3 commits
229  - INSTALL: document a simpler way to run uninstalled builds
230  - run test suite without dashed git-commands in PATH
231  - build dashless "bin-wrappers" directory similar to installed bindir
233 * tr/http-updates (2009-12-01) 3 commits
234   (merged to 'next' on 2009-12-07 at f08d447)
235  + Allow curl to rewind the RPC read buffer
236  + Add an option for using any HTTP authentication scheme, not only basic
237  + http: maintain curl sessions
239 * nd/sparse (2009-12-14) 22 commits
240   (merged to 'next' on 2009-12-24 at 1fa9ff3)
241  + commit: correctly respect skip-worktree bit
242  + ie_match_stat(): do not ignore skip-worktree bit with CE_MATCH_IGNORE_VALID
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
266 --------------------------------------------------
267 [Ejected]
269 * je/send-email-no-subject (2009-08-05) 1 commit
270   (merged to 'next' on 2009-10-11 at 1b99c56)
271  + send-email: confirm on empty mail subjects
273 * jc/fix-tree-walk (2009-10-22) 8 commits
274   (merged to 'next' on 2009-10-22 at 10c0c8f)
275  + Revert failed attempt since 353c5ee
276  + read-tree --debug-unpack
277   (merged to 'next' on 2009-10-11 at 0b058e2)
278  + unpack-trees.c: look ahead in the index
279  + unpack-trees.c: prepare for looking ahead in the index
280  + Aggressive three-way merge: fix D/F case
281  + traverse_trees(): handle D/F conflict case sanely
282  + more D/F conflict tests
283  + tests: move convenience regexp to match object names to test-lib.sh
285 This has some stupid bugs and reverted from 'next' until I can fix it, but
286 the "temporarily" turned out to be very loooong.
288 * jc/grep-full-tree (2009-11-24) 1 commit
289  . grep: --full-tree
291 The interaction with this option and pathspecs need to be worked out
292 better.  I _think_ "grep --full-tree -e pattern -- '*.h'" should find from
293 all the header files in the tree, for example.
295 * cc/reset-more (2009-12-08) 6 commits
296  . Documentation: reset: add some tables to describe the different options
297  . Documentation: reset: describe new "--keep-local-changes" option
298  . reset: add test cases for "--keep-local-changes" option
299  . reset: add option "--keep-local-changes" to "git reset"
300  . reset: use "unpack_trees()" directly instead of "git read-tree"
301  . reset: add a few tests for "git reset --merge"
303 The documentation is much clearer than the previous round in describing
304 what it does, but I find it a bit unclear in describing what it is _good_
305 for (iow, scenarios and use cases).
307 Breaks 'pu' and does not pass test on its own yet.