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

Questions about tag style branch/merge approach

From: David Budworth <dbudworth_at_eloan.com>
Date: 2004-05-04 19:27:54 CEST

Howdy y'all,

I have a couple of questions about using the tag style branch/merge
approach where you create a merge point after each merge.

svn cp svn://repo/trunk svn://repo/branches/mybranch
svn cp svn://repo/branches/mybranch svn://repo/merge-points/mybranch

svn co svn://repo/branches/mybranch wc

--edit files in wc--
svn commit wc

--merge back to the trunk--
svn co svn://repo/trunk
cd trunk && svn merge svn://repo/merge-points/mybranch

All fine and dandy, works great, we don't have to remember version

Only problem is, how does one reset that merge point in an atomic

svn cp svn://repo/trunk svn://repo/merge-points/mybranch
will actually make a merge-points/mybranch/mybranch

We have been doing this as:
svn del svn://repo/merge-points/mybranch -m 'resetting mp'
svn cp svn://repo/trunk svn://repo/merge-points/mybranch

But it's not atomic, and if someone commits to the trunk after I do my
trunk merge and before I re-create my merge point, I lose changes that
the other person committed to trunk.
Plus it revs to repo three times for every trunk merge cycle (not a big
deal, but mildly annoying)

example of what i'm talking about here:
person A merges to trunk, commits
person B merges to trunk, commits
person A deletes merge point
person A copies trunk to merge point

We lost the ability to merge person B's trunk change back to person A's

Hope that made sense.

I suppose the best solution is to not do it like this, and just write
some wrapper scripts to track the repo versions so we don't have to
deal with all the copying around.
Manual tracking of versions on a person by person base isn't really an
option as we have anywhere from 10-40 merges to trunk a week. Mainly
due to the fact that we push code live to our site twice a day from a
staff of 20 developers. And trunk in this case is our 'live' tree,
basically, anything merged in there is on it's way to our production

Anyone in a similar situation and figured out a better way to handle
the merging issue? (I'd assume most subversion users actually work on a
release cycle of more than 4 hours)

Thank you,

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue May 4 19:28:48 2004

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.