On 9/16/10 10:45 PM, John Owen wrote:
Background:
We have been developing an embedded code base for a hardware platform using SVN 
as the code repository.   We now have customers A, B, C and D each with unique 
software requirements.   The embedded code base that we developed for our 
platform hardware will be the starting code base for each customer but the 
software requirements for each customer are different and will not be 
incorporated back into the embedded code base.   Hopefully we will have 
customers E, F, etc. that will also be started from our embedded code base.

Questions:
1)      Should we create branches off the embedded code base, one for customer 
A and one for customer B, etc.,  or should we create separate projects for each 
customer?
2)      Should we create separate repositories for each project?

I have read several articles and posts on branching but all seemed to address branching 
of the same project, not using branching to start new projects from a common code base.   
 Please answer the above questions and advise additional FAQs or "best 
practices" information on this topic.


In the long run what you'll want to end up with is a common library where improvements that affect future versions of all projects can be done in one place, and you can pull this into every project with external references. Then it won't matter how you handle the parts that don't have much in common.

However, since you may not know when starting out how much will be unique and how much will be reusable, I'd start with everything in a single repository so you can easily copy/move components and retain history. Note that branches are just a special (name convention) case of copies - you can really copy anywhere within a repository and get the same effect.

--
  Les Mikesell
   lesmikes...@gmail.com

Reply via email to