You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Stefan Schwarzer <st...@grid.unep.ch> on 2005/11/10 10:49:30 UTC
CVS for regional manifestations of a site
Hi list,
after taking the first plunge into the world of CVS, I would like to
ask you - the experienced users - for advice. I searched quite some
time on the Internet to find some information about the basics of CVS
and read lots of documents. So, the principle(s) I do understand. But
I didn't really find the answer to my - perhaps a bit specific -
problem, although I had the impression that subversion was hinting in
its document into this direction.
But here is my situation:
We have developed a site with something like 80 (mostly php) files, a
mysql database and some other stuff covering global information. Now,
this site has so much success in our organisation that regional
manifestations of the "portal" are planned for different regions of
the world. These do use the "global" code. But some adoptions have to
be made within the code to reflect the regional scale of the site.
Here is my question: Beside the fact that these regional developers
could contribute to ameliorate the code (via a CVS), more
importantly: can the issue of the insertion & replacement of certain
pieces of code be solved by using a CVS when the regions update
theirs sites with the latest "global" version?
I hope I could make the point clear enough...
I would be grateful for any advice.
Thanks a lot.
Stef
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: CVS for regional manifestations of a site
Posted by Ryan Schmidt <su...@ryandesign.com>.
On Nov 10, 2005, at 11:49, Stefan Schwarzer wrote:
> after taking the first plunge into the world of CVS, I would like
> to ask you - the experienced users - for advice. I searched quite
> some time on the Internet to find some information about the basics
> of CVS and read lots of documents. So, the principle(s) I do
> understand. But I didn't really find the answer to my - perhaps a
> bit specific - problem, although I had the impression that
> subversion was hinting in its document into this direction.
>
> But here is my situation:
>
> We have developed a site with something like 80 (mostly php) files,
> a mysql database and some other stuff covering global information.
> Now, this site has so much success in our organisation that
> regional manifestations of the "portal" are planned for different
> regions of the world. These do use the "global" code. But some
> adoptions have to be made within the code to reflect the regional
> scale of the site.
>
> Here is my question: Beside the fact that these regional developers
> could contribute to ameliorate the code (via a CVS), more
> importantly: can the issue of the insertion & replacement of
> certain pieces of code be solved by using a CVS when the regions
> update theirs sites with the latest "global" version?
Assuming you are in fact using the Subversion software and not the
CVS software....
There are many ways to handle such a situation. If your code is
abstracted in such a way that there's a base set of stuff that the
regional sites can use unmodified, and then just need to add
configuration files to control their specific behavior, then you can
just keep their configuration files in a directory in the repository
and after checking the project out, copy, for example,
config.region5.inc.php to config.inc.php to activate it for that
working copy.
I suspect your regions want to do a bit more mucking around. You
could consider externals, but this also requires that the shared code
live in exactly one place in the repository and not be modified for
the projects that use it.
What you may want to do is copy your portal code for each region, and
then merge back changes from the mainline. The idea would be that you
have, say, version 1 of your portal that's finished and you tag it.
You then use Subversion to copy it to a new place in the repository
for each region. Programmers can modify each region's code separately
and as much as they want to customize it, while development of the
main software continues until at some point you're done with version
2 and you tag that. At this point each region can decide separately
whether they want to upgrade to version 2. If so, they use svn merge
to merge the changes from version 1 to version 2 into their local
copy. They manually resolve any conflicts that occur as a result of
their previous customizations and then commit that, and then that
region is updated to version 2.
You can read about externals, merging and everything else in the
Subversion book:
http://svnbook.red-bean.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org