Pharo-users
By thread
pharo-users@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
April 2018
- 77 participants
- 565 messages
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Thierry Goubier
Beware, I have not yet ported the fixes on the pharo7.0_dev branch.
Will do it now.
If I manage to get the zero-conf script to work...
Thierry
Le 05/04/2018 à 17:12, Sean P. DeNigris a écrit :
> Rafael Luque wrote
>> This is what I call an express super support service.
>
> :)
>
>
>
> -----
> Cheers,
> Sean
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
April 5, 2018
installation of packages on 6.1
by Baveco, Hans
Trying to install Territorial the installation got stuck on the installation of Roassal2 1.35, with error "LGitObjectNotInitialized"
Transcript says:
"Project: Roassal2 1.35
I got an error while cloning: There was an authentication error while trying to execute the operation: error authenticating: failed connecting agent.
This happens usually because you didn't provide a valid set of credentials.
You may fix this problem in different ways:
1. adding your keys to ssh-agent, executing ssh-add ~/.ssh/id_rsa in your command line.
2. adding your keys in settings (open settings browser search for "Use custom SSH keys" and
add your public and private keys).
3. using HTTPS instead SSH (Just use an url in the form HTTPS://etc.git) I will try to clone the HTTPS variant."
I have encountered this several times before, for different packages (on windows 7, pharo 6.1 (Image: Pharo6.0 [Latest update: #60540])) and have no idea how to deal with this.
Any suggestions?
Hans
April 5, 2018
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Sean P. DeNigris
Rafael Luque wrote
> This is what I call an express super support service.
:)
-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
April 5, 2018
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Thierry Goubier
2018-04-05 15:53 GMT+02:00 Rafael Luque <rafael.luque.leiva(a)gmail.com>:
> Thierry, it work like a charm.
>
> This is what I call an express super support service.
> Thank you!!
Thank you as well for testing it :)
Thierry
> 2018-04-05 12:28 GMT+00:00 Thierry Goubier <thierry.goubier(a)gmail.com>:
>>
>> Hi Raphaël,
>>
>> I've pushed a fix on the first count (ConfigurationOfGitFileTree
>> refers to the stable pharo6.0 branch) and I've
>> added a fix on the pharo6.0_dev branch (which is an almost complete
>> rewrite of the metadata-less filetree
>> write, with probably significant performance gains).
>>
>> Just tell me if it works for you.
>>
>> Thierry
>>
>> 2018-04-05 14:03 GMT+02:00 Thierry Goubier <thierry.goubier(a)gmail.com>:
>> > Hi Raphaël,
>> >
>> > I'll have a look and change the branch to be the pharo6.0 (and non
>> > _dev for now).
>> >
>> > Regards,
>> >
>> > Thierry
>> >
>> > 2018-04-05 11:58 GMT+02:00 Rafael Luque <rafael.luque.leiva(a)gmail.com>:
>> >> Hello all,
>> >>
>> >> I'm getting the below error each time a try to commit changes in Traits
>> >> in a
>> >> project that uses GitFileTree and Pharo 6.0.
>> >>
>> >> I've noticed that ConfigurationOfGitFileTree loads (for Pharo 6.0)
>> >> FileTree
>> >> from:
>> >>
>> >> github://dalehenrich/filetree:pharo6.0_dev/repository/
>> >>
>> >> If I update to use the "pharo6.0" branch instead of "pharo6.0_dev" then
>> >> I
>> >> can commit the changes without error.
>> >>
>> >> By the way, should not the "stable" version of GitFileTree depends on
>> >> an
>> >> stable branch of FileTree, instead of the development branch?
>> >>
>> >> This is the stack trace of the error I get:
>> >>
>> >> =====
>> >>
>> >> UndefinedObject(Object)>>doesNotUnderstand: #select:thenCollect:
>> >> MCTraitDefinition(MCClassDefinition)>>selectVariables:
>> >> MCTraitDefinition(MCClassDefinition)>>instVarNames
>> >> MCGitFileTreeWriter>>buildClassDefinition:
>> >> MCGitFileTreeWriter>>writeClassDefinition:in:
>> >> [ :each |
>> >> self
>> >> writeClassDefinition: each
>> >> in: aPackagePath , '/' , each className , '.class' ] in
>> >> MCGitFileTreeWriter>>writeClassDefinitions:in:
>> >> OrderedCollection>>do:
>> >> MCGitFileTreeWriter>>writeClassDefinitions:in:
>> >> [ :job |
>> >> job title: 'Building snapshot'.
>> >> orderedDefinitions := MCDependencySorter
>> >> sortItems: aSnapshot definitions.
>> >> job progress: 0.1.
>> >> classDefinitions := orderedDefinitions
>> >> select: [ :e | e isKindOf: MCClassDefinition ].
>> >> traitDefinitions := orderedDefinitions
>> >> select: [ :e |
>> >> (e isKindOf: MCTraitDefinition)
>> >> or: [ e isKindOf: MCClassTraitDefinition ] ].
>> >> classAndTraitNames := (classDefinitions , traitDefinitions
>> >> collect: [ :e | e className ]) asSet.
>> >> job progress: 0.2.
>> >> methodDefinitions := orderedDefinitions
>> >> select: [ :e |
>> >> (e isKindOf: MCMethodDefinition)
>> >> and: [ classAndTraitNames includes: e className ] ].
>> >> extensionMethodDefinitions := orderedDefinitions
>> >> select: [ :e |
>> >> (e isKindOf: MCMethodDefinition)
>> >> and: [ (classAndTraitNames includes: e className) not ] ].
>> >> organization := orderedDefinitions
>> >> select: [ :e | e isKindOf: MCOrganizationDefinition ].
>> >> extensionClasses := (extensionMethodDefinitions
>> >> collect: [ :e | e className ]) asSet.
>> >> job progress: 0.3.
>> >> self outputFileDelete: aPackagePath.
>> >> self writePackageGitPropertiesIn: aPackagePath.
>> >> self writeOrganization: organization in: aPackagePath.
>> >> job progress: 0.4.
>> >> self writeClassDefinitions: classDefinitions in: aPackagePath.
>> >> self writeTraitDefinitions: traitDefinitions in: aPackagePath.
>> >> job progress: 0.5.
>> >> self writeMethodDefinitions: methodDefinitions in: aPackagePath.
>> >> job progress: 0.6.
>> >> self writeExtensionClassDefinitions: extensionClasses in: aPackagePath.
>> >> self
>> >> writeExtensionMethodDefinitions: extensionMethodDefinitions
>> >> in: aPackagePath.
>> >> job progress: 0.7.
>> >> self writeInitializers: methodDefinitions in: aPackagePath ] in
>> >> MCGitFileTreeWriter>>writeSnapshot:in:
>> >> BlockClosure>>cull:
>> >> [ ^ block cull: self ] in [ self prepareForRunning.
>> >> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
>> >> [ activeProcess psValueAt: index put: anObject.
>> >> aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
>> >> BlockClosure>>ensure:
>> >> CurrentJob(DynamicVariable)>>value:during:
>> >> CurrentJob class(DynamicVariable class)>>value:during:
>> >> [ self prepareForRunning.
>> >> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
>> >> BlockClosure>>ensure:
>> >> Job>>run
>> >> MCGitFileTreeWriter>>writeSnapshot:in:
>> >> [ :each |
>> >> | packageDir |
>> >> packageDir := subDirectoryString , each package name , '.package'.
>> >> aWriter writeSnapshot: each snapshot in: packageDir.
>> >> aWriter
>> >> outputFileModify: packageDir , '/monticello.meta/package'
>> >> with: '(name ''' , each package name , ''')'.
>> >> aWriter writeDependencies: each dependencies in: packageDir ] in
>> >> MCGitFileTreeWriter class>>fileOutAll:on:
>> >> OrderedCollection>>do:
>> >> MCGitFileTreeWriter class>>fileOutAll:on:
>> >> MCFileTreeGitRepository>>fiStoreVersions:
>> >> MCFileTreeGitRepository>>fiStoreVersion:
>> >> MCFileTreeGitRepository>>basicStoreVersion:
>> >> MCFileTreeGitRepository(MCRepository)>>storeVersion:
>> >> MCFileTreeGitRepository(MCFileBasedRepository)>>storeVersion:
>> >> MCWorkingCopyBrowser>>storeVersion:in:
>> >> [ self
>> >> storeVersion: newVersion in: aRepository;
>> >> storeDependencies: newVersion in: aRepository ] in [ [ self
>> >> storeVersion: newVersion in: aRepository;
>> >> storeDependencies: newVersion in: aRepository ]
>> >> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
>> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> >> BlockClosure>>ensure:
>> >> [ [ self
>> >> storeVersion: newVersion in: aRepository;
>> >> storeDependencies: newVersion in: aRepository ]
>> >> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
>> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> >> BlockClosure>>ensure:
>> >> CursorWithMask(Cursor)>>showWhile:
>> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> >> [ self basicSaveVersionIn: self repository ] in
>> >> MCWorkingCopyBrowser>>saveVersion
>> >> [ self value.
>> >> Processor terminateActive ] in BlockClosure>>newProcess
>> >>
>> >>
>> >> ====
>> >>
>> >> Thank you in advance.
>> >>
>> >>
>> >>
>>
>
April 5, 2018
Re: [Pharo-users] Slower
by phil@highoctane.be
On Thu, Apr 5, 2018, 16:09 Henrik Sperre Johansen <
henrik.s.johansen(a)veloxit.no> wrote:
> HilaireFernandes wrote
> > After some more investigation, I think it is not the greated bottleneck.
> >
> > When I render points not as discs but as Square, Athens is happy. I
> > guess the Cairo way of doing this is very slow because its seems Cairo
> > does not come with dedicated disc rendering code, it must be render with
> > portion of arc, as far as I remember.
> >
> > If I prevent to render empty text label attached with each point, Athens
> > is even happier. Text font rendering through Athens seems to be slow.
> >
> > Hilaire
> >
> >
> > Le 04/04/2018 à 23:05, Hilaire a écrit :
> >> It reduces by 50% the time to execution. Need to check if this trick
> >> #1 and #2 are still needed at P7 time.
> >
> > --
> > Dr. Geo
> > http://drgeo.eu
>
> My notes after looking at the profile for a short while, if anyone feels
> the
> urge to optimize;
> UFFI:
>
> > 8.8% {11475ms}
> >
> CairoFreetypeFontRenderer>>convertString:len:ofFont:toGlyphs:numGlyphs:x:y:
> > | 4.7% {6098ms} ExternalAddress>>packToArity:
> > | 4.5% {5789ms} ExternalAddress>>pointerAutoRelease
> > | 2.6% {3439ms} ExternalAddress>>unpackFromArity:
>
> The lifespan of arguments that need arity packing/unpacking is well known,
> rewriting to use explicit free should lessen the overhead somewhat.
>
> CAIRO:
>
> > 26.6% {34593ms} CairoFreetypeFontRenderer>>glyphsOf:from:to:
> > | 12.2% {15842ms} CairoGlyphsArray class>>new:
>
> With this kind of overhead just to create the array to hold results, it
> might be worthwhile to use a buffer array (of sufficient size) for the
> primitive, and copyFrom:to: to return the actual glyphs...
>
> DRGEO:
>
> > 20.9% {27116ms} DrGPointMorph>>drawOnAthensCanvas:
> > |16.7% {21720ms} AthensCairoCanvas(AthensCanvas)>>createPath:
>
> Storing the path in DrGPointMorph, rather than recreating for each draw:,
> should save alot of time.
>
>
> > 7.7% {9962ms} DrGTextMorph>>drawOnAthensCanvas:
> > | 7.7% {9962ms} Form>>asAthensPaintOn:
>
> Same thing here, only storing the paint, rather than converting from form
> each draw.
>
This would also be beneficial to Roassal when zooming in and out of
vusualization with a ton of labels.
Phil
>
> Cheers,
> Henry
>
>
>
> --
> Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
>
>
>
April 5, 2018
Re: [Pharo-users] Slower
by Henrik Sperre Johansen
HilaireFernandes wrote
> After some more investigation, I think it is not the greated bottleneck.
>
> When I render points not as discs but as Square, Athens is happy. I
> guess the Cairo way of doing this is very slow because its seems Cairo
> does not come with dedicated disc rendering code, it must be render with
> portion of arc, as far as I remember.
>
> If I prevent to render empty text label attached with each point, Athens
> is even happier. Text font rendering through Athens seems to be slow.
>
> Hilaire
>
>
> Le 04/04/2018 à 23:05, Hilaire a écrit :
>> It reduces by 50% the time to execution. Need to check if this trick
>> #1 and #2 are still needed at P7 time.
>
> --
> Dr. Geo
> http://drgeo.eu
My notes after looking at the profile for a short while, if anyone feels the
urge to optimize;
UFFI:
> 8.8% {11475ms}
> CairoFreetypeFontRenderer>>convertString:len:ofFont:toGlyphs:numGlyphs:x:y:
> | 4.7% {6098ms} ExternalAddress>>packToArity:
> | 4.5% {5789ms} ExternalAddress>>pointerAutoRelease
> | 2.6% {3439ms} ExternalAddress>>unpackFromArity:
The lifespan of arguments that need arity packing/unpacking is well known,
rewriting to use explicit free should lessen the overhead somewhat.
CAIRO:
> 26.6% {34593ms} CairoFreetypeFontRenderer>>glyphsOf:from:to:
> | 12.2% {15842ms} CairoGlyphsArray class>>new:
With this kind of overhead just to create the array to hold results, it
might be worthwhile to use a buffer array (of sufficient size) for the
primitive, and copyFrom:to: to return the actual glyphs...
DRGEO:
> 20.9% {27116ms} DrGPointMorph>>drawOnAthensCanvas:
> |16.7% {21720ms} AthensCairoCanvas(AthensCanvas)>>createPath:
Storing the path in DrGPointMorph, rather than recreating for each draw:,
should save alot of time.
> 7.7% {9962ms} DrGTextMorph>>drawOnAthensCanvas:
> | 7.7% {9962ms} Form>>asAthensPaintOn:
Same thing here, only storing the paint, rather than converting from form
each draw.
Cheers,
Henry
--
Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html
April 5, 2018
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Rafael Luque
Thierry, it work like a charm.
This is what I call an express super support service.
Thank you!!
2018-04-05 12:28 GMT+00:00 Thierry Goubier <thierry.goubier(a)gmail.com>:
> Hi Raphaël,
>
> I've pushed a fix on the first count (ConfigurationOfGitFileTree
> refers to the stable pharo6.0 branch) and I've
> added a fix on the pharo6.0_dev branch (which is an almost complete
> rewrite of the metadata-less filetree
> write, with probably significant performance gains).
>
> Just tell me if it works for you.
>
> Thierry
>
> 2018-04-05 14:03 GMT+02:00 Thierry Goubier <thierry.goubier(a)gmail.com>:
> > Hi Raphaël,
> >
> > I'll have a look and change the branch to be the pharo6.0 (and non
> > _dev for now).
> >
> > Regards,
> >
> > Thierry
> >
> > 2018-04-05 11:58 GMT+02:00 Rafael Luque <rafael.luque.leiva(a)gmail.com>:
> >> Hello all,
> >>
> >> I'm getting the below error each time a try to commit changes in Traits
> in a
> >> project that uses GitFileTree and Pharo 6.0.
> >>
> >> I've noticed that ConfigurationOfGitFileTree loads (for Pharo 6.0)
> FileTree
> >> from:
> >>
> >> github://dalehenrich/filetree:pharo6.0_dev/repository/
> >>
> >> If I update to use the "pharo6.0" branch instead of "pharo6.0_dev" then
> I
> >> can commit the changes without error.
> >>
> >> By the way, should not the "stable" version of GitFileTree depends on an
> >> stable branch of FileTree, instead of the development branch?
> >>
> >> This is the stack trace of the error I get:
> >>
> >> =====
> >>
> >> UndefinedObject(Object)>>doesNotUnderstand: #select:thenCollect:
> >> MCTraitDefinition(MCClassDefinition)>>selectVariables:
> >> MCTraitDefinition(MCClassDefinition)>>instVarNames
> >> MCGitFileTreeWriter>>buildClassDefinition:
> >> MCGitFileTreeWriter>>writeClassDefinition:in:
> >> [ :each |
> >> self
> >> writeClassDefinition: each
> >> in: aPackagePath , '/' , each className , '.class' ] in
> >> MCGitFileTreeWriter>>writeClassDefinitions:in:
> >> OrderedCollection>>do:
> >> MCGitFileTreeWriter>>writeClassDefinitions:in:
> >> [ :job |
> >> job title: 'Building snapshot'.
> >> orderedDefinitions := MCDependencySorter
> >> sortItems: aSnapshot definitions.
> >> job progress: 0.1.
> >> classDefinitions := orderedDefinitions
> >> select: [ :e | e isKindOf: MCClassDefinition ].
> >> traitDefinitions := orderedDefinitions
> >> select: [ :e |
> >> (e isKindOf: MCTraitDefinition)
> >> or: [ e isKindOf: MCClassTraitDefinition ] ].
> >> classAndTraitNames := (classDefinitions , traitDefinitions
> >> collect: [ :e | e className ]) asSet.
> >> job progress: 0.2.
> >> methodDefinitions := orderedDefinitions
> >> select: [ :e |
> >> (e isKindOf: MCMethodDefinition)
> >> and: [ classAndTraitNames includes: e className ] ].
> >> extensionMethodDefinitions := orderedDefinitions
> >> select: [ :e |
> >> (e isKindOf: MCMethodDefinition)
> >> and: [ (classAndTraitNames includes: e className) not ] ].
> >> organization := orderedDefinitions
> >> select: [ :e | e isKindOf: MCOrganizationDefinition ].
> >> extensionClasses := (extensionMethodDefinitions
> >> collect: [ :e | e className ]) asSet.
> >> job progress: 0.3.
> >> self outputFileDelete: aPackagePath.
> >> self writePackageGitPropertiesIn: aPackagePath.
> >> self writeOrganization: organization in: aPackagePath.
> >> job progress: 0.4.
> >> self writeClassDefinitions: classDefinitions in: aPackagePath.
> >> self writeTraitDefinitions: traitDefinitions in: aPackagePath.
> >> job progress: 0.5.
> >> self writeMethodDefinitions: methodDefinitions in: aPackagePath.
> >> job progress: 0.6.
> >> self writeExtensionClassDefinitions: extensionClasses in: aPackagePath.
> >> self
> >> writeExtensionMethodDefinitions: extensionMethodDefinitions
> >> in: aPackagePath.
> >> job progress: 0.7.
> >> self writeInitializers: methodDefinitions in: aPackagePath ] in
> >> MCGitFileTreeWriter>>writeSnapshot:in:
> >> BlockClosure>>cull:
> >> [ ^ block cull: self ] in [ self prepareForRunning.
> >> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
> >> [ activeProcess psValueAt: index put: anObject.
> >> aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
> >> BlockClosure>>ensure:
> >> CurrentJob(DynamicVariable)>>value:during:
> >> CurrentJob class(DynamicVariable class)>>value:during:
> >> [ self prepareForRunning.
> >> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
> >> BlockClosure>>ensure:
> >> Job>>run
> >> MCGitFileTreeWriter>>writeSnapshot:in:
> >> [ :each |
> >> | packageDir |
> >> packageDir := subDirectoryString , each package name , '.package'.
> >> aWriter writeSnapshot: each snapshot in: packageDir.
> >> aWriter
> >> outputFileModify: packageDir , '/monticello.meta/package'
> >> with: '(name ''' , each package name , ''')'.
> >> aWriter writeDependencies: each dependencies in: packageDir ] in
> >> MCGitFileTreeWriter class>>fileOutAll:on:
> >> OrderedCollection>>do:
> >> MCGitFileTreeWriter class>>fileOutAll:on:
> >> MCFileTreeGitRepository>>fiStoreVersions:
> >> MCFileTreeGitRepository>>fiStoreVersion:
> >> MCFileTreeGitRepository>>basicStoreVersion:
> >> MCFileTreeGitRepository(MCRepository)>>storeVersion:
> >> MCFileTreeGitRepository(MCFileBasedRepository)>>storeVersion:
> >> MCWorkingCopyBrowser>>storeVersion:in:
> >> [ self
> >> storeVersion: newVersion in: aRepository;
> >> storeDependencies: newVersion in: aRepository ] in [ [ self
> >> storeVersion: newVersion in: aRepository;
> >> storeDependencies: newVersion in: aRepository ]
> >> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
> >> BlockClosure>>ensure:
> >> [ [ self
> >> storeVersion: newVersion in: aRepository;
> >> storeDependencies: newVersion in: aRepository ]
> >> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
> >> BlockClosure>>ensure:
> >> CursorWithMask(Cursor)>>showWhile:
> >> MCWorkingCopyBrowser>>basicSaveVersionIn:
> >> [ self basicSaveVersionIn: self repository ] in
> >> MCWorkingCopyBrowser>>saveVersion
> >> [ self value.
> >> Processor terminateActive ] in BlockClosure>>newProcess
> >>
> >>
> >> ====
> >>
> >> Thank you in advance.
> >>
> >>
> >>
>
>
April 5, 2018
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Thierry Goubier
Hi Raphaël,
I've pushed a fix on the first count (ConfigurationOfGitFileTree
refers to the stable pharo6.0 branch) and I've
added a fix on the pharo6.0_dev branch (which is an almost complete
rewrite of the metadata-less filetree
write, with probably significant performance gains).
Just tell me if it works for you.
Thierry
2018-04-05 14:03 GMT+02:00 Thierry Goubier <thierry.goubier(a)gmail.com>:
> Hi Raphaël,
>
> I'll have a look and change the branch to be the pharo6.0 (and non
> _dev for now).
>
> Regards,
>
> Thierry
>
> 2018-04-05 11:58 GMT+02:00 Rafael Luque <rafael.luque.leiva(a)gmail.com>:
>> Hello all,
>>
>> I'm getting the below error each time a try to commit changes in Traits in a
>> project that uses GitFileTree and Pharo 6.0.
>>
>> I've noticed that ConfigurationOfGitFileTree loads (for Pharo 6.0) FileTree
>> from:
>>
>> github://dalehenrich/filetree:pharo6.0_dev/repository/
>>
>> If I update to use the "pharo6.0" branch instead of "pharo6.0_dev" then I
>> can commit the changes without error.
>>
>> By the way, should not the "stable" version of GitFileTree depends on an
>> stable branch of FileTree, instead of the development branch?
>>
>> This is the stack trace of the error I get:
>>
>> =====
>>
>> UndefinedObject(Object)>>doesNotUnderstand: #select:thenCollect:
>> MCTraitDefinition(MCClassDefinition)>>selectVariables:
>> MCTraitDefinition(MCClassDefinition)>>instVarNames
>> MCGitFileTreeWriter>>buildClassDefinition:
>> MCGitFileTreeWriter>>writeClassDefinition:in:
>> [ :each |
>> self
>> writeClassDefinition: each
>> in: aPackagePath , '/' , each className , '.class' ] in
>> MCGitFileTreeWriter>>writeClassDefinitions:in:
>> OrderedCollection>>do:
>> MCGitFileTreeWriter>>writeClassDefinitions:in:
>> [ :job |
>> job title: 'Building snapshot'.
>> orderedDefinitions := MCDependencySorter
>> sortItems: aSnapshot definitions.
>> job progress: 0.1.
>> classDefinitions := orderedDefinitions
>> select: [ :e | e isKindOf: MCClassDefinition ].
>> traitDefinitions := orderedDefinitions
>> select: [ :e |
>> (e isKindOf: MCTraitDefinition)
>> or: [ e isKindOf: MCClassTraitDefinition ] ].
>> classAndTraitNames := (classDefinitions , traitDefinitions
>> collect: [ :e | e className ]) asSet.
>> job progress: 0.2.
>> methodDefinitions := orderedDefinitions
>> select: [ :e |
>> (e isKindOf: MCMethodDefinition)
>> and: [ classAndTraitNames includes: e className ] ].
>> extensionMethodDefinitions := orderedDefinitions
>> select: [ :e |
>> (e isKindOf: MCMethodDefinition)
>> and: [ (classAndTraitNames includes: e className) not ] ].
>> organization := orderedDefinitions
>> select: [ :e | e isKindOf: MCOrganizationDefinition ].
>> extensionClasses := (extensionMethodDefinitions
>> collect: [ :e | e className ]) asSet.
>> job progress: 0.3.
>> self outputFileDelete: aPackagePath.
>> self writePackageGitPropertiesIn: aPackagePath.
>> self writeOrganization: organization in: aPackagePath.
>> job progress: 0.4.
>> self writeClassDefinitions: classDefinitions in: aPackagePath.
>> self writeTraitDefinitions: traitDefinitions in: aPackagePath.
>> job progress: 0.5.
>> self writeMethodDefinitions: methodDefinitions in: aPackagePath.
>> job progress: 0.6.
>> self writeExtensionClassDefinitions: extensionClasses in: aPackagePath.
>> self
>> writeExtensionMethodDefinitions: extensionMethodDefinitions
>> in: aPackagePath.
>> job progress: 0.7.
>> self writeInitializers: methodDefinitions in: aPackagePath ] in
>> MCGitFileTreeWriter>>writeSnapshot:in:
>> BlockClosure>>cull:
>> [ ^ block cull: self ] in [ self prepareForRunning.
>> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
>> [ activeProcess psValueAt: index put: anObject.
>> aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
>> BlockClosure>>ensure:
>> CurrentJob(DynamicVariable)>>value:during:
>> CurrentJob class(DynamicVariable class)>>value:during:
>> [ self prepareForRunning.
>> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
>> BlockClosure>>ensure:
>> Job>>run
>> MCGitFileTreeWriter>>writeSnapshot:in:
>> [ :each |
>> | packageDir |
>> packageDir := subDirectoryString , each package name , '.package'.
>> aWriter writeSnapshot: each snapshot in: packageDir.
>> aWriter
>> outputFileModify: packageDir , '/monticello.meta/package'
>> with: '(name ''' , each package name , ''')'.
>> aWriter writeDependencies: each dependencies in: packageDir ] in
>> MCGitFileTreeWriter class>>fileOutAll:on:
>> OrderedCollection>>do:
>> MCGitFileTreeWriter class>>fileOutAll:on:
>> MCFileTreeGitRepository>>fiStoreVersions:
>> MCFileTreeGitRepository>>fiStoreVersion:
>> MCFileTreeGitRepository>>basicStoreVersion:
>> MCFileTreeGitRepository(MCRepository)>>storeVersion:
>> MCFileTreeGitRepository(MCFileBasedRepository)>>storeVersion:
>> MCWorkingCopyBrowser>>storeVersion:in:
>> [ self
>> storeVersion: newVersion in: aRepository;
>> storeDependencies: newVersion in: aRepository ] in [ [ self
>> storeVersion: newVersion in: aRepository;
>> storeDependencies: newVersion in: aRepository ]
>> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
>> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> BlockClosure>>ensure:
>> [ [ self
>> storeVersion: newVersion in: aRepository;
>> storeDependencies: newVersion in: aRepository ]
>> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
>> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> BlockClosure>>ensure:
>> CursorWithMask(Cursor)>>showWhile:
>> MCWorkingCopyBrowser>>basicSaveVersionIn:
>> [ self basicSaveVersionIn: self repository ] in
>> MCWorkingCopyBrowser>>saveVersion
>> [ self value.
>> Processor terminateActive ] in BlockClosure>>newProcess
>>
>>
>> ====
>>
>> Thank you in advance.
>>
>>
>>
April 5, 2018
Re: [Pharo-users] Failure with GitFileTree commiting changes in Traits
by Thierry Goubier
Hi Raphaël,
I'll have a look and change the branch to be the pharo6.0 (and non
_dev for now).
Regards,
Thierry
2018-04-05 11:58 GMT+02:00 Rafael Luque <rafael.luque.leiva(a)gmail.com>:
> Hello all,
>
> I'm getting the below error each time a try to commit changes in Traits in a
> project that uses GitFileTree and Pharo 6.0.
>
> I've noticed that ConfigurationOfGitFileTree loads (for Pharo 6.0) FileTree
> from:
>
> github://dalehenrich/filetree:pharo6.0_dev/repository/
>
> If I update to use the "pharo6.0" branch instead of "pharo6.0_dev" then I
> can commit the changes without error.
>
> By the way, should not the "stable" version of GitFileTree depends on an
> stable branch of FileTree, instead of the development branch?
>
> This is the stack trace of the error I get:
>
> =====
>
> UndefinedObject(Object)>>doesNotUnderstand: #select:thenCollect:
> MCTraitDefinition(MCClassDefinition)>>selectVariables:
> MCTraitDefinition(MCClassDefinition)>>instVarNames
> MCGitFileTreeWriter>>buildClassDefinition:
> MCGitFileTreeWriter>>writeClassDefinition:in:
> [ :each |
> self
> writeClassDefinition: each
> in: aPackagePath , '/' , each className , '.class' ] in
> MCGitFileTreeWriter>>writeClassDefinitions:in:
> OrderedCollection>>do:
> MCGitFileTreeWriter>>writeClassDefinitions:in:
> [ :job |
> job title: 'Building snapshot'.
> orderedDefinitions := MCDependencySorter
> sortItems: aSnapshot definitions.
> job progress: 0.1.
> classDefinitions := orderedDefinitions
> select: [ :e | e isKindOf: MCClassDefinition ].
> traitDefinitions := orderedDefinitions
> select: [ :e |
> (e isKindOf: MCTraitDefinition)
> or: [ e isKindOf: MCClassTraitDefinition ] ].
> classAndTraitNames := (classDefinitions , traitDefinitions
> collect: [ :e | e className ]) asSet.
> job progress: 0.2.
> methodDefinitions := orderedDefinitions
> select: [ :e |
> (e isKindOf: MCMethodDefinition)
> and: [ classAndTraitNames includes: e className ] ].
> extensionMethodDefinitions := orderedDefinitions
> select: [ :e |
> (e isKindOf: MCMethodDefinition)
> and: [ (classAndTraitNames includes: e className) not ] ].
> organization := orderedDefinitions
> select: [ :e | e isKindOf: MCOrganizationDefinition ].
> extensionClasses := (extensionMethodDefinitions
> collect: [ :e | e className ]) asSet.
> job progress: 0.3.
> self outputFileDelete: aPackagePath.
> self writePackageGitPropertiesIn: aPackagePath.
> self writeOrganization: organization in: aPackagePath.
> job progress: 0.4.
> self writeClassDefinitions: classDefinitions in: aPackagePath.
> self writeTraitDefinitions: traitDefinitions in: aPackagePath.
> job progress: 0.5.
> self writeMethodDefinitions: methodDefinitions in: aPackagePath.
> job progress: 0.6.
> self writeExtensionClassDefinitions: extensionClasses in: aPackagePath.
> self
> writeExtensionMethodDefinitions: extensionMethodDefinitions
> in: aPackagePath.
> job progress: 0.7.
> self writeInitializers: methodDefinitions in: aPackagePath ] in
> MCGitFileTreeWriter>>writeSnapshot:in:
> BlockClosure>>cull:
> [ ^ block cull: self ] in [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
> [ activeProcess psValueAt: index put: anObject.
> aBlock value ] in CurrentJob(DynamicVariable)>>value:during:
> BlockClosure>>ensure:
> CurrentJob(DynamicVariable)>>value:during:
> CurrentJob class(DynamicVariable class)>>value:during:
> [ self prepareForRunning.
> CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run
> BlockClosure>>ensure:
> Job>>run
> MCGitFileTreeWriter>>writeSnapshot:in:
> [ :each |
> | packageDir |
> packageDir := subDirectoryString , each package name , '.package'.
> aWriter writeSnapshot: each snapshot in: packageDir.
> aWriter
> outputFileModify: packageDir , '/monticello.meta/package'
> with: '(name ''' , each package name , ''')'.
> aWriter writeDependencies: each dependencies in: packageDir ] in
> MCGitFileTreeWriter class>>fileOutAll:on:
> OrderedCollection>>do:
> MCGitFileTreeWriter class>>fileOutAll:on:
> MCFileTreeGitRepository>>fiStoreVersions:
> MCFileTreeGitRepository>>fiStoreVersion:
> MCFileTreeGitRepository>>basicStoreVersion:
> MCFileTreeGitRepository(MCRepository)>>storeVersion:
> MCFileTreeGitRepository(MCFileBasedRepository)>>storeVersion:
> MCWorkingCopyBrowser>>storeVersion:in:
> [ self
> storeVersion: newVersion in: aRepository;
> storeDependencies: newVersion in: aRepository ] in [ [ self
> storeVersion: newVersion in: aRepository;
> storeDependencies: newVersion in: aRepository ]
> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
> MCWorkingCopyBrowser>>basicSaveVersionIn:
> BlockClosure>>ensure:
> [ [ self
> storeVersion: newVersion in: aRepository;
> storeDependencies: newVersion in: aRepository ]
> ensure: [ (MCVersionInspector new version: newVersion) show ] ] in
> MCWorkingCopyBrowser>>basicSaveVersionIn:
> BlockClosure>>ensure:
> CursorWithMask(Cursor)>>showWhile:
> MCWorkingCopyBrowser>>basicSaveVersionIn:
> [ self basicSaveVersionIn: self repository ] in
> MCWorkingCopyBrowser>>saveVersion
> [ self value.
> Processor terminateActive ] in BlockClosure>>newProcess
>
>
> ====
>
> Thank you in advance.
>
>
>
April 5, 2018
Re: [Pharo-users] Slower
by Stephane Ducasse
if I remember correctly that Cairo does not support arc and that igor
was doing point interpolation to support it.
stef
On Thu, Apr 5, 2018 at 11:33 AM, Hilaire <hilaire(a)drgeo.eu> wrote:
> After some more investigation, I think it is not the greated bottleneck.
>
> When I render points not as discs but as Square, Athens is happy. I guess
> the Cairo way of doing this is very slow because its seems Cairo does not
> come with dedicated disc rendering code, it must be render with portion of
> arc, as far as I remember.
>
> If I prevent to render empty text label attached with each point, Athens is
> even happier. Text font rendering through Athens seems to be slow.
>
> Hilaire
>
>
> Le 04/04/2018 à 23:05, Hilaire a écrit :
>>
>> It reduces by 50% the time to execution. Need to check if this trick #1
>> and #2 are still needed at P7 time.
>
>
> --
> Dr. Geo
> http://drgeo.eu
>
>
>
April 5, 2018