[squeak-dev] The Inbox: Monticello-ul.442.mcz

Dale Henrichs dhenrich at vmware.com
Wed Mar 23 21:46:46 UTC 2011


Without getting into the nitty gritty of the changes here, I can't guess whether or not Metacello would be affected or not ... Metacello uses Gofer for most of it's interactions with Monticello, with only a few (ugly) places where Gofer didn't quite cut the mustard.

The upshot is that if the Gofer api doesn't change, then it is very possible that Metacello will continue to work without issues....If Metacello is affected I am very interested in fixing the problem(s) and I don't mind making platform specific changes.

I did the original "port" of Gofer to Squeak, but the changes at that time could be made in a common fashion. If Gofer is going to have to deal with a new class for Squeak, then it might be necessary to fork it...

Dale

On Mar 23, 2011, at 2:26 PM, Levente Uzonyi wrote:

> On Wed, 23 Mar 2011, Chris Muller wrote:
> 
>> I doesn't break MC itself, but the proper fix for external packages,
>> Gofer, Metacello, is to improve their code to operate on the new
>> first-class MCVersionNames; e.g., _they_ should send #versionName, if
>> they don't want the extension or ancestry info.
> 
> Those packages are maintained externally, they also work with Pharo and 
> Gemstone. Should we fork them?
> 
> 
> Levente
> 
>> 
>> VersionNames are now a first-class object, the idea is to get away
>> from the same String processing (copyUpTo: blah blah) sprinkled
>> everywhere.
>> 
>> - Chris
>> 
>> 
>> On Tue, Mar 22, 2011 at 12:12 AM,  <commits at source.squeak.org> wrote:
>>> A new version of Monticello was added to project The Inbox:
>>> http://source.squeak.org/inbox/Monticello-ul.442.mcz
>>> 
>>> ==================== Summary ====================
>>> 
>>> Name: Monticello-ul.442
>>> Author: ul
>>> Time: 20 March 2011, 5:30:01.846 am
>>> UUID: 14eda109-f1ba-4940-adb0-c48470081d21
>>> Ancestors: Monticello-ul.441
>>> 
>>> - reverted MCFileBasedRepository >> #allVersionNames, because it breaks quite a lot of stuff (like Gofer, Metacello, probably MC itself). The cause of the problem is that the   "file extensions" and previous versions in case of .mcds are not stripped from the result. Existing code concatenates the requested "file extension" to the end resulting in .mcz.mcz http requests which obviously fail.
>>> 
>>> =============== Diff against Monticello-ul.441 ===============
>>> 
>>> Item was changed:
>>>  ----- Method: MCFileBasedRepository>>allVersionNames (in category 'private-files') -----
>>>  allVersionNames
>>> +       ^ self readableFileNames collect: [:ea | (ea copyUpToLast: $.) copyUpTo: $(]!
>>> -       ^ self readableFileNames!
>>> 
>>> 
>>> 
>> 
> <ATT00001..txt>




More information about the Squeak-dev mailing list