all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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
> 

  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.