[Openstack-devel] Tagging versions on your Git

Thomas Goirand zigo at debian.org
Tue Oct 23 06:54:49 UTC 2012


On 10/23/2012 04:43 AM, Gabriel Hurley wrote:
> Hi Thomas,
>
> I can certainly get some tags pushed, however I'd like to ask if that
> versioning scheme is required. The django-openstack-auth module
> doesn't follow the same release cadence as the core projects (since it
> changes far less frequently)

It doesn't have to be released at the same time, but if you know about 
required versions in some releases of openstack, letting us know would 
certainly help having the correct (build-)dependencies.

> As far as I can tell the clients are also inconsistent with their
> tags, mostly tagging their version numbered releases (0.1, 1.0, 1.1,
> 2.0, etc.) and occasionally with OS release tags (2012.1 being the
> latest I saw on any of them) and occasionally with milestone tags
> (essex-3, folsom-1, etc.).

essex-* and folsom-* are pre-release tags, before the freeze. We ignore 
them (and so should you unless you're interested in working with 
pre-releases).

> My preference would be to tag my version numbered releases (1.0, 1.1,
> etc). If that doesn't work I can cut tags for the OS releases (2012.2)
> however I won't cut a new tag if nothing changes (e.g. if 2013.1 would
> be the same as 2012.2 I'm not gonna retag it).
>
> So, of those options, what's best for you?

We don't really care whatever model you choose, what we care is that you 
use one of the options, and that you stick to it. 1.0, 1.1, etc. is fine 
to us. Just for your information so that you understand why I'm 
insisting on git tags:

- We use a debian/watch file that monitors new tags in github, so by 
reading our QA page [1], we can tell if we need to package a new version.

- We use git-buildpackage with the following in our debian/gbp.conf:

[DEFAULT]
upstream-branch = master
debian-branch = debian/experimental
upstream-tag = %(version)s

this means that git-buildpackage will use the master branch with the tag 
corresponding to whatever is in debian/changelog, and with that, it will 
create (or reuse an already existing) tarball.

- We also use tags to create the orig.tar.xz archive, with something 
like this:

git archive --prefix=$(DEBPKGNAME)-$(VERSION)/ $(VERSION) \
	| xz >../$(DEBPKGNAME)_$(VERSION).orig.tar.xz

VERSION is calculated by parsing the latest entry in debian/changelog.

> Also, since you asked, the canonical repository (and the one which
> propogates to PyPI, etc.) is
> https://github.com/gabrielhurley/django_openstack_auth

Which is what I've been using, so it's cool, no mistake done here! :)

Cheers,

Thomas



More information about the Openstack-devel mailing list