I'm a single developer of a project. I have a central bazaar repo for the project code:
C:\Dev\MyProjRepo>bzr info
Shared repository (format: 2a)
Location:
shared repository: .
The repo contains a trunk directory
C:\Dev\MyProjRepo>cd trunk
C:\Dev\MyProjRepo\trunk>bzr info
Repository tree (format: 2a)
Location:
shared repository: C:\Dev\MyProjRepo
repository branch: .
Related branches:
submit branch: .
Now, I have stopped developing version 1 (created appropriate tags on each release) and continue developing verion 2. This development is performed in the trunk. In parallel I need to maintain version 1. I'm a former SVN user, so I create a directory "branches/version1", branch the appropriate revision from the trunk into that directory and then checkout/branch from this new location ad libidum with occasional merges between the trunk and the version 1 branch. Is this how the the things are done in bzr?
Similar, but not quite. You're already setup with a shared repository, so switch to that directory and then use the bzr branch
command:
C:\Dev\MyProjRepo>bzr branch -rtag:version1tag trunk version1
Use whatever tag you used for version 1 in place of "version1tag". That will create a branch in C:\Dev\MyProjectRepo\version1
that will be branched from the revision represented by that tag. Bear in mind that creating a branch doesn't actually create a new revision like SVN does.
A neat trick for visualizing your branches is to use bzr qlog
in the shared repository directory. That will show you the history for all branches and it will connect them with lines to indicate their ancestry and merges.