You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Brian Beaudet <bb...@efficiencylab.com> on 2004/03/25 15:12:01 UTC

Repository Layout - One Vs. Many

I'm looking for suggestions on my repo layout.  My company has several
developers/non-developers (documents, QA, testing, etc.) who will be
user Subversion for version control.  We work on many projects at one
time.  I'm considering setting up many repositories one for each
project.  I was wondering what the experience of the user community out
there is on this type of layout.  I'll be doing the admin so it's up to
me to determine the best layout.

 

Brian M. Beaudet

Director, Research & Development

EfficiencyLab, LLC

www.efficiencylab.com

 


Re: Repository Layout - One Vs. Many

Posted by "C. Michael Pilato" <cm...@collab.net>.
"Brian Beaudet" <bb...@efficiencylab.com> writes:

> The only thing preventing me from going with a single repository is
> the global revision number.  If I start with one project and observe
> the number increasing sequentially, no problem.  But when I add a
> new project and start where the last revision number left off (plus
> one of course) then it just seems strange.  I was hoping to use the
> revision numbers in my application's version number (1.0.56 or
> 1.1.234) or something like that.  How else does one keep track of
> that if not by the revision number?

This is a classic complaint of the global revision number.  Many folks
feel better knowing that if they have revision M in their working
copies, and revision N is the latest, then exactly N - M changes to
their project have occured.

And the only response I can offer is that the change must occur within
yourself.  People seem to think that an increasing revision number
demonstrates something -- anything -- about the state of their
project.  But this is a kinda shaky place to stand.  And if you ever,
*ever* use the changes in this number in a progress report to upper
management, you should be shot.  :-) 

That metric is an illusion -- three commits could contain { small
change, reversion of that change, different small change }.  But a
different single commit could contain { entire re-write of the program }.  
The numbers just don't matter.  A project's own "version" should be
managed externally to the version control system.


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

RE: Repository Layout - One Vs. Many

Posted by Brian Beaudet <bb...@efficiencylab.com>.
The only thing preventing me from going with a single repository is the
global revision number.  If I start with one project and observe the
number increasing sequentially, no problem.  But when I add a new
project and start where the last revision number left off (plus one of
course) then it just seems strange.  I was hoping to use the revision
numbers in my application's version number (1.0.56 or 1.1.234) or
something like that.  How else does one keep track of that if not by the
revision number?

> -----Original Message-----
> From: cmpilato@virt16g.secure-wi.com [mailto:cmpilato@virt16g.secure-
> wi.com] On Behalf Of C. Michael Pilato
> Sent: Thursday, March 25, 2004 10:27 AM
> To: bbeaudet@efficiencylab.com
> Cc: users@subversion.tigris.org
> Subject: Re: Repository Layout - One Vs. Many
> 
> "Brian Beaudet" <bb...@efficiencylab.com> writes:
> 
> > I'm looking for suggestions on my repo layout.  My company has
several
> > developers/non-developers (documents, QA, testing, etc.) who will be
> > user Subversion for version control.  We work on many projects at
one
> > time.  I'm considering setting up many repositories one for each
> > project.  I was wondering what the experience of the user community
out
> > there is on this type of layout.  I'll be doing the admin so it's up
to
> > me to determine the best layout.
> 
> I routinely use both the many-projects-in-one and the
> one-project-per-repos setup.  There are obviously pros and cons to
> both.  If you expect to ever need to copy stuff between projects
> (while maintaining history), the one-repos approach is necessary.
> Multiple repositories means maintaining multiple sets of hook scripts,
> too.  And if a future version of Subversion requires a dump/load
> cycle, you have N repositories to dump and load instead of one giant
> one.
> 
> That said, many smaller repositories lessens the side-effect of some
> breakage -- if some event causes the repository to lock up and need
> recovery, at least only one repository is affected.  Also, because the
> many repos will be smaller than a single shared one, your backup and
> restore granularity is easier to deal with.  As for the many sets of
> hook scripts, I suppose you could make each repo's hooks just be dumb
> wrappers around some common hook-scripts shared by all repositories.
> 
> You should also consider the auth question.  Depending on your access
> method and auth setup, your may find one or the other of the layouts
> cumbersome.
> 
> Keep in mind, too, that you could use a mixed approach -- similar
> projects can share a repos.  You know, a sort of grouping effect.
> 
> Finally, the Subversion book authors do recommend that *regardless* of
> the choice of many versus one repos, make it such that beneath each
> "project root" there are "trunk", "tags", and "branches" directories.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org


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

