Re: Subversion workflow
Mark Phippard <[email protected]>
| Newsgroups | gmane.comp.version-control.subversion.subclipse.user |
|---|---|
| Message-ID | <CAHFaGCrGCpewEozwnRab7CShDbCBqig55yeZxx6aqzkh+V5GGQ@mail.gmail.com> |
On Mon, Apr 16, 2012 at 10:48 AM, John Crisp <[email protected]> wrote: > On 16/04/12 00:33, Mark Phippard wrote: >> Google for "SVN Vendor branch" and there is a lot of good info, blogs and examples. >> > > One more question.... :-) > > We have a number of sites using various systems such as Joomla, ZenCart etc. > > We usually use the base code and then make modifications on a per site > basis, though some sites will share some of the modifications (e.g > various additional plugins that are commonly used). > > Is it better to have separate repositories for each site or would it be > better to have one repo with several branches, one for each site ? I would have one repository, I would create a folder named structure like: /Joomla /trunk /tags/x.y.z I would load a Joomla release into /trunk and then create a tag for that release. When Joomla creates a new release you need to run a script to load the /trunk with the current release and make another tag. When you want to customize a Joomla release, copy the tag to create the site-specific branch you make your customizations. When there is a new Joomla release you run the above mentioned process to update your pristine version of Joomla. You can then do one of two things to update your site-specific branch: 1) The way I prefer. Copy the latest Joomla release to a new site-specific branch. Then use the SVN merge command to merge all changes you made on your previous site-specific branch to the new branch. I prefer doing it this way because the changes you made are being reapplied to the latest Joomla. This will probably make it easier to understand any conflicts that occur. 2) Merge all change between the tags of the two Joomla releases to your site-specific branch. There is also no reason you cannot do this in a cascaded fashion. For example, maybe you have a branch with the common customizations you do for all sites, and then you make site specific branches from this branch with just the additional customizations. In that scenario, you would first update your common branch using one of the techniques then use the same process to update your site-specific customizations. -- Thanks Mark Phippard http://markphip.blogspot.com/ ------------------------------------------------------ http://subclipse.tigris.org/ds/viewMessage.do?dsForumId=1047&dsMessageId=2948689 To unsubscribe from this discussion, e-mail: [[email protected]].