<br><br><div class="gmail_quote">On Tue, Apr 12, 2011 at 1:58 PM, David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com">lewis@mail.msen.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5"><br>
On Tue, Apr 12, 2011 at 12:53:20PM +0200, Igor Stasenko wrote:<br>
&gt;<br>
&gt; Hello,<br>
&gt;<br>
&gt; i&#39;d like to know what we can do to clean up the mess with Cog VM<br>
&gt; versioning, so people could identify it more easily.<br>
&gt;<br>
&gt; Currently , what<br>
&gt;<br>
&gt; Smalltalk vmVersion shows is:<br>
&gt;<br>
&gt; Smalltalk vmVersion<br>
&gt;<br>
&gt;  &#39;Croquet Closure Stack VM [StackInterpreter<br>
&gt; VMMaker-oscog-IgorStasenko.Stasenko.49] StackVM VM 4.0.0&#39;<br>
&gt;<br>
&gt; but it doesn&#39;t says anything about which version of platform sources<br>
&gt; are used to build it.<br>
&gt; Also, a version number VM 4.0.0 makes no sense..<br>
&gt;<br>
&gt; I&#39;d really like to see what we can do to improve it.<br>
<br>
</div></div>(this may be a duplicate response, I&#39;m having mail problems today)<br>
<br>
The mechanism used in the standard VMMaker and Unix platform sources<br>
works well in practice. This uses VMMaker class&gt;&gt;versionString to<br>
identify the (approximate) version of Smalltalk sources, combined<br>
with the Subversion revision number identified at compile time.<br>
<br>
For the VMMaker side, I&#39;d suggest adopting a similar (manually<br>
maintained) convention for #versionString, but also add a<br>
suffix to identify a cog VM versus interpreter VM. Thus if<br>
the versionString is &#39;1.2.3&#39; the Cog VM might use &#39;1.2.3c&#39;.<br>
The suffix identifier is helpful in the near term for maintaining<br>
separate installation directories on unix, and possibly becomes<br>
irrelevant whenever we get the code bases merged.<br>
<br>
For the platforms sources on the git mirror with CMMakerVMMaker<br>
build, some mechanism would be needed to identify version level.<br>
Ian&#39;s build procedure on unix with Subversion works well for<br>
this, but I don&#39;t know how to do the equivalent on the git<br>
mirror. But I&#39;m not really familiar with git, so hopefully<br>
someone can suggest something here.<br>
<br></blockquote><div><br>For SVN you have the versions. Let say 2023. In Git, each commit has a commit hash, which looks something like: f3fe94c828f66cd0e7c37cfa3434e384ff65915e<br>You can look at them throught gitorious or by doing &quot;git log&quot;. Example:<br>
<br>;-) /usr/local/git/bin/git log<br><span style="background-color: rgb(255, 255, 51);">commit f3fe94c828f66cd0e7c37cfa3434e384ff65915e</span><br>Merge: 1af7478 f123973<br>Author: Esteban Lorenzano &lt;<a href="mailto:estebanlm@gmail.com">estebanlm@gmail.com</a>&gt;<br>
Date:   Mon Apr 4 08:46:21 2011 -0300<br><br>    Merge branch &#39;master&#39; of gitorious.org:cogvm/blessed into integration<br><br><span style="background-color: rgb(255, 255, 51);">commit f1239738a1f14f6f067465e71dc24fd84f5a041e</span><br>
Author: Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt;<br>Date:   Mon Apr 4 12:49:55 2011 +0200<br><br>    Merge branch &#39;master&#39; of gitorious.org:cogvm/blessed into svn-merge<br>    <br>
    Conflicts:<br>        image/VMMaker-Squeak4.1.changes<br>        platforms/iOS/vm/iPhone/iPhone.image<br>        platforms/unix/vm/sqUnixMain.c<br>        platforms/win32/vm/sqWin32Window.c<br>        src/plugins/ADPCMCodecPlugin/ADPCMCodecPlugin.c<br>
        src/plugins/HostWindowPlugin/HostWindowPlugin.c<br>        src/plugins/SoundGenerationPlugin/SoundGenerationPlugin.c<br>        src/plugins/SoundPlugin/SoundPlugin.c<br>        src/plugins/SqueakFFIPrims/SqueakFFIPrims.c<br>
        src/vm/cointerp.c<br>        src/vm/cointerp.h<br>        src/vm/gcc3x-cointerp.c<br><br><span style="background-color: rgb(255, 255, 51);">commit 1af7478875b2d534c3b6cdc89d8244ff3ea4ec65</span><br>Author: Esteban Lorenzano &lt;<a href="mailto:estebanlm@gmail.com">estebanlm@gmail.com</a>&gt;<br>
Date:   Sun Apr 3 09:09:20 2011 -0300<br><br>    added LocalePlugin<br clear="all"><br><br><br><br>However, only the 4 first characters are usually enough to specify a version. So for example in Git you can do:<br><br>git ch<span style="background-color: rgb(255, 255, 255);">eckout <span style="background-color: rgb(255, 255, 51);">1af7</span>478875b2d534c3b6cdc89d8244ff3ea4ec65<br>
<br>or <br><br>git checkout 1af7</span><br><br>So...we can have the same as the SVN if we want. <br><br>Cheers<br></div></div><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
<br>