bzr-svn branch/tag integration problem

Alexander Belchenko bialix at ukr.net
Wed Jul 29 09:54:56 BST 2009


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




More information about the bazaar mailing list