You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Jesse Erlbaum <je...@erlbaum.net> on 2005/11/07 17:20:38 UTC

Strategies for projects/branches layout

Hi All --

I'm moving from cvs to svn.  In cvs I'm very accustomed to having one
repository which holds multiple "modules" (to use cvs' parlance).  Each
module may then be tagged/branched as I see fit, after the fact.

I'm thrown by svn's "directory-ish" treatment for branches and tags.
Assume I have a repository which would house five related but distinct
development efforts.  It seems I have to choose from the start if I'm
going to do:

  1. .../repository/project/trunk/
  2. .../repository/trunk/project/


Suggestions?  (At the moment I'm wishing that svn would treat branches
and tags as additional dimensions, a la cvs.)

Thanks,

-Jesse-


--
 
Jesse Erlbaum
The Erlbaum Group
jesse@erlbaum.net
Phone: 212-684-6161
Fax: 212-684-6226
 

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


Re: Strategies for projects/branches layout

Posted by Miha Vitorovic <mv...@nil.si>.
"David Demner - Subversion" <sv...@demner.com> wrote on 07.11.2005 19:28:56:

> > -Jesse-
> >
> Hi Jesse,
> 
> There is a third option, which is the one I chose when migrating from 
VSS:
> 
> /project_repository/trunk
> 
> The advantage is that it will look like you described your CVS layout to
> be - each 'module' becomes a repository with distinct versions, tags, 
etc.
>  The disadvantage is you can't enumerate all repositories on a server,
> only directories within a repository.  So that makes it a little more
> awkward, but I think the benefits far outweigh.

Wrong. You can - or will be able to in 1.3, I am not sure - if you put all 
your repositories in one directory (e.g. /repositories), and then use 
Apache front-end, and SVNParentPath config option. Apache is then able 
list all repositories.

Cheers,
---
  Miha Vitorovic
  Inženir v tehničnem področju
  Customer Support Engineer

   NIL Data Communications,  Tivolska cesta 48,  1000 Ljubljana,  Slovenia
   Phone +386 1 4746 500      Fax +386 1 4746 501     http://www.NIL.si

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


Re: Strategies for projects/branches layout

Posted by David Demner - Subversion <sv...@demner.com>.
> Hi All --
>
> I'm moving from cvs to svn.  In cvs I'm very accustomed to having one
> repository which holds multiple "modules" (to use cvs' parlance).  Each
> module may then be tagged/branched as I see fit, after the fact.
>
> I'm thrown by svn's "directory-ish" treatment for branches and tags.
> Assume I have a repository which would house five related but distinct
> development efforts.  It seems I have to choose from the start if I'm
> going to do:
>
>   1. .../repository/project/trunk/
>   2. .../repository/trunk/project/
>
>
> Suggestions?  (At the moment I'm wishing that svn would treat branches
> and tags as additional dimensions, a la cvs.)
>
> Thanks,
>
> -Jesse-
>
Hi Jesse,

There is a third option, which is the one I chose when migrating from VSS:

/project_repository/trunk

The advantage is that it will look like you described your CVS layout to
be - each 'module' becomes a repository with distinct versions, tags, etc.
 The disadvantage is you can't enumerate all repositories on a server,
only directories within a repository.  So that makes it a little more
awkward, but I think the benefits far outweigh.

Good luck,

David


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

Re: Strategies for projects/branches layout

Posted by Noel Yap <no...@gmail.com>.
Branches are branches.  Tags vs directoryish things are mere
implementation details.

Have you read "Streamed Lines"?  That treatise talks about branches
and branching strategies without mentioning how branches are
implemented by the various VC tools.

Having said this, the implementation details do come into play when
performance becomes an issue.  For example, ever notice how slow CVS
is at branching large projects?

Going back to your example, I've done both in Perforce (although I
highly prefer project/trunk since it's much more modular) and
Subversion is much like Perforce in this regard.

HTH,
Noel

On 11/7/05, Jesse Erlbaum <je...@erlbaum.net> wrote:
> Hi All --
>
> I'm moving from cvs to svn.  In cvs I'm very accustomed to having one
> repository which holds multiple "modules" (to use cvs' parlance).  Each
> module may then be tagged/branched as I see fit, after the fact.
>
> I'm thrown by svn's "directory-ish" treatment for branches and tags.
> Assume I have a repository which would house five related but distinct
> development efforts.  It seems I have to choose from the start if I'm
> going to do:
>
>   1. .../repository/project/trunk/
>   2. .../repository/trunk/project/
>
>
> Suggestions?  (At the moment I'm wishing that svn would treat branches
> and tags as additional dimensions, a la cvs.)
>
> Thanks,
>
> -Jesse-
>
>
> --
>
> Jesse Erlbaum
> The Erlbaum Group
> jesse@erlbaum.net
> Phone: 212-684-6161
> Fax: 212-684-6226
>
>
> ---------------------------------------------------------------------
> 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: Strategies for projects/branches layout

Posted by Tor Ringstad <to...@tandberg.net>.
> > [Jesse Erlbau]
> > Assume I have a repository which would house five related but
> > distinct development efforts. It seems I have to choose from the
> > start if I'm going to do:
> >
> >   1. .../repository/project/trunk/
> >   2. .../repository/trunk/project/

> [Ryan Schmidt]
> If the five development efforts are distinct, then you'll want to be
> able to branch and tag them separately, so your layout 1. above
> seems best

I'll argue that one a bit differently.

If your projects are truly distinct, it is not important which layout
you choose. You may find alternative 1) more logical, but even if you
choose 2), there's nothing that stops you from tagging and/or
branching at the project level.

On the other hand, if the projects are related in any way, chances are
that you'll sooner or later want to

- share code between projects,
- tag or branch across projects, or
- work with multiple projects in the same working copy.

If you choose layout 1), then you might be in trouble. The reasons
are that subversion doesn't work well across multiple working copies,
and the non-recursive checkout option is broken.

If these things matter to you, I'll recommend that you use layout 2)
unless you're absolutely sure your projects are distinct, and will
remain so in the future.


- Tor Ringstad -




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

Re: Strategies for projects/branches layout

Posted by Ryan Schmidt <su...@ryandesign.com>.
On Nov 7, 2005, at 18:20, Jesse Erlbaum wrote:

> I'm moving from cvs to svn.  In cvs I'm very accustomed to having one
> repository which holds multiple "modules" (to use cvs' parlance).   
> Each
> module may then be tagged/branched as I see fit, after the fact.
>
> I'm thrown by svn's "directory-ish" treatment for branches and tags.

See, and I learned version control on Subversion, and now that I'm  
trying to participate in some open-source projects that use CVS, I'm  
totally baffled by CVS's non-directory-ish treatment of braches and  
tags. :-) Gonna have to find me a CVS book.


> Assume I have a repository which would house five related but distinct
> development efforts.  It seems I have to choose from the start if I'm
> going to do:
>
>   1. .../repository/project/trunk/
>   2. .../repository/trunk/project/
>
>
> Suggestions?  (At the moment I'm wishing that svn would treat branches
> and tags as additional dimensions, a la cvs.)

Well, you can forget about that, because Subversion doesn't work like  
that. ;-)

If the five development efforts are distinct, then you'll want to be  
able to branch and tag them separately, so your layout 1. above seems  
best.



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