[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn merge and how to best architect for a live site.

From: Blair Zajac <blair_at_orcaware.com>
Date: Wed, 28 May 2008 16:05:18 -0700

Daevid Vincent wrote:
> This may be a little lengthy, but we need guidance on the best way to
> proceed…
>
>
>
> · We are going to provide a LAMP / Symfony project web based
> service (as in, we host it, no sharing of code, users login, etc.)
>
> · We have four developers
>
> · All developers have a trunk checkout
>
> · We’re currently not using branches (we’re not at that stage
> really yet)
>
> · We have a UAT box for testing which SVN UPDATEs from Subversion
>
> · We have a Production box which also SVN UPDATEs from
> Subversion when UAT is blessed
>
>
>
> Our problem is, what is the best way to set this up. The challenges are:
>
>
>
> · Doing a complete checkout (like a branch) and setting up that
> environment is tedious and we’d prefer not to do continual branch
> checkouts (as is typically the case in software development where the
> trunk is used and branched for each release).
>
> · How do we work on new (major) features/bugs (ie. normally this
> is done in trunk), while still being able to update Production with
> minor but critical fixes (normally in a branch that would be hand merged
> back into trunk at the same time to prevent deviation too far).
>
> · We wish to release features/updates every two weeks to Production.
>
> · We wish to release said critical bug fixes to Production as
> they arise.
>
>
>
> We were considering the idea of everyone working in the branch – which
> would really just be a single long branch that really never forks or is
> forked. It simply parallels trunk (which is where UAT/Prod pull from
> currently). We’d put minor changes in trunk. Then use SVN MERGE to put
> the big branch work back into trunk when ready. We would then setup
> another UAT box that updates from the branch (so now we’d have one of
> each) so testing can be done on both branch & trunk simultaneously.
>
>
>
> Keep in mind, the actual naming of ‘branch’ and ‘trunk’ is really
> arbitrary. We could simply fork and reconfigure UAT/Prod to UPDATE from
> ‘branch’, and we could do all the work in ‘trunk’.
>
>
>
> The question is how do we get all that magic in between. SVN MERGE seems
> like the solution, but having never used it, we are concerned at how
> intelligent and painless the merges are for all the developers. Or do we
> have to manually make changes to both branch/trunk each step of the way.
>
>
>
> Is there a better solution? Obviously we’re not the first to have a live
> web service tied to subversion.

Until svn 1.5 comes out with merge tracking support, use svnmerge.py to handle
all the merging tasks:

http://www.orcaware.com/svn/wiki/Svnmerge.py

When 1.5 comes out, switch over to native merge support:

http://svnbook.red-bean.com/nightly/en/svn.branchmerge.html

Regards,
Blair

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-05-29 01:06:23 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.