Re: Repository Layout - One Vs. Many

Posted by "C. Michael Pilato" <cm...@collab.net>.
"Brian Beaudet" <bb...@efficiencylab.com> writes:

> I'm looking for suggestions on my repo layout.  My company has several
> developers/non-developers (documents, QA, testing, etc.) who will be
> user Subversion for version control.  We work on many projects at one
> time.  I'm considering setting up many repositories one for each
> project.  I was wondering what the experience of the user community out
> there is on this type of layout.  I'll be doing the admin so it's up to
> me to determine the best layout.

I routinely use both the many-projects-in-one and the
one-project-per-repos setup.  There are obviously pros and cons to
both.  If you expect to ever need to copy stuff between projects
(while maintaining history), the one-repos approach is necessary.
Multiple repositories means maintaining multiple sets of hook scripts,
too.  And if a future version of Subversion requires a dump/load
cycle, you have N repositories to dump and load instead of one giant
one.

That said, many smaller repositories lessens the side-effect of some
breakage -- if some event causes the repository to lock up and need
recovery, at least only one repository is affected.  Also, because the
many repos will be smaller than a single shared one, your backup and
restore granularity is easier to deal with.  As for the many sets of
hook scripts, I suppose you could make each repo's hooks just be dumb
wrappers around some common hook-scripts shared by all repositories.

You should also consider the auth question.  Depending on your access
method and auth setup, your may find one or the other of the layouts
cumbersome.

Keep in mind, too, that you could use a mixed approach -- similar
projects can share a repos.  You know, a sort of grouping effect.

Finally, the Subversion book authors do recommend that *regardless* of
the choice of many versus one repos, make it such that beneath each
"project root" there are "trunk", "tags", and "branches" directories.

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

Re: Repository Layout - One Vs. Many

Posted by Bruce Elrick <br...@elrick.ca>.
Brian Beaudet wrote:

> So with TortoiseSVN, I can only explore one repository at a time?  Is it
> many clicks to get to another repository?  

With TortoiseSVN you can check out any portion of any repository to 
almost any place on your workstation in order to create a working copy 
(WC).  You can do that multiple times to create multiple WCs, each of 
which is bound to the particular repository from which the WC was 
created on initial checkout, but each WC can be bound to a different 
repository.

For example, you browse in Windows Explorer (WE) to D:\Work\MyWCs (a 
plain directory).  You then use the right-mouse-button to check out,
say,
  a) http://mysvnserver/svn/repos1/trunk/projectX
     to D:\Work\MyWCs\ProjectX
  b) http://svn.collab.net/repos/svn/trunk
     to D:\Work\MyWCs\SubVersion
  c) http://mysvnserver/svn/repos2/trunk/projectY
     to D:\Work\MyWCs\ProjectY

Where http://mysvnserver/svn/repos1/ is one repos on "mysvnserver", 
http://mysvnserver/svn/repos2/ is an *independent* repos on the same 
server, and http://svn.collab.net/repos/svn/ is the public SubVersion 
project repos.

Later on, you could switch so that
  c) http://mysvnserver/svn/repos2/trunk/projectY
     to D:\Work\MyWCs\ProjectY
becomes
  c) http://mysvnserver/svn/repos2/branches/projectY-3.2.1
     to D:\Work\MyWCs\ProjectY

i.e. you are working on a branch of projectY which was created at some 
point by
svn copy http://mysvnserver/svn/repos2/trunk/projectY
     http://mysvnserver/svn/repos2/branches/projectY-3.2.1

Hope this helps...



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

RE: Repository Layout - One Vs. Many

Posted by Tom Vergote <to...@tomvergote.be>.
On Thu, 2004-03-25 at 17:20, Brian Beaudet wrote:
> So with TortoiseSVN, I can only explore one repository at a time?  Is it
> many clicks to get to another repository?  

