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