From: Florian Weimer Date: Fri, 29 Aug 2008 10:17:02 GMT Subject: Re: Feature request: git-svn dcommit should send deltas upstream Message-ID: <87tzd4p1lt.fsf@mid.deneb.enyo.de> In-Reply-To: <20080829082311.GA7128@yp-box.dyndns.org> * Eric Wong: > Florian Weimer wrote: >> Looking at my network traffic and the Perl code, it seems to me that >> git-svn fails to create a diff (delta) before sending data to the >> server. As a result, a few changes in a multi-megabyte file lead to a >> large upload (similar to the situation with CVS). git-svn should be >> able to compute this diff in all cases because it has got an up-to-date >> copy of the current revision in the Subversion repository. >> >> As far as I can tell, this can't be fixed with a one-liner; some handles >> need to be passed down to the code that actually handles the upload. > > Odd. Can you verify that svn(1) does not send full files in this case, > too? These two are pcap files of single-line edits to the same file: -rw-r--r-- 1 root root 1.3M 2008-08-29 11:54 /tmp/git -rw-r--r-- 1 root root 40K 2008-08-29 11:53 /tmp/svn > It's been too long since I've looked at the SVN TxDelta API, but I > thought SVN::TxDelta::apply would take care of the delta computation for > us... SVN::Git::Editor::M does not seem to make use of the base text.