On Jul 5, 2006, at 16:28, Aho Thomas Rolf wrote:
> Consider a workspace with three files; "common1", "common2" and
> "special".
> We have different customer-versions (not revisions, rather versions in
> the meaning
> of flavours) of the SW, and we have organized the code so that  
> "common1"
> and "common2"
> contain code that is independent of the customer. All code that is
> customer
> specific goes into the file "special".
>
> With CVS I commit "common1" and "common2" on the main branch.
> I will commit "special" on a separate branch for each customer.
>
> Now say that I have 2 customers and the branches "cust1" and  
> "cust2". To
> set up a
> working view for customer 1, in CVS I would do
>     cvs checkout .
>     update -r cust1 special
>
> Whenever I want to update my view with the latest changes on "common1"
> and
> "common2" I make a
>     cvs update
> This updates my workspace with all the committed changes on "common1"
> and "common2"
> on the main branch.
>
> I do not see how I can do this in Subversion. [snip]
I believe this should be possible by switching just the special  
directory.
Consider a repository layout like this:
$REPO/
        proj/
                trunk/
                        common1/
                        common2/
                        special <-- is empty or maybe contains a skeleton for new customers
                branches/
                        cust1/
                                special/ <-- the version for customer 1
                        cust2/
                                special/ <-- the version for customer 2
To create a new working copy for customer 1:
        svn checkout $REPO/proj/trunk .
        svn switch $REPO/proj/branches/cust1/special special
To update it with the latest changes:
        svn update
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Jul  5 20:55:08 2006