sm-discuss AT lists.ibiblio.org
Subject: Public SourceMage Discussion List
List archive
- From: Pieter Lenaerts <e-type AT sourcemage.org>
- To: "sm-discuss AT lists.ibiblio.org" <sm-discuss AT lists.ibiblio.org>
- Subject: [SM-Discuss] svnmerge.py
- Date: Tue, 18 Apr 2006 12:36:33 +0200
hi all,
I got merge tracking going using the svnmerge.py script.
in short: getting test and devel into sync works in both directions with
cherrypicking and without knowing any revision numbers.
anyone can play around a bit on my grimoire sandbox to make it trip :)
procedure:
1) '$ cast subversion' (duuh)
2) get latest svnmerge.py: '$ svn export
http://svn.collab.net/repos/svn/trunk/contrib/client-side/svnmerge.py'
3) checkout my sandbox: '$ svn co
http://e-home.ath.cx:8080/repos/grimoire-sandbox'
4) make some changes in devel or test or both
5) commit them
6) repeat 4 and 5 N times :)
to see what changes are available to be pulled in:
'$ cd devel/' or '$ cd test/' (you need to be at the bottom of the
branch you want to pull changes to)
'$ svnmerge.py -b avail' (you need the -b flag or you'll get conflicts!)
to merge them all:
'$ svnmerge.py -b merge'
('$ svn update')
'$ svn commit'
cherrypicking: do a couple of commits in either branch, cd to other
branch and then:
'$ svnmerge.py -b avail' and choose some revision number(s) or range(s)
'$ svnmerge.py -b -r N,M,Q-S merge'
('$ svn update')
'$ svn commit'
everybody pull out the guns and stresstest this! :)
downsides atm:
1) you need to run '$ svn update' quite a lot if you complicate your
workcycle to make it fall.
2) you need to add the -b flag on every call of svnmerge.py. I
immediately added myself an alias around this: '$ alias
svnbimerge='path/to/svnmerge.py -b''
3) if a change in devel is not supposed to get merged into test then the
developer committing that revision should block it for tracking. if not
'$ svnmerge.py -b avail' will show zounds of revisions ready to be
integrated and finding out which one you want to integrate turns into
nightmare. '$ svnmerge.py block -r N' is an answer, use '$ svnmerge.py
unblock -r N' to get it listed again.
--
Pieter Lenaerts
Source Mage GNU/Linux
http://www.sourcemage.org
"Linux so advanced it may well be magic"
Attachment:
signature.asc
Description: Dit berichtdeel is digitaal ondertekend
- [SM-Discuss] svnmerge.py, Pieter Lenaerts, 04/18/2006
Archive powered by MHonArc 2.6.24.