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! |
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. 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, <[hidden email]> 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! > > > |
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, <[hidden email]> 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! >> >> >> > > |
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, <[hidden email]> 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> |
In reply to this post by Levente Uzonyi-2
My understanding is that the Pharo community is interested in adopting
these Monticello improvements too. Once that occurs, Gofer and/or Metacello should be updated accordingly. 2011/3/23 Levente Uzonyi <[hidden email]>: > 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, <[hidden email]> 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! >>> >>> >>> >> > > > > |
El mié, 23-03-2011 a las 17:03 -0500, Chris Muller escribió:
> My understanding is that the Pharo community is interested in adopting > these Monticello improvements too. Once that occurs, Gofer and/or > Metacello should be updated accordingly. Yes, there is a ticket for integrating the changes from Chris to MC in the Pharo version. This changes will also be harvested. Is in the interest of both communities to have the same MC in order to allow cross loading of packages in both Squeak and Pharo images. > > > 2011/3/23 Levente Uzonyi <[hidden email]>: > > 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, <[hidden email]> 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! > >>> > >>> > >>> > >> > > > > > > > > > -- Miguel Cobá http://twitter.com/MiguelCobaMtz http://miguel.leugim.com.mx |
Free forum by Nabble | Edit this page |