It depends
If you right click in a directory that is a working copy it will browse
the repo for that copy

If you have something checked out from another repo, just go to that dir
and right click there.

> 
> What's the big difference between RapidSVN and TortoiseSVN.  Is one
> preferred over another?  Currently we are only using Subversion on
> Windows machines.

I don't know, I use both for different things.
Rapidsvn for simple repo browsing spanning multiple repo's and stuff,
even giving a little more info than tortoise on some stuff, but for
daily use i just use tortoise as it's drop dead simple

> 
> > -----Original Message-----
> > From: Tom Vergote [mailto:dabooty@tomvergote.be]
> > Sent: Thursday, March 25, 2004 10:52 AM
> > To: Brian Beaudet
> > Cc: users@subversion.tigris.org
> > Subject: RE: Repository Layout - One Vs. Many
> > 
> > 
> > 
> > On Thu, 25 Mar 2004, Brian Beaudet wrote:
> > 
> > > I probably should have said TortoiseSVN or whatever it's called.  As
> you
> > > can tell, I haven't done any installs yet.  I've only read the
> manual
> > > (or in the process of reading it) and lurked here in the list for a
> > > little bit.
> > When you are using tortoiseSVN and have different repos per project,
> > selecting repo-browser from the context menu will only browse the repo
> for
> > the current project and AFAIK there's no way to escape that repo to
> other
> > repo's under the same directory (diretory indicated by svnserv -r
> > directory)
> > 
> > If you are using RapidSVN you can add repository's as you like, but
> will
> > have to add a separate one for each project/repo
> > 
> > >
> > > > -----Original Message-----
> > > > From: cmpilato@virt16g.secure-wi.com
> [mailto:cmpilato@virt16g.secure-
> > > > wi.com] On Behalf Of C. Michael Pilato
> > > > Sent: Thursday, March 25, 2004 10:39 AM
> > > > To: bbeaudet@efficiencylab.com
> > > > Cc: users@subversion.tigris.org
> > > > Subject: Re: Repository Layout - One Vs. Many
> > > >
> > > > "Brian Beaudet" <bb...@efficiencylab.com> writes:
> > > >
> > > > > If I go with multiple repositories, how does that work with GUI
> for
> > > > > Subversion.  Is each repository available at one time or is only
> one
> > > > > available at a time?
> > > >
> > > > I imagine that depends on the GUI. :-)
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > > > For additional commands, e-mail: users-help@subversion.tigris.org
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > > For additional commands, e-mail: users-help@subversion.tigris.org
> > >
> > >
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
> 

RE: Repository Layout - One Vs. Many

Posted by Brian Beaudet <bb...@efficiencylab.com>.
So with TortoiseSVN, I can only explore one repository at a time?  Is it
many clicks to get to another repository?  

What's the big difference between RapidSVN and TortoiseSVN.  Is one
preferred over another?  Currently we are only using Subversion on
Windows machines.

> -----Original Message-----
> From: Tom Vergote [mailto:dabooty@tomvergote.be]
> Sent: Thursday, March 25, 2004 10:52 AM
> To: Brian Beaudet
> Cc: users@subversion.tigris.org
> Subject: RE: Repository Layout - One Vs. Many
> 
> 
> 
> On Thu, 25 Mar 2004, Brian Beaudet wrote:
> 
> > I probably should have said TortoiseSVN or whatever it's called.  As
you
> > can tell, I haven't done any installs yet.  I've only read the
manual
> > (or in the process of reading it) and lurked here in the list for a
> > little bit.
> When you are using tortoiseSVN and have different repos per project,
> selecting repo-browser from the context menu will only browse the repo
for
> the current project and AFAIK there's no way to escape that repo to
other
> repo's under the same directory (diretory indicated by svnserv -r
> directory)
> 
> If you are using RapidSVN you can add repository's as you like, but
will
> have to add a separate one for each project/repo
> 
> >
> > > -----Original Message-----
> > > From: cmpilato@virt16g.secure-wi.com
[mailto:cmpilato@virt16g.secure-
> > > wi.com] On Behalf Of C. Michael Pilato
> > > Sent: Thursday, March 25, 2004 10:39 AM
> > > To: bbeaudet@efficiencylab.com
> > > Cc: users@subversion.tigris.org
> > > Subject: Re: Repository Layout - One Vs. Many
> > >
> > > "Brian Beaudet" <bb...@efficiencylab.com> writes:
> > >
> > > > If I go with multiple repositories, how does that work with GUI
for
> > > > Subversion.  Is each repository available at one time or is only
one
> > > > available at a time?
> > >
> > > I imagine that depends on the GUI. :-)
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> >


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

