comp.lang.ada
 help / color / mirror / Atom feed
From: Keith Thompson <kst@cts.com>
Subject: Re: Attributes 'Version and 'Body_Version
Date: 07 Nov 2001 14:04:26 -0800
Date: 2001-11-07T14:04:26-08:00	[thread overview]
Message-ID: <yecbsiekzkl.fsf@king.cts.com> (raw)
In-Reply-To: 9s9iti$g$1@nh.pace.co.uk

"Marin David Condic" <dont.bother.mcondic.auntie.spam@[acm.org> writes:
> On my way to playing around with something else, I started looking at the
> results of the attributes 'Version and 'Body_Version with Gnat 3.13p on
> WinNT. They appear to be intended for distributed systems, but could
> potentially be useful within any system that uses someone's library of
> stuff - a means of verifying that any assumed behavior from a given version
> is still valid. Or, for example, a means of recording the version of a
> package that produced some particular output so that on input, version
> differences can be accommodated.
> 
> Looking at the strings from a particular package (a generic instantiatiation
> at that) I see a pair of strings that look like: "2daafe2a" (spec)
> "21adf138" (body) I didn't encounter anything in the ARM indicating what the
> format of the string should be nor did I see anything in the GNAT documents
> that explained how to interpret the string. Obviously, this is going to be
> system dependent, but if you want to do anything more than say "This version
> isn't the one I remember" you need to know how to interpret the string. Has
> anybody used this before and possibly have some insight? Thanks.

If you want to know which version is "older" or "newer", I can't think
of any good way to define the concepts (other than perhaps the source
file timestamp, but that can be changed by copying the file).  Knowing
whether a version is older or newer than the one you expected might be
useful if you can assume upward compatibility, but that can't be
enforced by the language; compatibility can be upward, downward, both,
or neither, and may apply only to some features of a package.

If you're looking for a configuration management system, I suggest
using a configuration management system.  If you want a version
indication in your package that gives you more information than
equality/inequality, it should be easy enough to add one yourself.
(For example, if you use RCS or CVS, you can have a version string
that's automatically updated whenever the source file is checked in.)

The version strings used by GNAT look like they might be 32-bit
checksums of the source, in hexadecimal, but that's just a guess.

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



  parent reply	other threads:[~2001-11-07 22:04 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-06 20:58 Attributes 'Version and 'Body_Version Marin David Condic
2001-11-07  3:39 ` Robert Dewar
2001-11-07 15:08   ` Marin David Condic
2001-11-07 20:51   ` Tony Gair
2001-11-07 16:45     ` Marin David Condic
2001-11-07 18:32       ` Vincent Marciante
2001-11-07 19:00         ` Marin David Condic
2001-11-07 23:11           ` Robert Dewar
2001-11-08 17:28             ` Stephen Leake
2001-11-08 17:43               ` Larry Kilgallen
2001-11-08 19:03                 ` Marin David Condic
2001-11-08 19:37                   ` Larry Kilgallen
2001-11-09  3:50                   ` Robert Dewar
2001-11-09  3:55                   ` Robert Dewar
2001-11-08 18:55             ` Marin David Condic
2001-11-07 19:54       ` Larry Kilgallen
2001-11-07 21:49         ` Marin David Condic
2001-11-07 23:08     ` Robert Dewar
2001-11-07 22:04 ` Keith Thompson [this message]
2001-11-08 16:34   ` Frank
2001-11-09  3:53   ` Robert Dewar
2001-11-10  0:07     ` Keith Thompson
2001-11-10  2:16       ` Larry Kilgallen
2001-11-11 15:18         ` Marin David Condic
2001-11-12 23:06           ` Tony Gair
2001-11-12 21:51       ` Robert Dewar
2001-11-13  8:07         ` Keith Thompson
2001-11-25 20:49           ` Nick Roberts
2001-11-26  2:30             ` Robert Dewar
2001-11-26  3:31               ` Nick Roberts
2001-11-26 15:42                 ` Robert Dewar
2001-11-26 20:05                   ` Nick Roberts
2001-11-27  3:56                     ` Robert Dewar
2001-11-27 17:51                       ` Nick Roberts
2001-11-28  0:44                       ` Larry Kilgallen
2001-11-28 15:49                         ` Robert Dewar
2001-11-28 16:53                         ` Larry Kilgallen
     [not found]                         ` <5ee5b646.0111280749.77fabe6c@posting.google.coOrganization: LJK Software <PFcoNrf74AeG@eisner.encompasserve.org>
2001-11-29  3:49                           ` Robert Dewar
2001-11-29 11:52                           ` Larry Kilgallen
     [not found]                           ` <5ee5b646.0111Organization: LJK Software <Kg7U2sTGDFyI@eisner.encompasserve.org>
2001-11-30  2:26                             ` Robert Dewar
2001-11-30  2:55                               ` Larry Kilgallen
2001-11-27 17:04                     ` Georg Bauhaus
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox