[Buildbot-devel] Building tagged releases

Greg Ward greg at gerg.ca
Tue Sep 11 13:39:07 UTC 2012

On 09 September 2012, Oleg Smolsky said:
> Hey Dustin, here is a concrete example of what I am looking to do:
>   - start with "v1" branch in Mercurial
>   - commit a few changes into the branch
>   - tag the tip of that branch as "build_50"
>   - initiate a build off that tag as "v1.0.6 build=50"

(Slightly OT, since this is mostly about Mercurial best practices.)

Why not just create the 1.0.6 tag directly instead of build_50? If you
tag every build, pretty soon you'll have a lot of tags. Hundreds or
even a few thousand tags should be fine, but once you get up into tens
of thousands, expect Mercurial performance to suffer.

Directly tagging the release has lots of other benefits: "hg update
1.0.6" just works. "1.0.6" becomes a meaningful part of hgweb URLs,
meaning people can download a source tarball directly from hgweb.

Finally, be careful about branch vs. tag naming conventions. Mercurial
won't stop you from creating branch "1.0" and tag "1.0"... but then
what does "hg update 1.0" do? Offhand, I'm not sure. I'd have to check
the code, and there's no guarantee that behaviour won't change in the
future. Avoid the issue entirely and use distinct naming conventions
for branches and tags.

Greg Ward                                http://www.gerg.ca/
"Question authority!"  "Oh yeah?  Says who?"

More information about the devel mailing list