The immediate impact of this is that you wont' be able to use the packages in your image in a three way merge, because the system will no longer be able to find a common ancestor. By implication you shouldn't save any of the packages either, because you risk polluting the "package pool" with ancestor-less versions. I've done a little experimentation with this in the git work (at one point in time, I was not saving the ancestry information on disk) ... If you somehow record the immediate ancestor(s) of the package, you can restore the ancestry chain with the MonticelloBrowser 'adopt' operation and then you can do the merge or save the package ... You can save and load these puppies ... I'm pretty sure that the ancestry is used only for merging ... oh yeah, the name of the package with the author and version number is derived from the first ancestor, i.e., the package that was loaded into the image, while this doesn't cause explicit problems, it can be unsettling ... At least that's what I recall.... Dale ----- Original Message ----- | From: "Mariano Martinez Peck" <marianopeck@gmail.com> | To: "Pharo Development" <pharo-project@lists.gforge.inria.fr> | Sent: Monday, May 21, 2012 10:58:23 AM | Subject: [Pharo-project] what is the magic with MCVersionInfo allInstances do: [ :each | each instVarNamed: | 'ancestors' put: nil ]. ' ? | | Hi guys. Can a MC guy tell me what happens when I do: | | MCVersionInfo allInstances do: [ :each | each instVarNamed: | 'ancestors' put: nil ]. | | what is what is actually clean? is that useful? what are the | consequences/impact when I do that? is my image broken? can I still | use monticello browser and all my projects with it? | | thanks | | -- | Mariano | http://marianopeck.wordpress.com | |