[Kolab-devel] Branch naming (was Re: CVS to Mercurial conversion)

Christoph Wickert wickert at kolabsys.com
Thu Sep 2 21:53:33 CEST 2010


On Thursday 02 September 2010 20:00:36 Jeroen van Meeuwen (Kolab Systems) 
wrote:
> Christoph Wickert wrote:
> > On Wednesday 01 September 2010 18:56:11 Gunnar Wrobel wrote:
> > > Zitat von Thomas Arendsen Hein <thomas at intevation.de>:
> > > > So I think these are appropriate tag names:
> > > > 2.2.4-rc2
> > > > hosted-2.2.4-rc2 or 2.2.4-rc2-hosted
> > > > debian-2.2.4-rc2 or 2.2.4-rc2-debian
> > > 
> > > Definitely "hosted-2.2.4-rc2" as "hosted" as suffix looks like it
> > > might be part of the version number.
> > 
> > I think -hosted, -debian and whatever should be suffixes. Usually the
> > naming scheme is major.minor.tiny, so the code in common is at the
> > beginning. The same should apply to the tags:
> > * 2.2.4-hosted and 2.2.4-debian are both based on 2.2.4.
> > * Both will be rebased against the mainline 2.2.5, 2.3, whatnot code
> > again
> 
> and
> 
> > it's not the mainline code that get's rebased against the Debian or
> > hosted patches.
> > 
> > As you can see, -debian and -hosted are  part of the *version*, although
> > not of a version *number*.
> 
> There's one big difference here, which I think you may be overlooking;
> 
> "hosted" is a product series, whereas
> 
> "debian" is a native packaging effort based on releases.

First of all: Please don't pick on the term "version" I used. Let's just use 
your term 'tag' instead.

What I wanted to point out is that whatever-2.2.4 or 2.2.4-whatever share the 
same codebase (and eventually some changes on top of that). Both - no matter 
if product or native packaging - will be rebased against the shared codebase 
with every new release. The release is the what makes them different the most 
and thus should be at the beginning.

> I'll try and illustrate the point;
> 
> == Kolab tags ==
> 
> A "Kolab tag" is saying; this is the exact point at which the sources have
> been released by upstream as such and such version of the Kolab product.
> 
> Sane tags in this category would include;
> 
> - kolab-2.2.4
> - kolab-3.0alpha2
> 
> == Hosted Kolab tags ==
> 
> A "Hosted Kolab tag" would do exactly the same, but for the "Hosted"
> product series.
> 
> Sane tags in this category would include;
> 
> - hosted-kolab-2.2.4.1 (based on kolab-2.2.4 maybe? is immediately
> indicated) - hosted-kolab-3.0alpha2

Ok, this is indeed a nice and helpful illustration of what you have in mind, 
but you are only rephrasing what you said before instead of explaining *why* 
you think it should be this way.

Would you mind explaining it (again) for me? What is wrong with 
kolab-3.0alpha2-hosted? It is kolab 3.0 alpha2 with the hosted patches on top.

> And, since we're making Kolab this awesome one-size-fits-all product, for
> real 3.0 releases we might even be able to drop the entire hosted- as a
> product series.

hopefully, ;) but this has nothing to do with branches, tags, repos whatever. 
The question still stands if tags should be a prefix or a suffix, no matter 
what kind of tags.

> However, the hosted consumers do require a different support stream, so
> keeping the tags for what we release through the appropriate distribution
> channels would still be sensible (even if they keep ending up on the same
> scm object).
> 
> == Debian tags ==
> 
> If there's anything to tag for "debian" in the upstream SCM, then I'd argue
> this would be:
> 
> <product>-<version>-<release>.<dist>
> 
> Where:
> 
> - product is one of "kolab-webadmin", "hosted-kolab-webadmin"
> - version is 2.2.4, 3.0alpha2, etc.
> - release is 0.x for pre-releases packaged, 1+ for actual releases packaged

Please don't apply our Fedora versioning scheme to Debian. Debian has 
different versioning as described at
http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version

Pre-releases would have ~1 in contrast to a regular release with 1 or +1.

> - dist is "lenny", "squeeze", "laughlin", "tikanga"

Uuah, I don't like this, doesn't really look Debian'ish to me and I'm sure 
Mattheu will confirm this.

> An example would be:
> 
> - kolab-cyrus-imapd-2.3.16-0.1.squeeze

Attention, kolab-cyrus-imapd-2.3.16-0.1.woody would be considered greater than 
kolab-cyrus-imapd-2.3.16-0.1.squeeze.

Regards,
Christoph

-- 
Christoph Wickert
Senior Engineer

Kolab Systems AG
Zürich, Switzerland

e: wickert at kolabsys.com
t: +49 251 871 369 77
w: http://kolabsys.com

pgp: 85DACC63 Christoph Wickert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20100902/5678e430/attachment.sig>


More information about the devel mailing list