This patch series makes git-svn fetch about 1.7x faster by reducing the number of forks/execs that occur for each file retrieved from Subversion. To do so, a few new options are added to git-cat-file and git-hash-object to allow continuous input on stdin and continuous output on stdout, so that one instance of each of these commands can be kept running for the duration of the fetch. The series is based on top of next. I considered basing it on top of the parse_options work since I touch the option parsing in these two commands, but I didn't know how wise it would be to base a patch series on something in pu. I tried to add some new tests for cat-file and hash-object to ensure that I didn't break old behavior, but I'm not very experienced with the git test suite and I'm sure my tests could use some improvement. This is the most invasive change I've yet made to git, so comments are more than welcome. -Adam -- Documentation/git-cat-file.txt | 11 +++- Documentation/git-hash-object.txt | 5 +- builtin-cat-file.c | 96 +++++++++++++++++++++---- git-svn.perl | 94 +++++++++++++++++++------ hash-object.c | 29 ++++++++- perl/Git.pm | 56 +++++++++++++++ t/t1005-cat-file.sh | 139 +++++++++++++++++++++++++++++++++++++ t/t1006-hash-object.sh | 49 +++++++++++++ 8 files changed, 438 insertions(+), 41 deletions(-) -- - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html