You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Markus Mårtensson <Ma...@hpc2n.umu.se> on 2002/09/25 07:11:21 UTC

Local repository access / AFS?

Hi there!

I've been passively following the project for a while and there is a few
things about local repositiory access I would like to ask about. 

Subversion is said to be a replacement for CVS, which is great and much
needed. We currently use CVS in local repository mode, but with the 
files on AFS (see openafs.org). This works great, ordo the usual problems 
with CVS.

If I am not mistaken, subversion stores the entire repository in a 
Berkely DB which has some support for locking and concurrent access. 
Would it be safe to assume that multiple users could access a 
repository database at the same time on a distributed filesystem?

Using AFS for revision control allows us to use the already deployed
remote file access and security infrastructure instead of introducing
and maintaining a new one (pserver/webdav).

If it is not currently possible to do, what parts of the code would
require changes?  

Please respond off-list as I am not a subscriber.

/ Markus

-- 
Markus Mårtensson               Phone: +46(0)90-786 79 28
HPC2N                            Cell: +46(0)70-788 67 01
Umeå University                E-mail: Markus.Martensson@hpc2n.umu.se
SE-901 87 Umeå                    URL: http://www.acc.umu.se/~mortis

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Local repository access / AFS?

Posted by br...@xbc.nu.
Quoting Markus Mĺrtensson <Ma...@hpc2n.umu.se>:

> Subversion is said to be a replacement for CVS, which is great and much
> needed. We currently use CVS in local repository mode, but with the 
> files on AFS (see openafs.org). This works great, ordo the usual problems 
> with CVS.
> 
> If I am not mistaken, subversion stores the entire repository in a 
> Berkely DB which has some support for locking and concurrent access. 
> Would it be safe to assume that multiple users could access a 
> repository database at the same time on a distributed filesystem?

Only if Berkeley DB works reliably on a distributed FS. Many such filesystems
(notably NFS) don't support locking and mmap well enough. I don't know about
AFS; I'd suggest you look through the BDB docs to see if they have anything to
say about AFS.

> Using AFS for revision control allows us to use the already deployed
> remote file access and security infrastructure instead of introducing
> and maintaining a new one (pserver/webdav).
> 
> If it is not currently possible to do, what parts of the code would
> require changes?

If BDB works, you wouldn't need any changes in Subversion. There's one potential
problem regarding file permissions in the repository, though: you'd have to make
sure somehow that files created in the repo by one user cna be read/deleted by
others. The simplest way to do that is to set the group sticky bit on the repos
directories, then put all users in that group and change their umask to 002, but
that may not be what you want. There's been some talk about adding some support
for that into the subversion client itself. If you have any good ideas in this
direction, I'm sure they'd be welcome.

    Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Local repository access / AFS?

Posted by "Michael Sperber [Mr. Preprocessor]" <sp...@informatik.uni-tuebingen.de>.
>>>>> "Greg" == Greg Hudson <gh...@MIT.EDU> writes:

Greg> On Wed, 2002-09-25 at 03:11, Markus Mårtensson wrote:
>> Would it be safe to assume that multiple users could access a 
>> repository database at the same time on a distributed filesystem?

Greg> That depends on what kind of locking Berkeley DB uses.  AFS supports
Greg> advisory locks, but not range locks.  Unfortunately, it looks like
Greg> Berkeley DB might use range locks based on a quick inspection of the
Greg> code; I can't be sure.

Greg> There is also an efficiency question; AFS isn't really designed for
Greg> one-huge-file-with-many-accessors.  Its 64K chunking would probably make
Greg> a single accessor be reasonably efficient, but it may be that making one
Greg> change anywhere in the file will invalidate the cache of anyone
Greg> accessing any part of the file, which is no good.

Even if you would access the repository only through Apache, having it
in AFS would be a big win because of AFS's excellent backup facility.
I currently have the SVN repo in a local filesystem, and a cron job
periodically dumps it to AFS from whence the backup runs.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Local repository access / AFS?

Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2002-09-25 at 03:11, Markus Mårtensson wrote:
> Would it be safe to assume that multiple users could access a 
> repository database at the same time on a distributed filesystem?

That depends on what kind of locking Berkeley DB uses.  AFS supports
advisory locks, but not range locks.  Unfortunately, it looks like
Berkeley DB might use range locks based on a quick inspection of the
code; I can't be sure.

There is also an efficiency question; AFS isn't really designed for
one-huge-file-with-many-accessors.  Its 64K chunking would probably make
a single accessor be reasonably efficient, but it may be that making one
change anywhere in the file will invalidate the cache of anyone
accessing any part of the file, which is no good.

Ignore Branko's comments about umasks; AFS doesn't care about Unix mode
bits, but you're probably familiar with that.

> If it is not currently possible to do, what parts of the code would
> require changes?  

After 1.0 comes out (some sunny day), I hope to start work on a
filesystem back end with a direct mapping to the underlying filesystem. 
It would be much more AFS-friendly.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org