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

Re: Peg revisions, diff, and repository roots

From: Ben Collins-Sussman <sussman_at_red-bean.com>
Date: 2006-02-01 01:53:28 CET

On 1/31/06, Garrett Rooney <rooneg@electricjellyfish.net> wrote:

> I'm a little fuzzy on the logic behind peg revisions and diff, so bear
> with me, but why the heck is there even a difference between -r
> FOO:BAR URL and URL@FOO URL@BAR?

You know why, because one is doing peg-tracing, and one isn't. :-)

The first form begins with URL@HEAD, then traces history backwards to
discover whatever URL used to be called in rFOO, and then repeats the
trace backwards to rBAR as well. The ultimate result is that the
command may end up comparing two totally different paths in rFOO and
rBAR.

The second form skips the history tracing altogether; you've already
pinpointed the exact (rev, path) coordinates to compare.

> And if there is a difference, why does the much more commonly
> used case default to a behavior that results in terminally slow
> results on large repositories?

Consistency with other commands. That's the party line, at least. :-)

>
> Additionally, it seems awfully silly that we do history tracing at all
> when pointed at the repository root. It's not like it's going to move
> on us if we go back through history... Can we just special case that
> to avoid this pain in at least that case?

How do we know it's the repository root?

The logic which decides "do a history trace or not" is client-side,
not server-side.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Feb 1 01:53:53 2006

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.