On Tue, Sep 04, 2001 at 02:28:50PM -0500, Ben Collins-Sussman wrote:
> Kevin Pilch-Bisson <email@example.com> writes:
> > Pardon my misunderstanding, but what functionality is this exactly?
> 1. svn diff foo.c
> This can be done entirely client-side, by comparing foo.c
> against the hidden pristine copy in SVN/text-base/. This is
> what we have now.
> 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.
> 3. svn diff -r 5 foo.c
> This means:
> - asking the RA layer for 5:foo.c's entire textual contents,
> so we can compare against our local foo.c. Similar to
> situation #2.
> Again, this is not a nightmare to implement, but means expanding what
> our RA vtable can do -- easy to do in the ra_local case. But for
> ra_dav, it means coming up with new ways to marshall plaintext over
> DAV message bodies. Right now, I'd rather help gstein & others fix
> the *current* bugs in ra_dav, rather than adding new functionality
> there. :-)
Gotcha, obviously diffing between revisions isn't something I do very often ;)
Kevin Pilch-Bisson http://www.pilch-bisson.net
"Historically speaking, the presences of wheels in Unix
has never precluded their reinvention." - Larry Wall
Received on Sat Oct 21 14:36:39 2006
- application/pgp-signature attachment: stored