[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [Issue 422] Changed - "svn diff" needs to be fleshed out.

From: Branko Čibej <brane_at_xbc.nu>
Date: 2001-09-05 23:21:47 CEST

Greg Stein wrote:

>On Tue, Sep 04, 2001 at 02:28:50PM -0500, Ben Collins-Sussman wrote:
>
>>2. svn diff -r 5 -r 7 foo.c
>>
>> This is a diff best computed by the repository, since it has
>> version 5 and 7 of this file at its instant disposal. To make
>> this work, we need to:
>>
>> - make libsvn_repos call out to /usr/bin/diff
>> - add new functionality to the "RA" layer definition in svn_ra.h.
>> Specifically, a client needs a new vtable routine to request
>> this diff, and the RA layer needs a generic way of
>> schlepping plain text back to the client.
>>
>
>Oh, screw that. Big time. The server should never have to fork like that.
>The only thing missing here is context within our svndiff. Once we have
>that, then an svndiff can be transformed into a context diff or a unified
>diff.
>
You can't have context in svndiff, as long as we use vdelta. And you
don't want to send context diffs over the net. What you have to do is:

    * On the server:
          * compute the diff between the WC revision and revisin 5;
          * compute the diff between revisinon 5 and revision 7;
          * send both to the client.
    * On the client:
          * use the current version's text base and the two diffs to
            generate fulltexts of revisions 5 and 7;
          * run your favourite plugged-in diff on that.

-- 
Brane �ibej   <brane_at_xbc.nu>            http://www.xbc.nu/brane/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:40 2006

This is an archived mail posted to the Subversion Dev mailing list.