Its not true that the entire cvs repository is tagged when a release is
done. There are numerous cvs module aliases encompassing different
release components. In a large aggregation of components such occurs in
jbossas, the jbossas cvs module alias is tagged, and many components
come in as binaries based on the version referenced in the jbossas
thirdparty build declarations. That behavior mirrors the maven behavior.
There is no clean mapping from the version reference to the cvs/svn
source tree that that corresponds to the binary. This is due to
different version conventions, and repositories. The version convention
has been unified and now we need a unified svn convention.

This really is consistent with putting the types of branches under the
project root url. How this works with tools is whay I wanted to see how
one performs various tasks on a project from the command line and ide
svn tools.

We don't have a usecase for obtaining all trunks, qa, etc. so it would
be a question for Damon as to why he suggested this convention.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Tim
OBrien
Sent: Sunday, February 12, 2006 11:57 AM
To: jboss-development@lists.sourceforge.net
Subject: Re: [JBoss-dev] RE: Ongoing build changes: was RE: [JBoss-dev]
OntheedgeoftheMavencliff

I read the SVN branching doc on the wiki, and here is some feedback.

Instead of putting branches tags directories at the repository level
where "/prod", "/qa", and
"/trunk" encompass everything in the SVn repository.  Create "trunk",
"tags", and "branches" at
the subproject level.  Version each subproject in a /projects
subdirectory and aggregate projects
using svn:externals.  It's convenient to keep all of the tags and
branches of a specific component
in a consolidated directory as I'm almost certain that there are SVN
tools in development which
will expect the familiar trunk, tags, branches convention.


Thinking of a branch or a tag as something that happens to an entire
repository is in keeping with
the way JBoss performs releases in CVS.  From what I heard last year,
when JBoss cuts a release or
tags, someone has to tag (or branch tag) the entire JBoss CVS
repository.  The drawback to
repository-wide branching and tagging is that it prevents different
subcomponents from releasing
at different rates.  Hibernate, jboss-mail, jboss-media, jboss-aop...all
of these components may
have different release rates.  From the wiki document, it looks like
every project that follows
the three-tiered release model would have a directory in /trunk, /qa,
and /prod.

I'm assuming that the idea of putting /trunk, /qa, and /prod is one of
convenience?  This way
someone only has to check out /trunk to get all trunks?  If that's the
motivation, then you could
handle this case by using svn:externals and preserve the convention of
"trunk", "tags", and
"branches". 

Put trunk, "tags", and "branches" at the second level (keep the names as
certian toolsets will
start relying on this convention).

Resources on trunks, tags, branches:

"Subversion Book" - http://svnbook.red-bean.com/en/1.1/ch05s04.html

"How Fisheye works with Trunks, Tags, Branches" -
http://www.cenqua.com/fisheye/doc/1.1/admin/svnsymbolic.html

Note: I'd suggest either the second-level approach or a custom layout.

Other projects have had similar discussions:

http://lists.gnu.org/archive/html/gnustep-dev/2005-10/msg00057.html
http://pkg-perl.alioth.debian.org/subversion.html



-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642
_______________________________________________
JBoss-Development mailing list
JBoss-Development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to