Re: Repository Layout - One Vs. Many

Posted by "C. Michael Pilato" <cm...@collab.net>.
"Brian Beaudet" <bb...@efficiencylab.com> writes:

> Using the many repos approach... what would a typical tree look like
> assuming I'm not only checking in source code but also documentation,
> original files, etc.  Here's my best guess.
> 
> D:\Repos\ would be my root I suppose.
> 
> D:\Repos\Project1 would be one repository.
> D:\Repos\Project1\Documentation\
> D:\Repos\Project1\Documentation\trunk
> D:\Repos\Project1\Documentation\branches
> D:\Repos\Project1\Documentation\tags
> D:\Repos\Project1\OriginalFiles\
> D:\Repos\Project1\SourceCode\
> D:\Repos\Project1\SourceCode\trunk
> D:\Repos\Project1\SourceCode\branches
> D:\Repos\Project1\SourceCode\tags
> D:\Repos\Project1\DataStore\
> D:\Repos\Project1\DataStore\trunk
> D:\Repos\Project1\DataStore\branches
> D:\Repos\Project1\DataStore\tags
> 
> Am I on the right track?

Not if this is a "many repos" approach (many generally implies, well,
at least two).  Maybe as a "many project per repos" approach... :-)

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

RE: Repository Layout - One Vs. Many

Posted by Brian Beaudet <bb...@efficiencylab.com>.
Using the many repos approach... what would a typical tree look like
assuming I'm not only checking in source code but also documentation,
original files, etc.  Here's my best guess.

D:\Repos\ would be my root I suppose.

D:\Repos\Project1 would be one repository.
D:\Repos\Project1\Documentation\
D:\Repos\Project1\Documentation\trunk
D:\Repos\Project1\Documentation\branches
D:\Repos\Project1\Documentation\tags
D:\Repos\Project1\OriginalFiles\
D:\Repos\Project1\SourceCode\
D:\Repos\Project1\SourceCode\trunk
D:\Repos\Project1\SourceCode\branches
D:\Repos\Project1\SourceCode\tags
D:\Repos\Project1\DataStore\
D:\Repos\Project1\DataStore\trunk
D:\Repos\Project1\DataStore\branches
D:\Repos\Project1\DataStore\tags

Am I on the right track?


> -----Original Message-----
> From: Tom Vergote [mailto:dabooty@tomvergote.be]
> Sent: Thursday, March 25, 2004 10:52 AM
> To: Brian Beaudet
> Cc: users@subversion.tigris.org
> Subject: RE: Repository Layout - One Vs. Many
> 
> 
> 
> On Thu, 25 Mar 2004, Brian Beaudet wrote:
> 
> > I probably should have said TortoiseSVN or whatever it's called.  As
you
> > can tell, I haven't done any installs yet.  I've only read the
manual
> > (or in the process of reading it) and lurked here in the list for a
> > little bit.
> When you are using tortoiseSVN and have different repos per project,
> selecting repo-browser from the context menu will only browse the repo
for
> the current project and AFAIK there's no way to escape that repo to
other
> repo's under the same directory (diretory indicated by svnserv -r
> directory)
> 
> If you are using RapidSVN you can add repository's as you like, but
will
> have to add a separate one for each project/repo
> 
> >
> > > -----Original Message-----
> > > From: cmpilato@virt16g.secure-wi.com
[mailto:cmpilato@virt16g.secure-
> > > wi.com] On Behalf Of C. Michael Pilato
> > > Sent: Thursday, March 25, 2004 10:39 AM
> > > To: bbeaudet@efficiencylab.com
> > > Cc: users@subversion.tigris.org
> > > Subject: Re: Repository Layout - One Vs. Many
> > >
> > > "Brian Beaudet" <bb...@efficiencylab.com> writes:
> > >
> > > > If I go with multiple repositories, how does that work with GUI
for
> > > > Subversion.  Is each repository available at one time or is only
one
> > > > available at a time?
> > >
> > > I imagine that depends on the GUI. :-)
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
> >
> >


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

