Nick,
When I try the experiment in a virgin Pharo1.3 image, the two expressions work as you expect ... with #load: an attempt is made to load just the Pier-Exporter-Code package and fails because none of the dependents are present.
So I assume that you must already have some Pier packages loaded in your image?
When you do a load of a particular version of a configuration _and_ you have packages from that project, then Metacello will attempt to load the correct versions of the packages that present in the image and that may trigger a "load of the whole Pier 3/Seaside 3 etc.).
So it looks like you've found a bug in record: ...
Dale
----- Original Message -----
| From: "Nick Ager" <
[hidden email]>
| To: "Metacello" <
[hidden email]>
| Sent: Monday, February 20, 2012 8:11:36 AM
| Subject: [Metacello] understanding difference between #record: and #load:
|
| Hi,
|
| I'm trying to debug ConfigurationOfPier3AddOns, when I execute:
|
| ((Smalltalk at: #ConfigurationOfPier3AddOns) project version:
| '3.0.1') record: 'Code-Exporter'
|
| I see what I expect:
| a MetacelloNullRecordingMCSpecLoader(linear load :
| linear load : 3.0.1 [ConfigurationOfPier3AddOns]
| load : Pier-Exporter-Code-NickAger.22)
|
| however when I execute the same but replace #record: with #load: the
| configuration kicks-off a load of the whole of Pier 3/Seaside 3 etc.
| not what I expect from my configuration. Is the 'default'
| configuration loaded anyway?
|
| The spec looks something like:
|
| spec
| repository: '
http://source.lukas-renggli.ch/pier3addons'.
| spec group: 'Code-Exporter' with: 'Pier-Exporter-Code'.
| spec package: 'Pier-Exporter-Code'. "no dependencies"
|
| Thanks
|
| Nick
|