Thierry, I should mention that to get a registration for a project in the first place, you call: MetacelloProjectRegistration class>>registrationForClassNamed:ifAbsent:[1] ... and yes you pass in the full class name for the ConfigurationOf or BaselineOf ... Dale [1] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacel... On 1/27/16 6:41 AM, Dale Henrichs wrote:
On 1/27/16 12:03 AM, Thierry Goubier wrote:
Hi Dale,
then a question: how does one query a baselineOf or a configOf to retrieve the current project state (i.e. packages) loaded in the image?
Thierry
Thierry,
Good question:)
To start with in tODE I have a class TDMetacelloProjectRegistrationDefinition which is part of the following hierarchy:
Object TDDefinition TDPackageBasedDefinition TDAbstractProjectRegistrationDefinition TDGitProjectRegistrationDefinition TDMetacelloProjectRegistrationDefinition TDMetacelloRegistrationDefinition TDMetacelloBaselineRegistrationDefinition TDMetacelloConfigurationRegistrationDefinition TDMetacelloHybridRegistrationDefinition TDMetacelloUnloadedProjectRegistrationDefinition
The method TDMetacelloProjectRegistrationDefinition>>workingCopies[1] calculates the list of MCWorkingCopy instances for the loaded packages associated with a project (including the configurationof or baselineof... or both).
The key Metacello methods called include:
MetacelloProjectRegistration>>projectVersion[2] MetacelloMCVersion>>packages[3] MetacelloPackageSpec>>workingCopy[4] MetacelloMCProjectSpec>>projectPackage[5]
This is really the key information for doing all of the other operations for a "Project Browser" like "save all dirty packages and commit" and "give me diffs for all dirty packages in project"...
Dale
[1] https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core... [2] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacel... [3] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacel... [4] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacel... [5] https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacel...