On May 23, 2012, at 7:09 PM, Chris Muller wrote:
I don't know if your goal is to save space but... one of the nice things I've been enjoying about using a Magma-based MC repository is that the VersionInfo chain only goes back as far as you've actually accessed. Beyond that it's terminated by a Proxy object.
It's the best of both worlds: the full version history is instantly and transparently available but without taking up any space until it's accessed..
yes this is probably the way to go. You mean until the analysis finds a merge? Stef
On Mon, May 21, 2012 at 2:42 PM, Dale Henrichs <dhenrich@vmware.com> wrote:
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 | |