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

Re: Anyone want a server load generator called svn-annotate.py?

From: Brandon Ehle <azverkan_at_yahoo.com>
Date: 2003-07-28 18:43:29 CEST

kfogel@collab.net wrote:

>Brandon Ehle <azverkan@yahoo.com> writes:
>
>
>>This is more or less the side effect of my investigations into the
>>current state of the SWIG Python bindings.
>>
>>It implements svn annotate functionlity using svn log, svn cat, and
>>svn diff in a brute force approach. It's probably great for
>>generating server load and checking for corrupted repositories too :).
>>
>>
>
>Yes, I want it :-).
>
>If you're using 'svn cat', then why run 'svn diff' at all?
>
>
Well, I was hoping that Subversion might be able to do more optimal
diffs or, in the future, know more about the diff operation than just
the fulltexts. (I'm not sure how merges are going to work yet).

>Since 'svn diff' just fetches texts from the server and runs diff
>locally, it might be better simply to fetch the fulltexts using 'svn
>cat' and do all your diffing locally using plain diff. After all,
>consider
>
> $ svn diff -r X:Y foo.c
> $ svn diff -r Y:Z foo.c
>
>...fetches revision Y twice, whereas if you just gather all the
>necessary revisions once and then use local diffing to get the
>annotation information, you avoid the extra load.
>
>
I was afraid of that. I wasn't sure whether Subversion could generate
the diffs server side or not. I wonder if it would be generally useful
for Subversion to support a client side cache for operations like this,
or when we are using the internal diff library, to generate the diffs
server side?

>I'd be even more excited about a version that didn't depend on the
>bindings. Are you taking advantage of Sander Striker's internal diff
>library? It didn't look like it to me, but I might have misread the
>code. If you're not, then does using the bindings help much at all?
>
>
Well the plan was to look into the state of the SWIG Python bindings. I
was hoping to avoid any parsing of output from the Subversion API.
Other than the client.diff() command, I was able to achieve this. Is
there some way I can get at the internal diff library and access the
diff before it gets converted to the printable format?

Also, what's the bad rap on the bindings? For repositories like CVS
where no such API is available, I can understand the need for parsing
the output from the command line client. But why would I want to depend
on the text format API instead of the binding API?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 28 18:43:35 2003

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.