Paul Hammant <p...@hammant.org> writes: > I'm making each revision with.. > > dd if=/dev/zero bs=1M count=500 2>/dev/null > > path/to/file/under/versionControl.dat > > .. which is random enough to completely thwart delta analysis of the file. > That's slow enough in itself, but I'm only checking the time of the commit.
The standard client always sends deltas even for cases like yours where the delta is not really an advantage. On receiving the delta the server has to first reconstruct the full text and then construct a second delta to store in the repository. You can make commits a bit faster by using svnmucc without a working copy, the svnmucc client always sends a delta against an empty file which is faster to calculate than the standard client delta against the previous file contents: svnmucc put some/file URL You can make commits even faster by enabling SVNAutoversioning on the server and using curl as your client as then the client doesn't calculate delta at all: curl -XPUT @some/file URL The curl commit will still involve calculating a delta on the server. On my machine: dd: 3.3 sec svn commit: 37 sec svnmucc commit: 26 sec curl commit: 9.5 sec -- Philip