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