RE: Repository Layout - One Vs. Many

Posted by Tom Vergote <da...@tomvergote.be>.

On Thu, 25 Mar 2004, Brian Beaudet wrote:

> I probably should have said TortoiseSVN or whatever it's called.  As you
> can tell, I haven't done any installs yet.  I've only read the manual
> (or in the process of reading it) and lurked here in the list for a
> little bit.
When you are using tortoiseSVN and have different repos per project,
selecting repo-browser from the context menu will only browse the repo for
the current project and AFAIK there's no way to escape that repo to other
repo's under the same directory (diretory indicated by svnserv -r
directory)

If you are using RapidSVN you can add repository's as you like, but will
have to add a separate one for each project/repo

>
> > -----Original Message-----
> > From: cmpilato@virt16g.secure-wi.com [mailto:cmpilato@virt16g.secure-
> > wi.com] On Behalf Of C. Michael Pilato
> > Sent: Thursday, March 25, 2004 10:39 AM
> > To: bbeaudet@efficiencylab.com
> > Cc: users@subversion.tigris.org
> > Subject: Re: Repository Layout - One Vs. Many
> >
> > "Brian Beaudet" <bb...@efficiencylab.com> writes:
> >
> > > If I go with multiple repositories, how does that work with GUI for
> > > Subversion.  Is each repository available at one time or is only one
> > > available at a time?
> >
> > I imagine that depends on the GUI. :-)
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> > For additional commands, e-mail: users-help@subversion.tigris.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
>

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

RE: Repository Layout - One Vs. Many

Posted by Brian Beaudet <bb...@efficiencylab.com>.
I probably should have said TortoiseSVN or whatever it's called.  As you
can tell, I haven't done any installs yet.  I've only read the manual
(or in the process of reading it) and lurked here in the list for a
little bit.

> -----Original Message-----
> From: cmpilato@virt16g.secure-wi.com [mailto:cmpilato@virt16g.secure-
> wi.com] On Behalf Of C. Michael Pilato
> Sent: Thursday, March 25, 2004 10:39 AM
> To: bbeaudet@efficiencylab.com
> Cc: users@subversion.tigris.org
> Subject: Re: Repository Layout - One Vs. Many
> 
> "Brian Beaudet" <bb...@efficiencylab.com> writes:
> 
> > If I go with multiple repositories, how does that work with GUI for
> > Subversion.  Is each repository available at one time or is only one
> > available at a time?
> 
> I imagine that depends on the GUI. :-)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org


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

Re: Repository Layout - One Vs. Many

Posted by "C. Michael Pilato" <cm...@collab.net>.
"Brian Beaudet" <bb...@efficiencylab.com> writes:

> If I go with multiple repositories, how does that work with GUI for
> Subversion.  Is each repository available at one time or is only one
> available at a time?

I imagine that depends on the GUI. :-)

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

RE: Repository Layout - One Vs. Many

Posted by Brian Beaudet <bb...@efficiencylab.com>.
Here I go replying to myself.  Didn't they warn me about hearing voices.

 

If I go with multiple repositories, how does that work with GUI for
Subversion.  Is each repository available at one time or is only one
available at a time?

 

 

 

-----Original Message-----
From: Brian Beaudet [mailto:bbeaudet@efficiencylab.com] 
Sent: Thursday, March 25, 2004 10:12 AM
To: users@subversion.tigris.org
Subject: Repository Layout - One Vs. Many

 

I'm looking for suggestions on my repo layout.  My company has several
developers/non-developers (documents, QA, testing, etc.) who will be
user Subversion for version control.  We work on many projects at one
time.  I'm considering setting up many repositories one for each
project.  I was wondering what the experience of the user community out
there is on this type of layout.  I'll be doing the admin so it's up to
me to determine the best layout.

 

Brian M. Beaudet

Director, Research & Development

EfficiencyLab, LLC

www.efficiencylab.com