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

Re: svn cat -r BASE hits the network?

From: John Szakmeister <john_at_szakmeister.net>
Date: 2005-04-05 12:24:45 CEST

On Sunday 03 April 2005 19:24, Max Bowsher wrote:
> John Szakmeister wrote:
> > On Sunday 03 April 2005 16:51, Max Bowsher wrote:
> >> Stephen Davis wrote:
> >>> For my CodeWarrior plugin
> >>> (http://www.soundgeek.org/software/SubversionPlugin.html), I use
> >>> svn_client_cat() to feed the entire file contents into the
> >>> CodeWarrior visual diff engine. Unfortunately, for diffs against
> >>> BASE,
> >>> svn_client_cat() always hits the repository which obvious makes
> >>> local diffs much slower than they need to be (and makes offline
> >>> editing a problem).
> >>>
[snip]
> >> Known bug, just no one seems to be particularly motivated to fix it.
> >> Perhaps you feel like writing a patch?
> >
> > You know, every time I go to hit this particular issue, I get wrapped
> > around the axle because export and cat aren't all that different. In
> > particular, I hate that all the logic for translating keywords and
> > line endings will basically have to be repeated. I actually have a
> > patch with just the logic copied over from the export code... but
> > it's just wrong not to share the code.
> >
> > Would you object to having an 'svn_client__cat_internal()' that would
> > copy the contents to a stream? Then we can use the same function to
> > export the individual files.
>
> There's absolutely nothing wrong with having internal client utility
> functions. That's probably not the best name for it, but otherwise, no
> problem at all.
> But this thread should probably transfer to the dev@ list now.

Actually, I remembered the other reason why I didn't do this. We seem to
have dueling standards in our client interface, and fixing this correctly
(IMHO) involves changing the command-line interface.

Currently, 'svn cat wc-path' defaults to picking the BASE revision of the
file, while other commands default to WORKING. My opinion is that it
should default to WORKING, or it should default to HEAD. BASE just
doesn't make sense (and actually, I believe this may have changed with
the introduction of the peg revision stuff... it used to default to
HEAD).

But, this issue has been around long enough. I'm going to proceed without
changing the default. It would be nice to finally get some resolution as
to what the appropriate defaults should be (there is an open issue about
it, but tigris seems to be running very slowly right now)..

-John

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Apr 5 13:27:31 2005

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