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