I first sent this patch series 6 months ago today [1], then resent it after some comments from Junio, Johannes, and Brian [2]. Here it is again, addressing further comments from Junio and Eric. The point of the series is to speed up git-svn fetch on Cygwin, where forking is quite slow. In my informal testing, this patch seems to speed things up by ~1.4-~1.7x. We accomplish this by having a single long-lived git-cat-file process and a single long-lived git-hash-object process for the duration of the git-svn invocation. This series is based on top of next. -Adam -- Documentation/git-cat-file.txt | 43 +++++++- Documentation/git-hash-object.txt | 5 +- builtin-cat-file.c | 153 ++++++++++++++++++++++++--- git-svn.perl | 42 ++++---- hash-object.c | 44 ++++++++- perl/Git.pm | 208 ++++++++++++++++++++++++++++++++++++- t/t1006-cat-file.sh | 181 ++++++++++++++++++++++++++++++++ t/t1007-hash-object.sh | 139 +++++++++++++++++++++++++ t/t5303-hash-object.sh | 35 ------ 9 files changed, 768 insertions(+), 82 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