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

Re: Enhancing svn blame (Was: Case study: Mono switches to Subversion)

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: 2004-11-17 18:57:52 CET

"C. Michael Pilato" <cmpilato@collab.net> writes:

> Ben Collins-Sussman <sussman@collab.net> writes:
>
> > In svn 1.0, 'blame' was about 100x slower than CVS. In svn 1.1, it's
> > about 10x slower. I really can't think of any way to make it faster,
> > other than doing what CVS does: keeping a cache of contextual diffs on
> > the server, so the server can instantly generate annotation. We
> > should probably start a different thread on this, to discuss (A) if we
> > want to open an issue for this, (B) if/how we want to prioritize this
> > enhancement at all.
>
> CVS does keep contextual diffs, but we wouldn't need to store all of
> that. All we'd need to store is what we actually want -- annotation
> information. The username, date, and revision are stored as
> revprops. All we lack are the line numbers, really.

Sorry, I mispoke. I think we need line ranges and operation types.
Like, "insert 5 lines at line 14", "remove lines 21-37", etc. The
point being, we don't actually need to know the contents of the lines.

Now, I say that assuming we want to keep svndiff as our primary delta
storage format. But I'm open to considering a system that stores
svndiff for some files and contextual diffs for others.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Nov 17 19:00:57 2004

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