bzr-svn branch/tag integration problem
Alexander Belchenko
bialix at ukr.net
Wed Jul 29 16:13:12 BST 2009
For backporting fixes to older releases I'm successfully using Daggy
Fixes method, see:
http://www.monotone.ca/wiki/DaggyFixes/
This method is very useful for DVCS (e.g. bzr) but maybe a bit
problematic to use with svn. Of course this method is not silver bullet
in some situations (when trunk and releases branches is diverged a lot
around bugfix code) but generally it works nice for me.
Greg Hanson пишет:
> Alexander,
>
> Thanks for the response. I need to play around a little more with the
> dpush command...I had not heard about that before. It seems to do what
> I want, which is push without tags.
>
> I like your suggestion for the merge (regular merge to trunk, then
> cherrypick to back port to previous releases). I may look into changing
> the way we do our backporting to match this (even if we are using
> subversion tools instead of bazaar). Eliminating our entire tagging
> scheme would make this much, much easier.
>
> Thanks again, I hope to return with a Bazaar success story :-)
>
> --
> Greg Hanson
>
> On Wed, Jul 29, 2009 at 3:54 AM, Alexander Belchenko <bialix at ukr.net
> <mailto:bialix at ukr.net>> wrote:
>
> Because nobody of bzr-svn power users is answer yet I'll try to
> provide some hints.
> Note: I'm not regular bzr-svn user but I think I understand how
> bzr-svn could work, so I'll try to help.
>
> 1) You don't need to use svn tags when you're using bzr to track
> issue branch.
> 2) You can store either original bzr issue branch in svn repo or
> convert it to svn format (via dpush?) and lose bzr metainfo.
>
> So, if you want/can use bzr to do work on specific issue branch I
> think you can do following:
>
> 1) Made the local copy of your trunk in bzr format:
>
> bzr branch $SVN_REPO/project_a/trunk trunk.bzr
>
> 2) Create local issue branch in bzr format:
>
> bzr branch trunk.bzr issue.$JIRA_NUMBER
>
> 3) Work in local issue branch, commit your changes as often as needed:
>
> bzr commit
>
> 4) Publish your issue branch for review:
>
> bzr push issue.$JIRA_NUMBER
> $SVN_REPO/project_a/issues/branches/$JIRA_NUMBER
>
> You can use dpush command instead to push branch without bzr metadata.
>
> 5) Once your issue branch us ready to merge do merge via bzr:
>
> cd trunk.bzr
> bzr pull # update your copy of trunk
> bzr merge ../issue.$JIRA_NUMBER
> # check & resolve conflicts & test it
> bzr commit -m "issue $JIRA_NUMBER completed"
>
> Now you have trunk with merged changes from issue branch. Either
> dpush it to svn trunk or `push --overwrite` to
> $SVN_REPO/project_a/issues/branches/$JIRA_NUMBER or to separate
> integration branch
> $SVN_REPO/project_a/issues/branches/$JIRA_NUMBER.integration
>
> In the first case you don't need to do cherrypick merge via svn at
> all, in other cases you'll have only one revision to cherrypick.
>
> HTH
>
>
>
>
>
> --
> Greg Hanson
More information about the bazaar
mailing list