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

Re: Repository UUID Implementation

From: Greg Stein <gstein_at_lyra.org>
Date: 2003-01-09 06:32:53 CET

On Wed, Jan 08, 2003 at 07:13:04PM -0600, cmpilato@collab.net wrote:
> mark benedetto king <mbk@earthquake.boredom.org> writes:
>...
> > 3.) They should be stored in a New FS Table

Yup. I was thinking the same thing in the car earlier. A bit different than
your idea, tho. I was thinking of a RECNO database, with each record being a
UUID. Index 0 would the "self" UUID. The other indexes would represent UUIDs
of other repositories which participating in merges/copies into "self". This
would support the notion of recording copy/merge history like so:

  $ svn cp http://svn.apache.org/repos/asf/apr \
      http://svn.collab.net/repos/svn/apr

> Hmm...I don't like it. This a *Repository* UUID, connected in no way
> to a versioning filesystem with a stated goal of usefulness outside
> the context of Subversion.

And a stated goal for recording cross-repository copy/merge history. And to
do *that* right, it goes into the filesystem.

As I said before, there is a question outstanding on whether the UUID is a
repository or a filesystem concept. I believe it belongs in the filesystem
because of cross-repos stuff. Tracking that is for the repos.

[ and as Tutt noted at some point, storing a UUID a gazillion times across
  the DB gets expensive; thus, I figured that storing indices into a RECNO
  database would be good, with idx==0 being "self" ]

So given that there is a question of where it belongs, I'd recommend
tempering the asterisks back down to a less forceful discussion :-)

I found Greg Hudson's review and summary to be excellent. Tutt pulled out
the link earlier, but I'll repeat it here:

    http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgId=215400

Under the "USES" section, I find the bottom three make a good argument for
putting this stuff at the filesystem level.

> I *do* like the idea of the repository having a generic metadata
> storage facility, but I'd almost rather use a separate database
> environment (lightweight DBM or something) than add a table of
> non-filesystem-related stuff to the filesystem.

Out of scope for me, so no comment...

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jan 9 06:31:53 2003

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