What's in/cooking updates
[git/spearce.git] / whats / cooking / 2008 / 08 / 07.txt
blob514e10a241d7a3663b38f68f384bf69069d4e19f
1 Subject: What's cooking in git.git (Aug 2008, #07; Sat, 23)
2 X-master-at: d6096f17d2d5d9ccb453aabf8edc6ee238b166fc
3 X-next-at: d789cd45cd80390e3cf86de6c43600007d4b59ac
5 What's cooking in git.git (Aug 2008, #07; Sat, 23)
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 Here is a list of issues/topics we saw on the mailing list but haven't
16 resulted in anything queuable in 'pu' yet.  They need further work by
17 interested parties:
19  * Windows relocatable install
21    Steffen Prohaska ($gmane/92605), Johannes Sixt.
23  * Haiku port
25    Andreas Färber ($gmane/92582)
27  * ksh "trap foo EXIT" triggers on function return, loses exit status
29    Brandon Casey ($gmane/92873)
31  * document webdav debugging tip with davfs2
33    Giovanni Funchal ($gmane/92745)
35  * update "rebase -i" documentation with examples
37    Eric Hanchrow ($gmane/92669)
39  * pre-push hook
41    Scott Chacon ($gmane/92900, $gmane/92936)
43  * "git commit --author=nickname" expanding nickname from somewhere
45    Michael J Gruber ($gmane/93274)
47  * Handling (possibly $HOME-) relative paths in config files
49    Karl Chen ($gmane/93250)
51  * "submodule sync"
53    David Aguilar ($gmane/93265)
55  * "rev-list --bisect --first-parent"
57    Avery Pennarun, me ($gmane/93420)
59  * "apply --include"
61    Joe Perches ($gmane/93505)
63 ----------------------------------------------------------------
64 [New Topics]
66 * bd/blame (Thu Aug 21 18:22:01 2008 -0500) 5 commits
67  . Use xdiff caching to improve git blame performance
68  . Allow xdiff machinery to cache hash results for a file
69  . Always initialize xpparam_t to 0
70  . Bypass textual patch generation and parsing in git blame
71  . Allow alternate "low-level" emit function from xdl_diff
73 Réne had a good comments on how the callback is structured.
75 * jc/maint-name-hash-clear (Sat Aug 23 13:05:10 2008 -0700) 1 commit
76  - discard_cache: reset lazy name_hash bit
78 I spotted this by accident while working on something unrelated.
80 When a program calls discard_cache() to read the index again, we do not
81 properly re-initialize the name_hash structure that is used by the case
82 insensitivitly logic.  This _might_ improve issues people may be having on
83 case insensitive filesystems.  I dunno.
85 * mv/maint-merge-fix (Sat Aug 23 12:56:57 2008 -0700) 1 commit
86  + merge: fix numerus bugs around "trivial merge" area
88 * ml/submodule (Thu Aug 21 19:54:01 2008 -0400) 2 commits
89  + git-submodule.sh - Remove trailing / from URL if found
90  + git-submodule.sh - Remove trailing / from URL if found
92 Soon to be in 'master', I guess.
94 * np/verify-pack (Fri Aug 22 15:45:53 2008 -0400) 1 commit
95  + discard revindex data when pack list changes
97 * jc/add-ita (Thu Aug 21 01:44:53 2008 -0700) 3 commits
98  - git-add --intent-to-add (-N)
99  - cached_object: learn empty blob
100  - sha1_object_info(): pay attention to cached objects
102 Teaches "git add" to record only the intent to add a path later.
103 I think this is better done without the hardcoded empty blob object.
105 ----------------------------------------------------------------
106 [Stalled -- Needs Action to Proceed (or to be dropped)]
108 * sb/daemon (Thu Aug 14 20:02:20 2008 +0200) 4 commits
109  - git-daemon: rewrite kindergarden, new option --max-connections
110  - git-daemon: Simplify dead-children reaping logic
111  - git-daemon: use LOG_PID, simplify logging code
112  - git-daemon: call logerror() instead of error()
114 Can somebody who actually runs the daemon standalone comment on this one?
116 * jc/cc-ld-dynpath (Sat Aug 16 15:01:23 2008 +0200) 2 commits
117  - configure: auto detect dynamic library path switches
118  - Makefile: Allow CC_LD_DYNPATH to be overriden
120 Needs success reports from people who do use user-defined dynamic library
121 path when they build their "git" before this series can go anywhere.
123 * lt/time-reject-fractional-seconds (Sat Aug 16 21:25:40 2008 -0700) 1 commit
124  - date/time: do not get confused by fractional seconds
126 Linus hints further enhancements as "the right way", so let's see if
127 somebody else steps up and tries it before merging this to 'next'.
129 * sp/smart-http (Sun Aug 3 00:25:17 2008 -0700) 2 commits
130  - [do not merge -- original version] Add Git-aware CGI for Git-aware
131    smart HTTP transport
132  - Add backdoor options to receive-pack for use in Git-aware CGI
134 The "magic" detection protocol was revised to use POST to info/refs; the
135 top one queued is from before that discussion.
137 ----------------------------------------------------------------
138 [Actively Cooking]
140 * cc/bisect (Fri Aug 22 05:52:29 2008 +0200) 2 commits
141  - bisect: only check merge bases when needed
142  - bisect: test merge base if good rev is not an ancestor of bad rev
144 * mv/merge-recursive (Tue Aug 12 22:14:00 2008 +0200) 3 commits
145  . Make builtin-revert.c use merge_recursive_generic()
146  . merge-recursive.c: Add more generic merge_recursive_generic()
147  . Split out merge_recursive() to merge-recursive.c
149 Miklos will be working on updates based on comments.
151 * lw/gitweb (Mon Aug 18 21:39:49 2008 +0200) 3 commits
152  . gitweb: use new Git::Repo API, and add optional caching
153  . add new Perl API: Git::Repo, Git::Commit, Git::Tag, and
154    Git::RepoRoot
155  . gitweb: add test suite with Test::WWW::Mechanize::CGI
157 Tentatively dropped as its tests do not seem to pass and I have no time to
158 look at them.
160 * jc/diff-prefix (Mon Aug 18 20:08:09 2008 -0700) 1 commit
161  - diff: vary default prefix depending on what are compared
163 As some people may have noticed, I've been running with this one when
164 sending out "How about this" patches to the discussion threads.
166 * sp/missing-thin-base (Tue Aug 12 11:31:06 2008 -0700) 1 commit
167  + pack-objects: Allow missing base objects when creating thin packs
169 * tr/filter-branch (Tue Aug 12 10:45:59 2008 +0200) 3 commits
170  + filter-branch: use --simplify-merges
171  + filter-branch: fix ref rewriting with --subdirectory-filter
172  + filter-branch: Extend test to show rewriting bug
174 Fixes a longstanding filter branch bug.  Success stories?
176 * jc/post-simplify (Fri Aug 15 01:34:51 2008 -0700) 8 commits
177  - revision --simplify-merges: incremental simplification
178  - revision --simplify-merges: prepare for incremental simplification
179  - revision --simplify-merges: make it a no-op without pathspec
180  + revision --simplify-merges: do not leave commits unprocessed
181  + revision --simplify-merges: use decoration instead of commit->util
182    field
183  + Topo-sort before --simplify-merges
184  + revision traversal: show full history with merge simplification
185  + revision.c: whitespace fix
187 "log --full-history" is with too much clutter, "log" itself is too cleverer
188 than some people, and here is the middle level of merge simplification.
190 I started making this incremental but the progress is not so great.
192 * tr/rev-list-docs (Tue Aug 12 01:55:37 2008 +0200) 1 commit
193  + Documentation: rev-list-options: move --simplify-merges
194    documentation
196 ----------------------------------------------------------------
197 [Will merge to master soon]
199 * jc/no-slim-shell (Tue Aug 19 18:05:43 2008 -0700) 2 commits
200  + Build-in "git-shell"
201  + shell: do not play duplicated definition games to shrink the
202    executable
204 * mv/merge-custom (Sat Aug 23 19:23:22 2008 -0700) 9 commits
205  + t7606: fix custom merge test
206  + Fix "git-merge -s bogo" help text
207  + Update .gitignore to ignore git-help
208  + Builtin git-help.
209  + builtin-help: always load_command_list() in cmd_help()
210  + Add a second testcase for handling invalid strategies in git-merge
211  + Add a new test for using a custom merge strategy
212  + builtin-merge: allow using a custom strategy
213  + builtin-help: make some internal functions available to other
214    builtins
216 The one at the tip fixes a test that assumed git-merge has a broken
217 "trivial merge" implementation.
219 * jc/add-addremove (Tue Jul 22 22:30:40 2008 -0700) 2 commits
220  + builtin-add.c: optimize -A option and "git add ."
221  + builtin-add.c: restructure the code for maintainability
223 * am/cherry-pick-rerere (Sun Aug 10 17:18:55 2008 +0530) 1 commit
224  + Make cherry-pick use rerere for conflict resolution.
226 ----------------------------------------------------------------
227 [On Hold]
229 * jc/stripspace (Sun Mar 9 00:30:35 2008 -0800) 6 commits
230  - git-am --forge: add Signed-off-by: line for the author
231  - git-am: clean-up Signed-off-by: lines
232  - stripspace: add --log-clean option to clean up signed-off-by:
233    lines
234  - stripspace: use parse_options()
235  - Add "git am -s" test
236  - git-am: refactor code to add signed-off-by line for the committer
238 * jc/send-pack-tell-me-more (Thu Mar 20 00:44:11 2008 -0700) 1 commit
239  - "git push": tellme-more protocol extension
241 * jc/merge-whitespace (Sun Feb 24 23:29:36 2008 -0800) 1 commit
242  - WIP: start teaching the --whitespace=fix to merge machinery
244 * jc/blame (Wed Jun 4 22:58:40 2008 -0700) 2 commits
245  - blame: show "previous" information in --porcelain/--incremental
246    format
247  - git-blame: refactor code to emit "porcelain format" output
249 * sg/merge-options (Sun Apr 6 03:23:47 2008 +0200) 1 commit
250  + merge: remove deprecated summary and diffstat options and config
251    variables
253 This was previously in "will be in master soon" category, but it turns out
254 that the synonyms to the ones this one deletes are fairly new invention
255 that happend in 1.5.6 timeframe, and we cannot do this just yet.  Perhaps
256 in 1.7.0.
258 * jc/dashless (Wed Jun 25 15:55:11 2008 -0700) 1 commit
259  - Make clients ask for "git program" over ssh and local transport
261 This is the "botched" one.  Will be resurrected during 1.7.0 or 1.8.0
262 timeframe.
264 * jk/renamelimit (Sat May 3 13:58:42 2008 -0700) 1 commit
265  - diff: enable "too large a rename" warning when -M/-C is explicitly
266    asked for
268 This would be the right thing to do for command line use, but gitk will be
269 hit due to tcl/tk's limitation, so I am holding this back for now.
271 ----------------------------------------------------------------
272 [Graduated to "master"]
274 * ml/submodule-foreach (Sun Aug 10 19:10:04 2008 -0400) 1 commit
275  + git-submodule - Add 'foreach' subcommand
277 * pm/log-exit-code (Mon Aug 11 08:46:25 2008 +0200) 2 commits
278  + Teach git log --exit-code to return an appropriate exit code
279  + Teach git log --check to return an appropriate exit code
281 * sb/commit-tree-minileak (Tue Aug 12 00:35:11 2008 +0200) 1 commit
282  + Fix commit_tree() buffer leak
284 * pb/reflog-dwim (Sun Aug 10 22:22:21 2008 +0200) 1 commit
285  + builtin-reflog: Allow reflog expire to name partial ref
287 * jc/add-stop-at-symlink (Mon Aug 4 00:52:37 2008 -0700) 2 commits
288  + add: refuse to add working tree items beyond symlinks
289  + update-index: refuse to add working tree items beyond symlinks
291 Fix for a longstanding bug that allows "git add" and "git update-index" to
292 add a path "a/b" to the index when "a" is a symbolic link.  We would need
293 a similar fix for the case where "a" is a submodule.
295 * kh/diff-tree (Sun Aug 10 18:13:04 2008 +0200) 4 commits
296  + Add test for diff-tree --stdin with two trees
297  + Teach git diff-tree --stdin to diff trees
298  + diff-tree: Note that the commit ID is printed with --stdin
299  + Refactoring: Split up diff_tree_stdin
301 * mg/count-objects (Fri Aug 15 00:20:20 2008 -0400) 1 commit
302  + count-objects: Add total pack size to verbose output
304 This one is without the human readable bits.
306 * mz/push-verbose (Sat Aug 16 19:58:32 2008 +0200) 1 commit
307  + Make push more verbose about illegal combination of options
309 * jc/index-extended-flags (Sat Aug 16 23:02:08 2008 -0700) 1 commit
310  + index: future proof for "extended" index entries
312 * cc/merge-base-many (Sun Jul 27 13:47:22 2008 -0700) 4 commits
313  + git-merge-octopus: use (merge-base A (merge B C D E...)) for
314    stepwise merge
315  + merge-base-many: add trivial tests based on the documentation
316  + documentation: merge-base: explain "git merge-base" with more than
317    2 args
318  + merge-base: teach "git merge-base" to drive underlying
319    merge_bases_many()
321 * js/parallel-test (Mon Aug 18 12:25:40 2008 -0400) 4 commits
322  + Update t/.gitignore to ignore all trash directories
323  + Enable parallel tests
324  + tests: Clarify dependencies between tests, 'aggregate-results' and
325    'clean'
326  + t9700: remove useless check
328 * jc/test-deeper (Fri Aug 8 02:26:28 2008 -0700) 1 commit
329  + tests: use $TEST_DIRECTORY to refer to the t/ directory
331 This does not actually move "t/test directory" any deeper, but fixes test
332 scripts that assume they run immediately below "t/" to use TEST_DIRECTORY
333 variable.
335 * js/mingw-stat (Mon Aug 18 22:01:06 2008 +0200) 2 commits
336  + Revert "Windows: Use a customized struct stat that also has the
337    st_blocks member."
338  + compat: introduce on_disk_bytes()
340 This gets rid of use of st_blocks member (which is XSI but not POSIX
341 proper), which was originally prompted by recent Haiku port but it turns
342 out MinGW has the same issue as well.  Queued on 'pu' just to have a
343 chance to make sure I munged the version j6t sent me correctly before
344 merging it upwards.
346 * js/checkout-dwim-local (Sat Aug 9 16:00:12 2008 +0200) 1 commit
347  + checkout --track: make up a sensible branch name if '-b' was
348    omitted
350 Alex has update to dwim "checkout --track remotes/origin/hack" as well.
352 * bd/diff-strbuf (Wed Aug 13 23:18:22 2008 -0700) 3 commits
353  + xdiff-interface: hide the whole "xdiff_emit_state" business from
354    the caller
355  + Use strbuf for struct xdiff_emit_state's remainder
356  + Make xdi_diff_outf interface for running xdiff_outf diffs
358 Gives measurable performance improvement to textual diff generation.  For
359 improving "blame" performance, it might be more effective to hook directly
360 to lower level of xdiff machinery so that we do not even have to generate
361 patch only to discard after reading "@@ -l,k +m,n @@" lines, but that
362 would be a separate topic.
364 * dp/hash-literally (Sun Aug 3 18:36:22 2008 +0400) 6 commits
365  + add --no-filters option to git hash-object
366  + add --path option to git hash-object
367  + use parse_options() in git hash-object
368  + correct usage help string for git-hash-object
369  + correct argument checking test for git hash-object
370  + teach index_fd to work with pipes
372 Gives a bit more flexibility to hash-objects by allowing us to lie about
373 the path the contents comes from.
375 * rs/imap (Wed Jul 9 22:29:02 2008 +0100) 5 commits
376  + Documentation: Improve documentation for git-imap-send(1)
377  + imap-send.c: more style fixes
378  + imap-send.c: style fixes
379  + git-imap-send: Support SSL
380  + git-imap-send: Allow the program to be run from subdirectories of
381    a git tree
383 Some people seem to prefer having this feature available also with gnutls.
384 Such an enhancement can be done in-tree on top of this series if they are
385 so inclined.
387 * jk/pager-swap (Tue Jul 22 03:14:12 2008 -0400) 2 commits
388  + spawn pager via run_command interface
389  + run-command: add pre-exec callback
391 This changes the parent-child relationship between the pager and the git
392 process.  We used to make pager the parent which meant that the exit
393 status from git is lost from the caller.
395 * ph/enable-threaded (Mon Jul 21 11:23:43 2008 +0200) 1 commit
396  + Enable threaded delta search on *BSD and Linux.