You need to think about your build process and software architecture and then design your branching strategy to support it.
For instance, if you find a bug in the base code, how are you going to get that fix out to all of your customers? One solution is to develop your base code as one project, and then for each customer, treat the base code as a vendor branch, where you accept updates from the base project and merge them into each customers area. The biggest downside is that it will be real easy to make a fix in a customer area that really should have been in the common area. This assumes that there is significant overlap between your base code and the custom code. If the architecture is such that the custom code layers on top of the base code but never changes it, then there are probably two projects. A 'release' would then be a base build plus a custom build. Then the big question is there common customer code. Is there a base class from which all customer code is derived? You need to think about your build process and software architecture and then design your branching strategy to support it. JLM Jeremy Mordkoff Director, QA, IT & Release ZeeVee, Inc. One Monarch Drive | Littleton, MA 01460 Office: 978.467.1395 x233 | Fax: 978.467.1404 Mobile: 978-257-2183 j...@zeevee.com www.zeevee.com