[squeak-dev] The Trunk: Monticello-bf.449.mcz

Bert Freudenberg bert at freudenbergs.de
Tue Apr 5 10:52:50 UTC 2011


On 04.04.2011, at 19:24, Levente Uzonyi wrote:

> On Mon, 4 Apr 2011, commits at source.squeak.org wrote:
> 
>> Bert Freudenberg uploaded a new version of Monticello to project The Trunk:
>> http://source.squeak.org/trunk/Monticello-bf.449.mcz
>> 
>> ==================== Summary ====================
>> 
>> Name: Monticello-bf.449
>> Author: bf
>> Time: 4 April 2011, 6:35:26.515 pm
>> UUID: 69f9c68d-9545-44d1-905f-18f77f95cb59
>> Ancestors: Monticello-bf.448
>> 
>> - revert MCRepository>>highestNumberedVersionNameForPackageNamed:
>> - the argument is a package name, the additional stripping introduced in Monticello-ul.444 stripped off part of the package name
>> - this fixes installing via Installer
> 
> With this change we go back to the previous bug. Try the following:
> 
> (MCHttpRepository location: 'http://squeaksource.com/OCompletion') highestNumberedVersionNameForPackageNamed: 'Ocompletion-ul.94'
> 
> It will return nil, but the version is there.

The argument to highestNumberedVersionNameForPackageNamed: is a *package* name, not a version name, as the selector implies. You are just using it incorrectly.

> The same thing happens when #highestNumberedVersionNameForPackageNamed: is sent to this repository in InstallerMonticello >> #mcThing during the installation of OCompletion from SqueakMap.

> It's probably an Installer bug btw, but I've got no time to check it now.
> 
> 
> Levente

I encountered the problem in Installer, too. Here is how it is used:

(Installer ss project: 'SqueakSSL')
	install: 'SqueakSSL-Core';
	install: 'SqueakSSL-Tests'.

This correctly calls highestNumberedVersionNameForPackageNamed: passing 'SqueakSSL-Core' which works fine. Your version stripped off the '-Core' part which is obviously wrong.

If the Ocompletion script requests the version 'Ocompletion-ul.94', then this method should not even be invoked, it should just use that version, no?

Maybe the Ocompletion script is wrong (I did not check), or Installer needs to strip off the '-ul.94', or the version name parser needs to be more intelligent about recognizing versions vs. packages. But this method needs to work if it is passed a correct package name, and that's why I reverted it.

- Bert -


>> 
>> =============== Diff against Monticello-bf.448 ===============
>> 
>> Item was changed:
>> ----- Method: MCRepository>>highestNumberedVersionNameForPackageNamed: (in category 'versions') -----
>> highestNumberedVersionNameForPackageNamed: aString
>> + 	^ (self versionNamesForPackageNamed: aString)
>> - 	^ (self versionNamesForPackageNamed: aString asMCVersionName packageName)
>> 		ifNil: [ self error: aString , ' not found in ' , self asString ]
>> 		ifNotNilDo:
>> 			[ : pkg | pkg detectMax:
>> 				[ : each | each versionNumber ] ]!
>> 
>> 
>> 
> 





More information about the Squeak-dev mailing list