Equivalent to svn tags?

Ian Clatworthy ian.clatworthy at internode.on.net
Wed Oct 24 01:05:13 BST 2007


Matthew Tylee Atkinson wrote:

> I'm new to bzr -- having just taken the plunge and tried it out because
> I've registered a project on Launchpad.  I found the bzr-svn plugin so
> friendly to the way we work at the moment that I thought I should really
> take a serious look at using bzr for the whole thing (I mean, if DRCS is
> really this easy, maybe it's worth migrating to :-)).

Cool. Welcome to the club. :-)

> My (current ;-)) question is this: what is the equivalent of svn tags in
> bzr?  I gather that one would make a new branch when a release series is
> started (say 0.3.0, branched from trunk) and then develop on that to
> make, for example, 0.3.1, 0.3.2 and so on.

Yes.

> However, using this approach would mean that commits to 0.3.0 before it
> becomes 0.3.1 would cause the 0.3.0 branch to eventually contain some
> code that was not included in the actual 0.3.0 release.  I'd really like
> to make tags that preserve a record of releases for prosperity; not just
> allow us to make new lines of development.  I suppose the answer to that
> is that I should really make a tarball of the 0.3.0 branch at the moment
> it is started, to keep /that/ as the copy for posterity and then
> continue developing the branch and branch 0.3.1 (taking a copy tarball
> of that, too) as and when required.

Bazaar has a 'tag' command for creating a tag and a 'tags' command for
listing them. Using a tag name as a revision identifier is supported -
simply use the format 'tag:xxx' as explained here:
http://doc.bazaar-vcs.org/latest/en/user-reference/bzr_man.html#revision-identifiers.
Having said that, note also that Bazaar has nice, friendly revision
numbers in a branch, e.g. 142. So you can always simply note down that
number (or find it via log) if you can't be bothered applying a tag.

There is no problem with adding code to the 0.3.x branch after 0.3.0
ships in preparation for 0.3.1. You can always get the code for 0.3.0
out easily by passing the -r flag to the export command say. In fact, I
think you'll like the export command - try 'bzr help export'.

> In fact, that probably means that I should simply start a 0.3 branch and
> make point releases simply by copying the 0.3 branch into a 0.3.x
> tarball at times when development on that branch is stable.  If that
> were the case, though, I think that it would be harder to register
> definitive releases on Launchpad (like 0.3.5) and track down bugs.  So,
> maybe I should still make branches with names like 0.3, then 0.3.x, and
> then just end up with a lot of branches lying around over time (so when
> 0.3.5 is released, 0.3.[0-4] would just be left dormant).

Just one branch for the 0.3.x series is probably enough I think. You
*can* always create a lot more branches but I don't think you'll need to
from what you've described above.

> I was concerned at the apparently complexity of DRCS systems but bzr
> seems to ``just work'' as it claims and I'm really looking forward to
> using it more in the future -- thanks to the devs!

Good to hear. "Just works" is what Bazaar is all about. There's no need
for DVCS to be complex. Instead, it ought to be a clean match to the
workflows developers want to use. We'll always have room for improvement
(and the more feedback we get, the better) but I think we're on the
right track. http://bazaar-vcs.org/Workflows nicely illustrates what I mean.

Ian C.



More information about the bazaar mailing list