On Feb 17, 2008 5:03 AM, Joachim Armbruster <joachima1_at_gmx.de> wrote:
> we want to migrate from CC to SVN, since SVN is cheaper (and cooler...)
>
> In clearcase our projects (embedded software development) are organized as followed:
>
> We have on a typical file tree structure like the linux kernel source about 200-300 variants, one for each customer.
> Basically we maintain it that we have a label (tag) for the base platform. Because each customer gets for example a own user interface, we have customer labels as well.
> Now, it is quite easy in clearcase to have a config_spec which contains the base label and the customer label. Since the customer label has a higher priority than the base label it accumulates all customer files.
>
> Now, the most easy thing is, when we have a new base platform release and want to update a customer, we just have to change the base platform label. No more work is neccessary normally. The easy thing here is that we do not have to do a file by file comparison when we want to update the base platform.
> It is always the concept of putting 10 customer files into 10000 base files.
> We do not know how we can translate this workflow into the SVN trunk/ branch/ tag/ tree.
> As far as I can see, in SVN it is always that after doing a branch, we have to merge the update of the base platform (which often contains hundreds of files) to the customer branch.
>
> We cannot structure our repository this way, that we put sources which might be changed for a customer into a special folder, because we do not know in advance what we will modify for a customer.
>
> Does anybody already had similar problems and got a solution for this?
> Has anybody a suggestion of how a copy/branch/tag workflow has to be when we want to work a little bit like CC?
I think you would need to do something like this:
1) When you have customer mods to make, create a branch by copying
trunk (or a release branch).
2) Make customizations on this branch and give to customer.
A new release comes out, and you need to update the customer branch.
The easiest way to do this would be:
1) Create new customer branch from new release branch
2) Merge changes from previous customer branch to the new customer branch
Because the number of customizations is much smaller than the number
of changes between releases, this is the easier way to do it.
I am sure it will not be as easy to do as ClearCase, but it should be
manageable. You might also maintain a patch for each customers
customizations so that you can just apply that to a release branch as
needed.
--
Thanks
Mark Phippard
http://markphip.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-02-17 18:01:07 CET