From: Leo Famulari <leo@famulari.name>
To: Ben Woodcroft <b.woodcroft@uq.edu.au>
Cc: guix-devel@gnu.org
Subject: Re: Version numbers for VCS snapshots
Date: Thu, 21 Jan 2016 01:22:51 -0500 [thread overview]
Message-ID: <20160121062251.GA25513@jasmine> (raw)
In-Reply-To: <56A063D1.80608@uq.edu.au>
On Thu, Jan 21, 2016 at 02:51:29PM +1000, Ben Woodcroft wrote:
>
>
> On 12/01/16 19:26, Ludovic Courtès wrote:
> >Ricardo Wurmus <rekado@elephly.net> skribis:
> >
> >>Should we also take some time to reconsider how we name unreleased
> >>versions like arbitrary git commits?
> >Let do that!
> Lets.
> >>So far we have been picking the latest release version (or “0.0.0” if
> >>there hasn’t been any release) followed by “.” and either a date or a
> >>guix-internal revision number, then again a “.” followed by part of the
> >>commit hash.
> >>
> >>I’m afraid that we might accidentally introduce conflicts with future
> >>release versions, e.g. when the latest release only uses two digits
> >>(e.g. “0.1”) and we add a revision or a date (e.g. “0.1.1” or
> >>“0.1.20160112”) and the next release and the next official release
> >>switches to three digits (e.g. “0.1.1”).
> >>
> >>Would it make sense to separate our version identifier from the actual
> >>release version with a different character than “.”? Or should this be
> >>discussed elsewhere as it hasn’t anything to do with how we specify
> >>versions on the command line?
> >Probably. Debian, for instance, uses “2.0.11-9” where “9” denotes the
> >9th package revision of upstream version “2.0.11”. We could probably
> >use that convention.
> >
> >In a previous discussion on this topic, I suggested that we should have
> >such a revision number instead of just “x.y.COMMIT”. The extra
> >monotonically-increasing revision number is needed to allow upgrades to
> >work as expected.
> >
> >So, a Git snapshot’s version number could be:
> >
> > 2.0.11-3.deadbeef
> > ^ ^ ^
> > | | `— upstream commit ID
> > | |
> > | `—— 3rd Guix package revision
> > |
> > latest upstream version
> >
> >The next snapshot would be:
> >
> > 2.0.11-4.cafeefac
> >
> >WDYT?
> I can't see anything wrong with this myself. Is this accepted policy now?
>
> Also, is the convention for unreleased software to take 0.0.0 as the version
> as you suggest Ricardo e.g. 0.0.0-1.deadbeef ?
That sounds good to me. There was some discussion of how much of the
hash to keep here:
http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00136.html
I like this method that I've seen in some of the packages, because it
keeps the version tidy while preserving the full hash:
--8<---------------cut here---------------start------------->8---
(define-public hello
(let ((commit "e8e46123cfe62170a2f7f79db6b471b66ae36947"))
(package
(name "hello")
(version (string-append "2.10-1" (string-take commit 8)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.sv.gnu.org/hello.git")
(commit commit)))
(sha256
[...]
--8<---------------cut here---------------end--------------->8---
>
> ta
> ben
>
next prev parent reply other threads:[~2016-01-21 6:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-09 21:26 New CLI syntax for package version Ludovic Courtès
2016-01-09 22:52 ` Andreas Enge
2016-01-10 8:32 ` Ricardo Wurmus
2016-01-11 3:37 ` Christopher Allan Webber
2016-01-11 15:48 ` Eric Bavier
2016-01-12 7:50 ` Ricardo Wurmus
2016-01-12 9:26 ` Version numbers for VCS snapshots Ludovic Courtès
2016-01-21 4:51 ` Ben Woodcroft
2016-01-21 6:22 ` Leo Famulari [this message]
2016-01-21 9:40 ` Ricardo Wurmus
2016-01-21 18:44 ` Leo Famulari
2016-01-21 21:05 ` Ludovic Courtès
2016-02-21 4:35 ` Leo Famulari
2016-02-21 9:17 ` Alex Kost
2016-02-21 22:52 ` Leo Famulari
2016-02-22 0:09 ` Christopher Allan Webber
2016-02-23 11:53 ` Ludovic Courtès
2016-01-21 9:44 ` Ricardo Wurmus
2016-01-21 21:25 ` Ludovic Courtès
2016-01-21 22:02 ` Ricardo Wurmus
2016-01-23 22:00 ` Ludovic Courtès
2016-01-23 22:07 ` Ricardo Wurmus
2016-01-24 23:12 ` Ludovic Courtès
2016-01-21 22:08 ` Eric Bavier
2016-01-21 22:23 ` Jookia
2016-01-22 9:35 ` Andy Wingo
2016-01-22 12:31 ` Ricardo Wurmus
2016-01-23 21:51 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160121062251.GA25513@jasmine \
--to=leo@famulari.name \
--cc=b.woodcroft@uq.edu.au \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.