Failure with GitFileTree commiting changes in Traits

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Failure with GitFileTree commiting changes in Traits

Rafael Luque
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.



Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

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 <[hidden email]>:

> 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.
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

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 <[hidden email]>:

> 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 <[hidden email]>:
>> 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.
>>
>>
>>

Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

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 <[hidden email]>:
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 <[hidden email]>:
> 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 <[hidden email]>:
>> 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.
>>
>>
>>


Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

Thierry Goubier
2018-04-05 15:53 GMT+02:00 Rafael Luque <[hidden email]>:
> 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 <[hidden email]>:
>>
>> 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 <[hidden email]>:
>> > 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 <[hidden email]>:
>> >> 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.
>> >>
>> >>
>> >>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

Sean P. DeNigris
Administrator
In reply to this post by Rafael Luque
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

Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

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
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Failure with GitFileTree commiting changes in Traits

Thierry Goubier
Done.

Thierry

Le 05/04/2018 à 20:47, Thierry Goubier a écrit :

> 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
>>
>>
>