Ryan Schmidt wrote:
> I haven't entirely understood your project setup. You have one web
> app? which is used by multiple customers in multiple installations?
> and each customer's copy is a bit different? In our projects which
> were like that, I had the project look at a config file which was
> different for each customer. (There were multiple config files checked
> in, with different names, one for each customer, but there was one
> central non-versioned place where you told the app which config file
> to use.) The config file told the project what database connection
> parameters to use, what skin to use, what features to enable and
> disable, and so on. The entire project with all skins and all features
> was uploaded to each customer's server, but the config file told it
> what to use and what not to use.
It's one app which is split up into 'default' and company specific
folders. Then with either database information or symlinks the
applications knows to load the view, module, etc from the default folder
or the company specific folder. So if you want to modify how a module
works, you just create that file in the company specific folder. Most
of this is done via inheritance, but often very drastic changes require
a file being completely different. So we checkout the entire project
(default, company_one, company_two, etc) to each server, but in the end
each company only uses default and whatever is in their specific
folders. So an average launch usually has some files for default and
some for company_x. But the repository version can have changes for
every single company that isn't ready to go up yet. Or even multiple
projects for one company that needs to go up at different times.
From all these replies I gather branching would be the solution, which
isn't surprising. I think my challenge know is how do you manage those
branches in a mixed environment? It's easy for me to develop on a
certain branch in my own working copy, but when we need to merge them
all for testing and then preparation for Live is still a bit confusing.
We are going to try and setup a few dummy servers so we can reproduce
this scenario and play with all the options. I know a lot of version
control utilization is dependent on policy, so we just need to figure
out our branch and launch policies.
Thanks for all the tips,
Eric Jensen
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jan 9 00:45:54 2007