> -----Original Message-----
> From: Micah Elliott [mailto:mde@micahelliott.com]
> What makes more sense to us (at this point of naivety) is to
> have the repo directory structure reflect the branch
> structure. IOW, branches of trunk should be subdirectories
> of trunk, with depth determined by branch-point. E.g., if
> 7.0 is a branch off of trunk, then it's a subdirectory of
> trunk. And if 7.1 is a branch off 7.0 then it's a
> subdirectory of 7.0. So you wind up with something like this:
>
> trunk
> |-- 7.0
> | |-- 7.1
> | `-- teamA-hotfix
> |-- 8.0
> |-- teamA
> `-- teamB
>
> An unfortunate consequence is that you would need to make
> sure that each branch source tree is contained in a single
> directory, say CONTENTS. Which would clutter the above to:
>
> trunk
> |-- CONTENTS
> |-- 7.0
> | |-- CONTENTS
> | |-- 7.1
> | | `-- CONTENTS
> | `-- teamA-hotfix
> | `-- CONTENTS
> |-- 8.0
> | `-- CONTENTS
> |-- teamA
> | `-- CONTENTS
> `-- teamB
> `-- CONTENTS
>
> I'm probably going to have to employ a wrapper anyway (say
> 'svnw', so I should be able to hide the CONTENTS ugliness.
> Going a step further, I might shorten trunk/ to t/ (and
> shorten repo-root URLs to //, and add bash-completion) to
> make a typical branch-switch-merge use case look like:
>
> # Make a hot-fix to the 7.1 branch, and merge to trunk.
> svnw copy //t/7.1 //t/7.1/teamA-hotfix
> svnw switch //t/7.1/teamA-hotfix
> svnw merge //t .
> svnw switch //t
> svnw merge //t/7.1/teamA-hotfix .
>
> I like to do things in the "standard/book" way as much as
> possible, but I'm worried about a single branches/ TLD
> causing a chaos therein. Employing the subdir-by-branch
> scheme would force the organization. (It seems that
I think you are making it too complicated. There are certain
>
> Main questions (for anyone with the patience to have read this
> far):
>
> 1. Why is trunk so special? Any really good reasons to not
> do the subdir-by-branch scheme?
Well, to me, it is not intuitive, and you have to go through some pretty
major contortions to make it work, as you just described. Trunk is
simply the "main code line" or "mainline".
>
> 2. Are you adding any categorization to your branches/ TLD?
Assuming you're doing one trunk per project (not per repository) you can
reduce clutter by creating subfolders in "branches/". One possibility
is "/release7/", "/release8/", etc. However, would you not delete the
branches that are no longer in use? That would keep clutter down too.
You could do the same for the Tags, though tags would probably hang
around quite a bit longer. Remember, no matter what you do, those
deleted paths are still there, just not at subsequent revisions.
>
> 3. Are you using some other divergent scheme? Why did you
> choose it?
>
Nope. I'm going with the standard layout.
*************************************************************************
This communication, including attachments, is
for the exclusive use of addressee and may contain proprietary,
confidential and/or privileged information. If you are not the intended
recipient, any use, copying, disclosure, dissemination or distribution is
strictly prohibited. If you are not the intended recipient, please notify
the sender immediately by return e-mail, delete this communication and
destroy all copies.
*************************************************************************
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Mon Oct 22 19:25:43 2007