What's cooking (2008/08 #05)
[git/dscho.git] / whats-cooking.txt
blobb968518f27582878523442c5f5ae7a08cd1916ff
1 Subject: What's cooking in git.git (Aug 2008, #05; Tue, 19)
2 X-master-at: c6670b348cb19c74a6d7f6943df4871eb0d8295f
3 X-next-at: 2fad1ef69ea50e7d9a61a65603ad04bcc079ac0e
5 What's cooking in git.git (Aug 2008, #05; Tue, 19)
6 --------------------------------------------------
8 Here are the topics that have been cooking.  Commits prefixed
9 with '-' are only in 'pu' while commits prefixed with '+' are
10 in 'next'.
12 The topics list the commits in reverse chronological order.  The topics
13 meant to be merged to the maintenance series have "maint-" in their names.
15 Tonight's 'pu' does not pass tests because test vectors have not been
16 adjusted for the changes brought in by the jc/diff-prefix topic.
18 ----------------------------------------------------------------
19 [New Topics]
21 * js/mingw-stat (Mon Aug 18 22:01:06 2008 +0200) 2 commits
22  - Revert "Windows: Use a customized struct stat that also has the
23    st_blocks member."
24  - compat: introduce on_disk_bytes()
26 This gets rid of use of st_blocks member (which is XSI but not POSIX
27 proper), which was originally prompted by recent Haiku port but it turns
28 out MinGW has the same issue as well.  Queued on 'pu' just to have a
29 chance to make sure I munged the version j6t sent me correctly before
30 merging it upwards.
32 * ml/submodule-foreach (Sun Aug 10 19:10:04 2008 -0400) 1 commit
33  + git-submodule - Add 'foreach' subcommand
35 * jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
36  - git-am --forge: add Signed-off-by: line for the author
37  - git-am: clean-up Signed-off-by: lines
38  - stripspace: add --log-clean option to clean up signed-off-by:
39    lines
40  - stripspace: use parse_options()
41  - Add "git am -s" test
42  - git-am: refactor code to add signed-off-by line for the committer
44 * pm/log-exit-code (Mon Aug 11 08:46:25 2008 +0200) 2 commits
45  + Teach git log --exit-code to return an appropriate exit code
46  + Teach git log --check to return an appropriate exit code
48 * sb/commit-tree-minileak (Tue Aug 12 00:35:11 2008 +0200) 1 commit
49  + Fix commit_tree() buffer leak
51 * pb/reflog-dwim (Sun Aug 10 22:22:21 2008 +0200) 1 commit
52  + builtin-reflog: Allow reflog expire to name partial ref
54 * jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
55  - "git push": tellme-more protocol extension
57 * jc/merge-whitespace (Sun Feb 24 23:29:36 2008 -0800) 1 commit
58  - WIP: start teaching the --whitespace=fix to merge machinery
60 * lw/gitweb (Mon Aug 18 21:39:49 2008 +0200) 3 commits
61  - gitweb: use new Git::Repo API, and add optional caching
62  - add new Perl API: Git::Repo, Git::Commit, Git::Tag, and
63    Git::RepoRoot
64  - gitweb: add test suite with Test::WWW::Mechanize::CGI
66 * jc/diff-prefix (Mon Aug 18 20:08:09 2008 -0700) 1 commit
67  - diff: vary default prefix depending on what are compared
69 * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
70  - blame: show "previous" information in --porcelain/--incremental
71    format
72  - git-blame: refactor code to emit "porcelain format" output
74 ----------------------------------------------------------------
75 [Graduated to "master"]
77 * ak/p4 (Thu Aug 14 23:40:39 2008 +0100) 14 commits
78  + Utilise our new p4_read_pipe and p4_write_pipe wrappers
79  + Add p4 read_pipe and write_pipe wrappers
80  + Put in the two other configuration elements found in the source
81  + Put some documentation in about the parameters that have been
82    added
83  + Move git-p4.syncFromOrigin into a configuration parameters section
84  + Consistently use 'git-p4' for the configuration entries
85  + If the user has configured various parameters, use them.
86  + Switch to using 'p4_build_cmd'
87  + If we are in verbose mode, output what we are about to run (or
88    return)
89  + Add a single command that will be used to construct the 'p4'
90    command
91  + Utilise the new 'p4_system' function.
92  + Have a command that specifically invokes 'p4' (via system)
93  + Utilise the new 'p4_read_pipe_lines' command
94  + Create a specific version of the read_pipe_lines command for p4
95    invocations
97 Warmly received by the primary contributors of git-p4; this was merged as
98 part of 1.6.0.
100 ----------------------------------------------------------------
101 [Will merge to master soon]
103 * js/checkout-dwim-local (Sat Aug 9 16:00:12 2008 +0200) 1 commit
104  + checkout --track: make up a sensible branch name if '-b' was
105    omitted
107 * bd/diff-strbuf (Wed Aug 13 23:18:22 2008 -0700) 3 commits
108  + xdiff-interface: hide the whole "xdiff_emit_state" business from
109    the caller
110  + Use strbuf for struct xdiff_emit_state's remainder
111  + Make xdi_diff_outf interface for running xdiff_outf diffs
113 Gives measurable performance improvement to textual diff generation.  For
114 improving "blame" performance, it might be more effective to hook directly
115 to lower level of xdiff machinery so that we do not even have to generate
116 patch only to discard after reading "@@ -l,k +m,n @@" lines, but that
117 would be a separate topic.
119 * jc/add-stop-at-symlink (Mon Aug 4 00:52:37 2008 -0700) 2 commits
120  + add: refuse to add working tree items beyond symlinks
121  + update-index: refuse to add working tree items beyond symlinks
123 Fix for a longstanding bug that allows "git add" and "git update-index" to
124 add a path "a/b" to the index when "a" is a symbolic link.  We would need
125 a similar fix for the case where "a" is a submodule.
127 * dp/hash-literally (Sun Aug 3 18:36:22 2008 +0400) 6 commits
128  + add --no-filters option to git hash-object
129  + add --path option to git hash-object
130  + use parse_options() in git hash-object
131  + correct usage help string for git-hash-object
132  + correct argument checking test for git hash-object
133  + teach index_fd to work with pipes
135 Gives a bit more flexibility to hash-objects by allowing us to lie about
136 the path the contents comes from.
138 * mv/merge-custom (Wed Aug 13 23:32:43 2008 +0200) 7 commits
139  + Update .gitignore to ignore git-help
140  + Builtin git-help.
141  + builtin-help: always load_command_list() in cmd_help()
142  + Add a second testcase for handling invalid strategies in git-merge
143  + Add a new test for using a custom merge strategy
144  + builtin-merge: allow using a custom strategy
145  + builtin-help: make some internal functions available to other
146    builtins
148 * kh/diff-tree (Sun Aug 10 18:13:04 2008 +0200) 4 commits
149  + Add test for diff-tree --stdin with two trees
150  + Teach git diff-tree --stdin to diff trees
151  + diff-tree: Note that the commit ID is printed with --stdin
152  + Refactoring: Split up diff_tree_stdin
154 * mg/count-objects (Fri Aug 15 00:20:20 2008 -0400) 1 commit
155  + count-objects: Add total pack size to verbose output
157 This one is without the human readable bits.
159 * mz/push-verbose (Sat Aug 16 19:58:32 2008 +0200) 1 commit
160  + Make push more verbose about illegal combination of options
162 * jc/index-extended-flags (Sat Aug 16 23:02:08 2008 -0700) 1 commit
163  + index: future proof for "extended" index entries
165 * cc/merge-base-many (Sun Jul 27 13:47:22 2008 -0700) 4 commits
166  + git-merge-octopus: use (merge-base A (merge B C D E...)) for
167    stepwise merge
168  + merge-base-many: add trivial tests based on the documentation
169  + documentation: merge-base: explain "git merge-base" with more than
170    2 args
171  + merge-base: teach "git merge-base" to drive underlying
172    merge_bases_many()
174 * rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
175  + Documentation: Improve documentation for git-imap-send(1)
176  + imap-send.c: more style fixes
177  + imap-send.c: style fixes
178  + git-imap-send: Support SSL
179  + git-imap-send: Allow the program to be run from subdirectories of
180    a git tree
182 Some people seem to prefer having this feature available also with gnutls.
183 Such an enhancement can be done in-tree on top of this series if they are
184 so inclined.
186 * jc/add-addremove (Tue Jul 22 22:30:40 2008 -0700) 2 commits
187  + builtin-add.c: optimize -A option and "git add ."
188  + builtin-add.c: restructure the code for maintainability
190 * jk/pager-swap (Tue Jul 22 03:14:12 2008 -0400) 2 commits
191  + spawn pager via run_command interface
192  + run-command: add pre-exec callback
194 This changes the parent-child relationship between the pager and the git
195 process.  We used to make pager the parent which meant that the exit
196 status from git is lost from the caller.
198 * ph/enable-threaded (Mon Jul 21 11:23:43 2008 +0200) 1 commit
199  + Enable threaded delta search on *BSD and Linux.
201 * am/cherry-pick-rerere (Sun Aug 10 17:18:55 2008 +0530) 1 commit
202  + Make cherry-pick use rerere for conflict resolution.
204 * js/parallel-test (Mon Aug 18 12:25:40 2008 -0400) 4 commits
205  + Update t/.gitignore to ignore all trash directories
206  + Enable parallel tests
207  + tests: Clarify dependencies between tests, 'aggregate-results' and
208    'clean'
209  + t9700: remove useless check
211 * jc/test-deeper (Fri Aug 8 02:26:28 2008 -0700) 1 commit
212  + tests: use $TEST_DIRECTORY to refer to the t/ directory
214 This does not actually move "t/test directory" any deeper, but fixes test
215 scripts that assume they run immediately below "t/" to use TEST_DIRECTORY
216 variable.
218 ----------------------------------------------------------------
219 [Actively Cooking]
221 * sp/missing-thin-base (Tue Aug 12 11:31:06 2008 -0700) 1 commit
222  + pack-objects: Allow missing base objects when creating thin packs
224 * tr/filter-branch (Tue Aug 12 10:45:59 2008 +0200) 3 commits
225  + filter-branch: use --simplify-merges
226  + filter-branch: fix ref rewriting with --subdirectory-filter
227  + filter-branch: Extend test to show rewriting bug
229 Fixes a longstanding filter branch bug.
231 * jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 8 commits
232  - revision --simplify-merges: incremental simplification
233  - revision --simplify-merges: prepare for incremental simplification
234  - revision --simplify-merges: make it a no-op without pathspec
235  + revision --simplify-merges: do not leave commits unprocessed
236  + revision --simplify-merges: use decoration instead of commit->util
237    field
238  + Topo-sort before --simplify-merges
239  + revision traversal: show full history with merge simplification
240  + revision.c: whitespace fix
242 "log --full-history" is with too much clutter, "log" itself is too cleverer
243 than some people, and here is the middle level of merge simplification.
245 I started making this incremental but the progress is not so great.
247 * tr/rev-list-docs (Tue Aug 12 01:55:37 2008 +0200) 1 commit
248  + Documentation: rev-list-options: move --simplify-merges
249    documentation
251 ----------------------------------------------------------------
252 [On Hold]
254 * lt/time-reject-fractional-seconds (Sat Aug 16 21:25:40 2008 -0700) 1 commit
255  - date/time: do not get confused by fractional seconds
257 Linus hints further enhancements as "the right way", so let's see if
258 somebody else steps up and tries it before merging this to 'next'.
260 * jc/cc-ld-dynpath (Sat Aug 16 15:01:23 2008 +0200) 2 commits
261  - configure: auto detect dynamic library path switches
262  - Makefile: Allow CC_LD_DYNPATH to be overriden
264 Needs success reports from people who do use user-defined dynamic library
265 path when they build their "git" before this series can go anywhere.
267 * sb/daemon (Thu Aug 14 20:02:20 2008 +0200) 4 commits
268  - git-daemon: rewrite kindergarden, new option --max-connections
269  - git-daemon: Simplify dead-children reaping logic
270  - git-daemon: use LOG_PID, simplify logging code
271  - git-daemon: call logerror() instead of error()
273 Can somebody who actually runs the daemon standalone comment on this one?
275 * mv/merge-recursive (Tue Aug 12 22:14:00 2008 +0200) 3 commits
276  - Make builtin-revert.c use merge_recursive_generic()
277  - merge-recursive.c: Add more generic merge_recursive_generic()
278  - Split out merge_recursive() to merge-recursive.c
280 I do not think builtlin-revert should use "recursive", but these patches
281 give a good starting point to separate the bulk of the "rename-aware
282 three-way merge" into library form.
284 * sp/smart-http (Sun Aug 3 00:25:17 2008 -0700) 2 commits
285  - [do not merge -- original version] Add Git-aware CGI for Git-aware
286    smart HTTP transport
287  - Add backdoor options to receive-pack for use in Git-aware CGI
289 The "magic" detection protocol was revised to use POST to info/refs; the
290 top one queued is from before that discussion.
292 * cc/bisect (Fri Jul 25 05:36:37 2008 +0200) 2 commits
293  - bisect: only check merge bases when needed
294  - bisect: test merge base if good rev is not an ancestor of bad rev
296 The first one alone does not pass its self-test but combined together they
297 seem to.  It does not build confidence as the latter one is supposed to be
298 an optimization only.  Resend of fixed-up series is needed.
300 * sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
301  + merge: remove deprecated summary and diffstat options and config
302    variables
304 This was previously in "will be in master soon" category, but it turns out
305 that the synonyms to the ones this one deletes are fairly new invention
306 that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
307 in 1.7.0.
309 * jc/dashless (Wed Jun 25 15:55:11 2008 -0700) 1 commit
310  - Make clients ask for "git program" over ssh and local transport
312 This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
313 timeframe.
315 * jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
316  - diff: enable "too large a rename" warning when -M/-C is explicitly
317    asked for
319 This would be the right thing to do for command line use, but gitk will be
320 hit due to tcl/tk's limitation, so I am holding this back for now.