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

Re: [PATCH] Replace vdelta with singel insert op (was: [PATCH] Replace vdelta with xdelta variant)

From: David Glasser <glasser_at_davidglasser.net>
Date: Thu, 24 Jan 2008 07:07:20 -0800

On Jan 24, 2008 3:26 AM, Branko ╚ibej <brane_at_xbc.nu> wrote:
> David Glasser wrote:
> > On Jan 22, 2008 9:07 AM, Branko ╚ibej <brane_at_xbc.nu> wrote:
> >
> >> Bah. --pre-1.4.x-compatible is for old clients accessing via file://.
> >> svndiff0 over the wire is for old clients, period. I think burning that
> >> bit all the way through our APIs is more hassle than upgrading clients.
> >>
> >
> > I'll buy that for the FS; although it's also for "old repositories who
> > haven't done a dump and load, the only officially supported way of
> > upgrading repository format", I suspect that 1.5 will require an
> > "svnadmin upgrade" command anyway.
> >
>
> IMHO the inconvenience of forcing an upgrade of clients that access the
> repository locally is mitigated by the fact that they /do/ access the
> repository locally, in other words, it's quite likely that you'll have
> complete control over the client version when you upgrade the server and
> the repository.

Actually, my point here was just that the statement "when you upgrade
the server and the repository" makes it sounds like "upgrade the
repository" is an easy, constant-time operation. We could easily make
that the case (because the current format changes never require more
than making some new files or directories and changing the "format"
files), but all we really support is dump and load.

> > Do we have actual numbers on client versions anywhere? It wasn't long
> > ago that it was uncommon to find 1.4 in stable versions of various
> > distributions.
> >
>
> I don't think that's so important. Remember that we never send actual
> data from the repo to the client; it's always munged and deltas
> recomputed in some way. So this over-the-net slowdown would only affect
> pre-1.4 clients talking to a 1.5 server during initial checkout, when we
> can't send deltas.

Um, what do you mean "when we can't send deltas"? The whole point
here was that even the original checkout of a file may be computed as
a delta against the empty stream. (Unless there's some special-case
code somewhere to not do this for the first checkout, but I don't
think so...)

That said, I suspect your analysis of the trade-offs is correct; it
would just be nice to have some real usage numbers.

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
Received on 2008-01-24 17:01:37 CET

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