identifying source of particular VM

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

identifying source of particular VM

Ben Coman
This filename of the VM download url... 
http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip

includes a hash "276a5ff" that I presumed identified the opensmalltalk-vm 
commit from which this VM was built. i.e. so I could check that out if I wanted to compile a debug version of that VM.

However...
$ git checkout 276a5ff
says... error: pathspec '276a5ff' did not match any file(s) known to git.

so what exactly is that hash 276a5ff in the filename?

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: identifying source of particular VM

Eliot Miranda-2
Hi Ben,

    I think that the hash is indeed that if a commit. And I thought someone had written a script to find the commit from the hash.  Alternatively you could look at the various system attributes the Squeak vm uses to identify itself.  I *think* the Pharo vm has the same info baked in.  In particular there should be the date of the commit.

_,,,^..^,,,_ (phone)

On Jan 8, 2018, at 6:36 AM, Ben Coman <[hidden email]> wrote:

This filename of the VM download url... 
http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip

includes a hash "276a5ff" that I presumed identified the opensmalltalk-vm 
commit from which this VM was built. i.e. so I could check that out if I wanted to compile a debug version of that VM.

However...
$ git checkout 276a5ff
says... error: pathspec '276a5ff' did not match any file(s) known to git.

so what exactly is that hash 276a5ff in the filename?

cheers -ben
Reply | Threaded
Open this post in threaded view
|

Re: identifying source of particular VM

alistairgrant
On 8 January 2018 at 19:45, Eliot Miranda <[hidden email]> wrote:
> Hi Ben,
>
>     I think that the hash is indeed that if a commit. And I thought someone
> had written a script to find the commit from the hash.  Alternatively you
> could look at the various system attributes the Squeak vm uses to identify
> itself.  I *think* the Pharo vm has the same info baked in.  In particular
> there should be the date of the commit.

E.g.:

$ pharo7 --version
5.0-201712221331  Tuesday 26 December  14:19:31 CET 2017 gcc 4.8.5
[Production Spur 64-bit VM]
CoInterpreter VMMaker.oscog-eem.2302 uuid:
55ec8f63-cdbe-4e79-8f22-48fdea585b88 Dec 26 2017
StackToRegisterMappingCogit VMMaker.oscog-eem.2302 uuid:
55ec8f63-cdbe-4e79-8f22-48fdea585b88 Dec 26 2017
VM: 201712221331
alistair@alistair-xps13:snap/pharo-snap/pharo-vm/opensmalltalk-vm $
Date: Fri Dec 22 14:31:01 2017 +0100 $
Plugins: 201712221331
alistair@alistair-xps13:snap/pharo-snap/pharo-vm/opensmalltalk-vm $
Linux cbc086ddd661 4.10.0-42-generic #46~16.04.1-Ubuntu SMP Mon Dec 4
15:57:59 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
plugin path: /snap/pharo7/x1/usr/bin/pharo-vm/5.0-201712221331
[default: /snap/pharo7/x1/usr/bin/pharo-vm/5.0-201712221331/]


$ scripts/checkoutVMbyDate 'Fri Dec 22 14:31:01 2017 +0100'
Searching for date: (Fri Dec 22 14:31:01 2017 +0100)
Note: checking out 'ec439f18e994309de62f64c23b48e35920633f39'.
...


Cheers,
Alistair





> _,,,^..^,,,_ (phone)
>
> On Jan 8, 2018, at 6:36 AM, Ben Coman <[hidden email]> wrote:
>
> This filename of the VM download url...
> http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip
>
> includes a hash "276a5ff" that I presumed identified the opensmalltalk-vm
> commit from which this VM was built. i.e. so I could check that out if I
> wanted to compile a debug version of that VM.
>
> However...
> $ git checkout 276a5ff
> says... error: pathspec '276a5ff' did not match any file(s) known to git.
>
> so what exactly is that hash 276a5ff in the filename?
>
> cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: identifying source of particular VM

Torsten Bergmann
In reply to this post by Eliot Miranda-2
Hi Ben,
 
it is the "short" commit hash from the official OpenSmalltalk github repo so you can reproduce the "VM" build easily:
 
 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/276a5ff

 
From Pharo 7 onwards now also the "image" is completely bootstrapped - you also have a commit hash
for the image to reproduce the image build/commit:

   https://github.com/pharo-project/pharo/commits/53eba94
 
Some details for the image hash can be found here:
http://forum.world.st/SystemVersion-cleanup-or-the-return-of-the-explicit-build-number-in-latest-Pharo-7-td4977073.html
 
We meanwhile also restored the image build number, so you can load the image with PharoLauncher with the
build number again. The latest is 70414 as of today which mean Pharo 7, Build 414.
You can go to "http://wiki.astares.com/pharo/30" and click on "alpha" to visit the Pharo CI for the build number.

Side note: From some of you last posts I see you still struggling with git or Iceberg issues. Had similar trouble in the beginning when
                Pharo process was switched to git and Iceberg was introduced. Because I tried always to compare with/tried to apply what
                I knew from VisualSourceSafe, ClearCase, SVN, Envy, Monticello, ... and many other VCS systems that I used before.

                So I bought the "Pro Git" from Apress book which helped me a lot understanding "git" (also some internals) first.
                I can really recommend to study it. It will safe you a lot of pain.

                You can find it on the web too:
                    https://git-scm.com/book/en/v1 (first version)
                    https://git-scm.com/book/en/v2 (new version)

Bye
T.
 
 

Gesendet: Montag, 08. Januar 2018 um 19:45 Uhr
Von: "Eliot Miranda" <[hidden email]>
An: "Pharo Development List" <[hidden email]>
Betreff: Re: [Pharo-dev] identifying source of particular VM

