[squeak-dev] Squeak 6 git integration and updating

Tobias Pape Das.Linux at gmx.de
Wed Jul 27 06:30:22 UTC 2022

> On 27. Jul 2022, at 05:16, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> Hi,
>     I'm being told that the only way to keep an in-image version of a github package is to rebuild from scratch (a cruel joke).  How does one update?  The github-cache directory doesn't appear ot be a proper git clone so one can't try and pull into it.  Opening the "repository" from the Montivello browser shows only one version of the package (and indeed in the Monticello browser everything is versioned as tonel.1).  Am I seriously expected to rebuild an image every time I want to pull in a new commit?
> This is sad.

Its rather a deployment mode.

I figure that the github cache files come from the Metacello installation path.
That's expected.
If you want to "update", re-issue the installation snippet.
If you want to modify or commit, chose a different mode of accessing the repo.

What you experience is the Metacello-Equivalent of

	curl ..
	tar xzf ...

where there is equally no way to "go forward"

If the package you are dealing with comes from Squeak world, there's a good chance 
Sqot will deal with it.
If it comes from the Pharo world, it probably has been using Iceberg or so.
If it is compatible enough, the following will work:

	- git clone the repo to a location of your liking
	- add a "filetree" repository at that location
	- use git tools to add/modify/commit/push/pull, in lockstep with in-image tools:
		- when committing, FIRST commit in-image, THEN git add, git commit, git push
		- when pulling, FIRST git pull, THEN load in-image

There has been some extensions that automated these steps, but they have been abandoned in favor 
of Squot (Squeak) or Iceberg (Pharo) or Rowan (GemStone).

I hope this clears things up a bit.

Best regards

More information about the Squeak-dev mailing list