Complete.Org: Mailing Lists: Archives: freeciv-dev: September 1999:
Re: [Freeciv-Dev] version numbers
Home

Re: [Freeciv-Dev] version numbers

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: Re: [Freeciv-Dev] version numbers
From: David Pfitzner <dwp@xxxxxxxxxxxxxx>
Date: Sun, 12 Sep 1999 14:38:14 +1000 (EST)

Peter Schaefer wrote:

> How about increasing minor version numbers immediately before 
> and after a release ?
> This way it would be easy to tell which version is CVS .. .

Yes, I agree, we should do something like this.

The above idea of increasing the version number just after a 
release is easy (no code changes).  In some ways its flexible 
(eg, can make a series of unstable releases leading up to a
stable release), but in some ways inflexible: in the current
situation, if cvs were called 1.8.2, what would an interim
stable release based on 1.8.1 be called?  (1.8.1.1?)

I don't really like the idea of odd/even.  Applied to the
minor version, I agree with Greg Wooledge that we don't really 
want separate stable and development series.  Applied to the
minor version it seems to assume that there will always
be stable/unstable versions interleaved, which sometimes may
not be the case: eg release 1.9.0 (stable), which turns out to
have a fatal bug and so want to immediately release 1.9.1 (also 
stable).

I like Mattias Andersson's idea of appending eg "-cvs" to the
version string, since this seems both flexible and allows us
to be descriptive.  The attached patch makes some minimal changes
towards implementing this.  (Should also probably add version_label
field in packet_req_join_game (being careful of compatability
including clean incompatability testing) and probably a few other
places where versions are used.  Note cannot just change 
PATCH_VERSION to be eg "1-cvs" since in some places this is used 
as an integer.)

Reinier Post wrote:

: but I would prefer to go further: use
:
:  freeciv-1.8p2sep06
:
: for CVS versions created on Sep, 6.  It will be easy to modify the
: version string automatically, and the chance of unexpected
: incompatibilities is reduced.

Hmm, would this be the date when compiled, or when checked out,
of when last change checked in, or what?  (Not to mention 
timezones...)  This seems a bit complicated to me, especially 
having it work when using cvs to request old versions...

Better would be to have the metaserver somehow include capability 
string information, so the client metaserver dialog could omit
incompatible games, or perhaps just mark them as incompatible
so you could know whether you would be better off using some 
other version.

-- David
diff -u -r --exclude-from exclude_auto freeciv-cvs/acconfig.h fc-adv/acconfig.h
--- freeciv-cvs/acconfig.h      Fri Aug 27 23:19:28 1999
+++ fc-adv/acconfig.h   Sun Sep 12 14:41:55 1999
@@ -20,6 +20,7 @@
 #undef MAJOR_VERSION
 #undef MINOR_VERSION
 #undef PATCH_VERSION
+#undef VERSION_LABEL
 #undef IS_BETA_VERSION
 #undef VERSION_STRING
 #undef HAVE_LIBICE
diff -u -r --exclude-from exclude_auto freeciv-cvs/client/gui-xaw/Freeciv.h 
fc-adv/client/gui-xaw/Freeciv.h
--- freeciv-cvs/client/gui-xaw/Freeciv.h        Sun Sep  5 17:42:45 1999
+++ fc-adv/client/gui-xaw/Freeciv.h     Sun Sep 12 14:46:48 1999
@@ -5,7 +5,7 @@
 "Freeciv*server:                              localhost",
 "Freeciv*metaserver:             
http://www.daimi.aau.dk/~lancelot/freeciv.html ",
 "Freeciv*port:                                5555",
-"Freeciv*version:                             1.8.1",
+"Freeciv*version:                             1.8.1-cvs",
 "Freeciv*logLevel:                            1",
 "Freeciv*Command.foreground: White",
 "Freeciv*Command.background: Blue",
diff -u -r --exclude-from exclude_auto freeciv-cvs/common/version.h 
fc-adv/common/version.h
--- freeciv-cvs/common/version.h        Wed Jul 21 23:45:16 1999
+++ fc-adv/common/version.h     Sun Sep 12 14:41:42 1999
@@ -29,6 +29,9 @@
 #ifndef PATCH_VERSION
 #define PATCH_VERSION  1
 #endif
+#ifndef VERSION_LABEL
+#define VERSION_LABEL  "-cvs"
+#endif
 #ifndef IS_BETA_VERSION
 #define IS_BETA_VERSION 0
 #endif
@@ -37,7 +40,7 @@
 #define VER_STRINGIFY(x) VER_STRINGIFY1(x)
 #define VERSION_STRING VER_STRINGIFY(MAJOR_VERSION) "." \
                        VER_STRINGIFY(MINOR_VERSION) "." \
-                       VER_STRINGIFY(PATCH_VERSION)
+                       VER_STRINGIFY(PATCH_VERSION) VERSION_LABEL
 #endif
 
 /* below, FREECIV_NAME_VERSION uses pre-processor string concatenation --dwp */
diff -u -r --exclude-from exclude_auto freeciv-cvs/configure.in 
fc-adv/configure.in
--- freeciv-cvs/configure.in    Fri Aug 27 23:19:29 1999
+++ fc-adv/configure.in Sun Sep 12 14:49:16 1999
@@ -16,9 +16,10 @@
 MAJOR_VERSION=1
 MINOR_VERSION=8
 PATCH_VERSION=1
+VERSION_LABEL="-cvs"
 IS_BETA_VERSION=0
 
-VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}
+VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}${VERSION_LABEL}
 
 dnl Similar to following are already done by AM_INIT_AUTOMAKE:
 dnl (but different in terms of producing quoted vs bare strings)
@@ -29,7 +30,8 @@
 AC_DEFINE_UNQUOTED(MAJOR_VERSION, $MAJOR_VERSION)
 AC_DEFINE_UNQUOTED(MINOR_VERSION, $MINOR_VERSION)
 AC_DEFINE_UNQUOTED(PATCH_VERSION, $PATCH_VERSION)
-AC_DEFINE_UNQUOTED(VERSION_STRING, 
"${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
+AC_DEFINE_UNQUOTED(VERSION_LABEL, "${VERSION_LABEL}")
+AC_DEFINE_UNQUOTED(VERSION_STRING, 
"${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}${VERSION_LABEL}")
 AC_DEFINE_UNQUOTED(IS_BETA_VERSION, $IS_BETA_VERSION)
 
 dnl Initialize automake stuff
diff -u -r --exclude-from exclude_auto freeciv-cvs/data/Freeciv 
fc-adv/data/Freeciv
--- freeciv-cvs/data/Freeciv    Sun Sep  5 17:42:47 1999
+++ fc-adv/data/Freeciv Sun Sep 12 14:38:42 1999
@@ -8,7 +8,7 @@
 Freeciv*server:                              localhost
 Freeciv*metaserver:             http://www.daimi.aau.dk/~lancelot/freeciv.html 
 Freeciv*port:                                5555
-Freeciv*version:                             1.8.1
+Freeciv*version:                             1.8.1-cvs
 Freeciv*logLevel:                            1
 
 !

[Prev in Thread] Current Thread [Next in Thread]