You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Hugo Alexandre Dias <ma...@hugo-dias.com.pt> on 2006/06/01 07:44:50 UTC

Re: One repository but partial components

Thank you. 

It was very helpful..

Hugo Dias
----- Original Message ----- 
From: "Ryan Schmidt" <su...@ryandesign.com>
To: "Hugo Alexandre Dias" <hu...@hugo-dias.com.pt>
Cc: <us...@subversion.tigris.org>
Sent: Wednesday, May 31, 2006 1:54 PM
Subject: Re: One repository but partial components


> On May 31, 2006, at 00:10, Hugo Alexandre Dias wrote:
> 
>> I'm trying to use SVN to devellop diferent versions of the same  
>> software to different clients with different modules. Each module  
>> is in one directory.
>>
>> Example: I want to have only one repository that i can manage the  
>> software for all my clients. Client A has online store but client B  
>> don't have it. So i don't want to take the store folder to client B.
>>
>> What should i do? how to configure it, what procedures to follow.  
>> If anyone can provide me a path for me to follow, I thank you in  
>> advance.
> 
> Sounds like you might want to consider basically this structure:
> 
> /repository/
> modules/
> store/
> ...
> foo/
> ...
> bar/
> ...
> baz/
> ...
> ...
> clients/
> clientA/
> store <-- external pointing to modules/store
> foo <-- external pointing to modules/foo
> bar <-- external pointing to modules/bar
> clientB/
> foo <-- external pointing to modules/foo
> baz <-- external pointing to modules/baz
> ...
> 
> In fact, since you may want to work with branches and tags, you  
> should probably expand that a bit. If the modules are independent of  
> one another, then I recommend this structure for the modules  
> directory, so that you can tag and branch the individual modules  
> separately:
> 
> modules/
> store/
> trunk/
> ...
> branches/
> some-store-branch/
> ...
> ...
> tags/
> some-store-tag/
> ...
> ...
> foo/
> trunk/
> ...
> branches/
> ...
> tags/
> ...
> bar/
> trunk/
> ...
> branches/
> ...
> tags/
> ...
> baz/
> trunk/
> ...
> branches/
> ...
> tags/
> ...
> ...
> 
> If modules are interrelated and dependant on having the same version  
> of the other modules, then the other way around is better, where you  
> tag or branch all modules at once:
> 
> modules/
> trunk/
> store/
> ...
> foo/
> ...
> bar/
> ...
> baz/
> ...
> ...
> branches/
> some-branch/
> store/
> ...
> foo/
> ...
> bar/
> ...
> baz/
> ...
> ...
> ...
> tags/
> some-tag/
> ...
> ...
> 
> Each client is probably independent of the other clients, so this  
> layout is probably best for the clients directory:
> 
> clients/
> clientA/
> trunk/
> store <-- external
> foo <-- external
> bar <-- external
> branches/
> some-clientA-branch/
> ...
> ...
> tags/
> ...
> clientB/
> trunk/
> foo <-- external
> baz <-- external
> branches/
> ...
> tags/
> ...
> ...
> 
> In this case, the externals should point to a specific tag or branch  
> of the given module.
> 
> You can read about externals in the book:
> 
> http://svnbook.red-bean.com/en/1.2/svn.advanced.externals.html
> 
> Branching and tagging and merging is described here:
> 
> http://svnbook.red-bean.com/en/1.2/svn.branchmerge.html
> 
> 
> ---------------------------------------------------------------------
> 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