From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Version numbers for VCS snapshots Date: Tue, 12 Jan 2016 10:26:51 +0100 Message-ID: <87twmjp2qs.fsf_-_@gnu.org> References: <874mem8mwx.fsf@gnu.org> <8737u344ov.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:58379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aIvED-0002wy-0j for guix-devel@gnu.org; Tue, 12 Jan 2016 04:27:01 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aIvE7-0004Hk-Fc for guix-devel@gnu.org; Tue, 12 Jan 2016 04:26:58 -0500 In-Reply-To: <8737u344ov.fsf@elephly.net> (Ricardo Wurmus's message of "Tue, 12 Jan 2016 08:50:24 +0100") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ricardo Wurmus Cc: guix-devel@gnu.org Ricardo Wurmus skribis: > Should we also take some time to reconsider how we name unreleased > versions like arbitrary git commits? Let do that! > So far we have been picking the latest release version (or =E2=80=9C0.0.0= =E2=80=9D if > there hasn=E2=80=99t been any release) followed by =E2=80=9C.=E2=80=9D an= d either a date or a > guix-internal revision number, then again a =E2=80=9C.=E2=80=9D followed = by part of the > commit hash. > > I=E2=80=99m afraid that we might accidentally introduce conflicts with fu= ture > release versions, e.g. when the latest release only uses two digits > (e.g. =E2=80=9C0.1=E2=80=9D) and we add a revision or a date (e.g. =E2=80= =9C0.1.1=E2=80=9D or > =E2=80=9C0.1.20160112=E2=80=9D) and the next release and the next officia= l release > switches to three digits (e.g. =E2=80=9C0.1.1=E2=80=9D). > > Would it make sense to separate our version identifier from the actual > release version with a different character than =E2=80=9C.=E2=80=9D? Or = should this be > discussed elsewhere as it hasn=E2=80=99t anything to do with how we speci= fy > versions on the command line? Probably. Debian, for instance, uses =E2=80=9C2.0.11-9=E2=80=9D where =E2= =80=9C9=E2=80=9D denotes the 9th package revision of upstream version =E2=80=9C2.0.11=E2=80=9D. We coul= d probably use that convention. In a previous discussion on this topic, I suggested that we should have such a revision number instead of just =E2=80=9Cx.y.COMMIT=E2=80=9D. The e= xtra monotonically-increasing revision number is needed to allow upgrades to work as expected. So, a Git snapshot=E2=80=99s version number could be: 2.0.11-3.deadbeef ^ ^ ^ | | `=E2=80=94 upstream commit ID | | | `=E2=80=94=E2=80=94 3rd Guix package revision |=20=20=20=20 latest upstream version The next snapshot would be: 2.0.11-4.cafeefac WDYT? Ludo=E2=80=99.