[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Repository Layout

From: William Nagel <bill_at_stagelogic.com>
Date: 2005-10-19 07:13:51 CEST

On Oct 18, 2005, at 1:42 AM, Daniel Buchholz wrote:

> Guys,
>
> this has probably asked a zillion times, but I could not find
> suitable hits in the archive.
>
> I am in the process of setting up a new repository layout for our
> dev group. We are moving away from the concept of bigger releases
> every few months to rather small feature releases on a weekly
> basis, just when stable code for the relevant features is ready. On
> another project the release frequency even could become shorter, a
> release every day or two.
>
> The old concept was easy. Mainline-dev on the trunk, that branches
> to release- or hotfix-branches when the product is release. Fixes
> were merged from the branch to the trunk.
>
> But now noone knows when which feature becomes availabe. In
> addition we have a test systems which all code has to go through
> before its release. And in exactly this case its quite possible
> that one feature is released earlier than another which appeared on
> the test system earlier.

So if I understand you correctly, you have a number of different
features being developed by different developers. As those features
are finished, you will release them in some order (which is not
necessarily first in/first out).

>
> Im not too happy with the concept of feature branches as I suppose
> Im not able to find things in the repo sooner or later as all will
> become cluttered with hundreds of feature branches.

I'd suggest organizing your feature branches into categorized
subdirectories. That way they'll be easier to find. For example,
you might use a layout like this:

/branches
     |
     |-> features
             |
             |-> in_process
             | |
             | |-> feature_1
             | |-> feature_2
             |
             |-> released
                     |
                     |-> release_1_1_0
                     |-> release_1_1_1

> How do I ensure that no developer will kill his colleagues code
> when releasing his code to the test system.

Have multiple test branches. Each developer could have their own
individual test branch that they could merge changes into for an
initial test run. Then once the changes have been shown to work,
they could be merged over to the main branch.

> Do I have to set up a test branch?
> What happens on the trunk? Only "RTM" code there?

I'm not sure what you mean by "RTM". You may find, though, that it
doesn't really even make sense to have a "trunk" directory. Instead,
you can just set up a workflow that goes from feature branch->testing
branch->release branch.

-Bill

>
> How do you handle this?
>
> Daniel

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Oct 19 07:15:34 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.