On Wed, 2005-02-16 at 08:37 +0100, Peter N. Lundblad wrote:
> On Tue, 15 Feb 2005, Daniel Berlin wrote:
>
> > On Tue, 2005-02-15 at 20:05 -0500, Mark Benedetto King wrote:
> >
> > > This should not be difficult: the existing system just tracks everything
> > > by line number until it is time to output the blame, then it simply reads
> > > through the blamed revision (which exists in a temporary file) one line
> > > at a time, calling the blame callback as it goes.
> >
> >
> > I've started to implement it.
> > The real problem is that i have to read each file into an artificial
> > buffer seperated by lines since diff gives me line numbers, but no text
> > for the lines.
> >
> Mark's point was that you don't actually need the text of all the lines.
This is true, you could add fake lines :).
However, We don't fix it up on the fly, we actually add and delete the
lines diff by diff as we are processing blame to keep everything
straight. For purposes of comparing to the youngest revision, only
deletes matter (we diff youngest to next youngest, then next youngest to
next younger than that, etc. *not* the other way around). So
theoretically, you could just add fake lines with no real data, since
even modifies are processed as "add/delete"
> All lines you are eventually going to output are in the youngest file, so
> just keep that file around ntil the bitter end.
>
> Noe that get_filerevs currently doesn't give revisions backwards.
It does in my version :)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 16 15:28:52 2005