Hi Hilaire,

a BaselineOf is the same as a baseline method in a ConfigurationOf: a list of packages with their prerequisites and groups.

What the BaselineOf does not contain are methods describing versions with package versions and author names; instead, what a BaselineOf says is: fetch the latest(*) version(**) of each package I have listed in my baseline from the repository you found me in(***).

Thierry

(*) if there is more than one. With git, only one, with smalltalkhub, more than one.

(**) a repository is supposed to contain package versions, even if that version is -cypress.1 (metadata-less filetree).

(***) A repository here is a http one (i.e. smalltalkhub), a directory in a branch in git, a tag in git, a directory on disk, a ftp directory, etc...

PS: the power of Baselines + Git comes from the fact that you get a repository per branch / per tag.

PS2: it is possible to have multiple repositories, and rewrite as "latest version ... in the repositories... ". I have a use case or two for that feature.

Le 02/04/2018 à 15:46, Hilaire a écrit :
Hi Dale,

Sorry to reply very lately to your help email, I am getting slow on Pharo those those days.

I am afraid to be a bit out of sync: what is a BaselineOf? I only have a ConfigurationOfDrGeo and baseline methods into.

Hilaire


Le 18/01/2018 à 16:10, Dale Henrichs a écrit :

Hilaire,

Have you included a method in your BaselineOf that looks like this:

    projectClass

        ^ MetacelloCypressBaselineProject

if not, then what looks like a package-cache problem could be that you haven't told Metacello that you are using a metadataless filetree/tonel repository.

Metacello has an internal rule to not load Monticello packages of the same version, since they are already loaded. However, when using metadataless repositories the filetree/tonel Monticello package readers typically generate a package name using the author/version `-cypress.1`, which make Metacello think that the versions are the same and the package is not loaded ... by including the above method in your baselineof, Metacello will know to ignore the Monticello author/version of the package and always load it....

Of course, because Monticello only installs changed definitions when loading a package, "loading the same package over and over again" costs a little bit in loading the _definitions_ into the image from disk, but doesn't end up compiling any new methods or creating new classes ...

Dale

On 1/18/18 6:49 AM, Hilaire wrote:
It was a month ago; I don't remember the details but from what I can recover from my memory the scenario was:

- From my dev. environment I saved code through Tonel, in the DrGeo used CVS.

- When building, I specifically ask the code saved thought Tonel to be installed but the package-cache code version was used instead. It could be out of sync.


Le 18/01/2018 à 15:22, Dale Henrichs a écrit :
Hilaire,

Metacello just uses Monticello for loading and it is Monticello that is using the package-cache ... if there were a way to turn of the package-cache for Monticello I don't think that Metacello would know the difference.

But, I am curious why you care whether or not package is used?

Is there a specific problem that you are having?

Dale




Reply via email to