[Pharo-dev] identifying source of particular VM

Ben Coman btc at openinworld.com
Mon Jan 8 22:59:40 EST 2018

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 <astares at gmx.de> 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
$ 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,
$ git show 276a5ff
$ git checkout 276a5ff
now work as expected.
Later I found something related https://stackoverflow.com/

$ 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" <eliot.miranda at gmail.com>
> An: "Pharo Development List" <pharo-dev at lists.pharo.org>
> 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 <btc at openinworld.com[mailto:bt
> c at openinworld.com]> wrote:
> This filename of the VM download url... http://files.pharo.org/
> vm/pharo-spur64/linux/pharo-linux-x86_64threaded-20171221145
> 0-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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20180109/0e016039/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: opensmalltalk-network.png
Type: image/png
Size: 58271 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20180109/0e016039/attachment.png>

More information about the Pharo-dev mailing list