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
Received on Wed May 31 14:55:55 2006