Subject: Re: Feature request: git-svn dcommit should send deltas upstream

From: Florian Weimer <[email-masked]>
Date: Fri, 29 Aug 2008 12:17:02 +0200

* Eric Wong:

> Florian Weimer <[email-masked]> 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.