[Glass] Metacello baseline 'get' does not work?
Johan Brichau
johan at yesplan.be
Thu Apr 20 03:16:35 PDT 2023
Hi all,
A Metacello question, but related to updated a git-based codebase in a GemStone repository:
We are loading and updating our project using Metacello from a (local) filetree repository.
The Metacello script is a class method `loadScript` implemented on the baseline class. So, we load and update our code (basically) using the following code in a topaz:
Metacello new
baseline:'Yesplan';
repository: 'filetree:///home/yesplan/localrepositories/Yesplan/smalltalk-src';
get.
BaselineOfYesplan loadScript.
The `loadScript` is again a `Metacello new …` where all appropriate properties for loading are set (using the Metacello scripting API).
We do a pull on the filetree repository outside of this script using bash scripts.
This works well, except when we make a change to the `BaselineOfYesplan` baseline class… when we do this, the change is not loaded by the `get` command.
Instead, the change to `BaselineOfYesplan` is only loaded as part of the `loadScript`. This is not desired because we want to use the version of the `BaselineOfYesplan` of the same commit to load that commit.
The only way we can make this work is by adding a load step using Gofer before the `loadScript`:
Gofer new
repository: (MCRepositoryGroup default repositories detect: [ :repository |repository description = 'filetree:///home/yesplan/localrepositories/Yesplan/smalltalk-src' ]);
package: 'BaselineOfYesplan';
load
However, I was under the impression that `Metacello get` is supposed to load the updated `BaselineOf` ?
I tried using a `flushCache` on the `MCFileTreeRepository` instance before the `Metacello get` but that did not change anything.
Any ideas if this is a bug? Should work? Do I do it wrong?
Thanks
Johan
More information about the Glass
mailing list