Hi Ben,
 
    I think that the hash is indeed that if a commit. And I thought someone had written a script to find the commit from the hash.  Alternatively you could look at the various system attributes the Squeak vm uses to identify itself.  I *think* the Pharo vm has the same info baked in.  In particular there should be the date of the commit.

_,,,^..^,,,_ (phone)
On Jan 8, 2018, at 6:36 AM, Ben Coman <[hidden email][mailto:[hidden email]]> wrote:
 

This filename of the VM download url... http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip[http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip]
 
includes a hash "276a5ff" that I presumed identified the opensmalltalk-vm 
commit from which this VM was built. i.e. so I could check that out if I wanted to compile a debug version of that VM.
 
However...
$ git checkout 276a5ff
says... error: pathspec '276a5ff' did not match any file(s) known to git.
 
so what exactly is that hash 276a5ff in the filename?
 
cheers -ben

Reply | Threaded
Open this post in threaded view
|

Re: identifying source of particular VM

Ben Coman
TLDR; Both my opensmalltalk and pharo git problems were essentially trying to work with a kind of "stale" repo.
Taking fresh fork/clone of each seems to have fixed everything.

On 9 January 2018 at 03:43, Torsten Bergmann <[hidden email]> wrote:
Hi Ben,
 
it is the "short" commit hash from the official OpenSmalltalk github repo so you can reproduce the "VM" build easily:
 
 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/276a5ff

Thanks. That confirmed understanding to allow me to attack the real problem.
Part of my problem was that I presumed that our Pharo VMs were being built from the tip, so...
$ git fetch -all
$ git show 276a5ff
$ git log origin/Cog | grep 276a5ff
$ git checkout 276a5ff
would show something, but they were not.

Turns out something was broken. Trying to look at branches of the remote origin...
$ get fetch -all
$ git branch -rv
was only showing two branches local "Cog" and "origin/Cog".  I can't tell why, since its been a while since I've played in this git repo folder.  Perhaps previously I experimented with --single-branch.  Now after blowing away the folder and recloning "git branch -rv" now shows two dozen branch,
and 
$ git show 276a5ff
$ git checkout 276a5ff
now work as expected.

Interestingly 
$ git log origin/Cog | grep 276a5ff
still doesn't show anything since it hasn't been integrated with the Cog branch (see attached pic).  

 
From Pharo 7 onwards now also the "image" is completely bootstrapped - you also have a commit hash
for the image to reproduce the image build/commit:

   https://github.com/pharo-project/pharo/commits/53eba94
 
Some details for the image hash can be found here:
http://forum.world.st/SystemVersion-cleanup-or-the-return-of-the-explicit-build-number-in-latest-Pharo-7-td4977073.html
 
We meanwhile also restored the image build number, so you can load the image with PharoLauncher with the
build number again. The latest is 70414 as of today which mean Pharo 7, Build 414.

Its good to have both simple human parsable build number and hash reference.
My thanks to those that fixed that and PharoLauncher.  Its become usable for Pharo 7.

 
You can go to "http://wiki.astares.com/pharo/30" and click on "alpha" to visit the Pharo CI for the build number.

Side note: From some of you last posts I see you still struggling with git or Iceberg issues.

I think I finally figured this out.  It seems I was confounding things from having an old "pharo" repo on github
cloned before there was a "development" branch.  So after Iceberg cloned "pharo" its default branch was "master"
rather than "development" and (in hindsight) of course would not synchronise with the Pharo mainline "development" branch
per the presented contribution workflow.  After blowing away my "pharo" fork on github and reforking,
everything went smoothly.  

Also, some terms like "Synchronise" are not standard git terms, 
so trying to understand their semantics in the face of that confounding behaviour didn't help my confidence at the time.

cheers -ben

 
Had similar trouble in the beginning when
                Pharo process was switched to git and Iceberg was introduced. Because I tried always to compare with/tried to apply what
                I knew from VisualSourceSafe, ClearCase, SVN, Envy, Monticello, ... and many other VCS systems that I used before.

                So I bought the "Pro Git" from Apress book which helped me a lot understanding "git" (also some internals) first.
                I can really recommend to study it. It will safe you a lot of pain.

                You can find it on the web too:
                    https://git-scm.com/book/en/v1 (first version)
                    https://git-scm.com/book/en/v2 (new version)

Bye
T.
 
 

Gesendet: Montag, 08. Januar 2018 um 19:45 Uhr
Von: "Eliot Miranda" <[hidden email]>
An: "Pharo Development List" <[hidden email]>
Betreff: Re: [Pharo-dev] identifying source of particular VM

Hi Ben,
 
    I think that the hash is indeed that if a commit. And I thought someone had written a script to find the commit from the hash.  Alternatively you could look at the various system attributes the Squeak vm uses to identify itself.  I *think* the Pharo vm has the same info baked in.  In particular there should be the date of the commit.

_,,,^..^,,,_ (phone)
On Jan 8, 2018, at 6:36 AM, Ben Coman <[hidden email][mailto:[hidden email]]> wrote:
 

This filename of the VM download url... http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip[http://files.pharo.org/vm/pharo-spur64/linux/pharo-linux-x86_64threaded-201712211450-276a5ff.zip]
 
includes a hash "276a5ff" that I presumed identified the opensmalltalk-vm 
commit from which this VM was built. i.e. so I could check that out if I wanted to compile a debug version of that VM.
 
However...
$ git checkout 276a5ff
says... error: pathspec '276a5ff' did not match any file(s) known to git.
 
so what exactly is that hash 276a5ff in the filename?
 
cheers -ben



opensmalltalk-network.png (77K) Download Attachment