Hi Dale, 2016-01-27 15:41 GMT+01:00 Dale Henrichs <[email protected]>:
> > > 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"... > I was just asking that because I'd like to see that information merged as much as possible; separating concepts just strikes me as unneeded complexity, at least for baselines. Configurations are a bit different, since a configuration can snapshot multiple versions. But I'd really like to make it simple and obvious how to setup a project. I'll make a few tries, and see what I can come up with. When I'll have the time :( Thierry > > Dale > > [1] > https://github.com/dalehenrich/tode/blob/master/repository/Topez-Server-Core.package/TDMetacelloProjectRegistrationDefinition.class/instance/workingCopies.st > [2] > https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-Core.package/MetacelloProjectRegistration.class/instance/projectVersion.st > [3] > https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-MC.package/MetacelloMCVersion.class/instance/packages.st > [4] > https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-MC.package/MetacelloPackageSpec.class/instance/workingCopy.st > [5] > https://github.com/dalehenrich/metacello-work/blob/master/repository/Metacello-MC.package/MetacelloMCProjectSpec.class/instance/projectPackage.st > >
