I'm hoping that someone will be able to help me better understand version control in this scenario. Currently we're thinking of either implementing VisualSVN or Mercurial, but want to get our strategy figured-out first.
I'm part of a two man development team working on porting and maintaining a bespoke CMS system. We're looking to keep a "stable" branch, and each have our own dev branches as required.
Where we're not sure is that each customer requires their own customisations (templates, stylesheets, etc). I'd expect these to then be branches from stable. Ideally we'd like a way to ensure that any changes made to stable (such as merging a dev branch back in or adding a hot-fix) get pushed out to the customer branches.
Is there a way to ensure that these customer branches always get automatically brought forward to the most recent changeset ?
Can we choose to exclude certain files (such as *.css) from getting pushed to the client branches after the initial branch operation ?
Looking at this you'd be able to go into each customer branch and pull from stable, merging the latest changes in. In the event that we end up with lots of customer branches, is there a better way to do this ?
I've found some questions that seem to offer good advice
Practical way to commit changes in source control to multiple branches
How do I keep my branches up to date with the 'default' branch under Mercurial?
Apologies if I'm coming at this backwards, but all suggestions would be appreciated.