tags:

views:

78

answers:

3

Hi guys!

I thought about migrating subversion a lot and I have several questions still open. I hope you can help me:

  1. When I migrate a huge directory structure into several repositories (because each directy really is a single project...), will the revision numbers still be the same? There must be gaps, because some revision will only affect other directories...
  2. Is it really more administrative work to set users & permissions for several repositories?
  3. Is it more backup work to back up several repositories? (No, because in the end it's only one directory with all repository directorys to back up?)

And let me ask another favor: Can you provide some positive results of having multiple repositories? :-)

+2  A: 
  1. If you use svndump and svndumpfilter, you have the choice of either deleting empty revisions, or keeping them. I recommend that you try this out first, to find out which is most appropriate for you.
  2. Yes, you should expect more administrative work, unless you manage to setup a fully self-hosting server (where end users can manage their own repositories). Most overhead is with the creation of new repositories (where users could have created new folders themselves before)
  3. Indeed, no, the backup work is the same.
Martin v. Löwis
+1  A: 

Advantages of multiple separate svn repositories over one single svn repository:

  • Speed. As Subversion repositories grow they can slow down slightly, and this slowdown can become more and more noticeable as the repository becomes extremely large. Splitting repos up means this stays down in the range where it's not really noticeable.

  • Isolation. It's hard to mess with code you didn't mean to, especially by accident, if you don't even have it checked out in the first place.

  • No conflicts for branch/tag names. Since you have separate repositories, projects can branch/tag without having to worry that someone else took (for instance) the "2.0" tag name.

Yes, the administrative overhead will be a bit higher. As Martin mentioned, a lot of that will be in setting up new repositories - though if with a small amount of effort, you can probably script this out to an extent to make it a fairly straightforward process.

Amber
+1  A: 
  • Depends on the strategy (however I assume you want to keep the history), but if you clone/dumpfilter it, the revision numbers shouldn't change.
  • With the power of symlinks (assuming your server OS is *nix) this can be quite easy.
  • Either you just backup the root directory or you create a script for that.

Having multiple repos can result in more initial work when you are on a blank workspace. If you have like 100 projects (which all rely on each other), this can somewhat be annoying. However this can also be fixed by a script.

There are no real benefits but isolation (and maybe speed, because big SVN repositories seem to slow down) and just the good feeling that everything is in the right place.

Marcel J.