<div dir="ltr">Thanks Bert, it would be very nice to throw these precious informations in a class comment<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/13 Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">(this is another instance of me trying to constructively criticize details when I&#39;m not convinced of the whole yet - we do want a global history somehow but we&#39;re not sure yet exactly how it should be implemented)<br>

<br>
&gt; + ----- Method: Class&gt;&gt;mcVersions (in category &#39;*monticello&#39;) -----<br>
&gt; + mcVersions<br>
&gt; +     &quot;Answer a collection of MCClassDefinitions for this Class, which are in the first Magma-repository in the list of repositories of my working-copy.&quot;<br>
&gt; +     ^ self mcModel ifNotNil: [ : mcmodel | mcmodel historyOf: self asClassDefinition ]!<br>
<br>
An &quot;MCVersion&quot; is a precisely defined entity (a package snapshot with associated meta data). This selector thus is misleading. MC has no concept yet of a series of definitions that describe multiple variants of the same class.<br>

<br>
&gt; + ----- Method: Class&gt;&gt;mcPatchOperations (in category &#39;*monticello&#39;) -----<br>
&gt; + mcPatchOperations<br>
&gt; +     &quot;Answer a collection of MCPatchOperations that can be displayed in a MCPatchBrowser which will reflect the history of this methods definition in relation to each other (not simply compared to the image version).&quot;<br>

&gt; +     ^(self mcVersions reversed<br>
&gt; +                     inject: OrderedCollection new<br>
&gt; +                     into:<br>
&gt; +                             [ : coll : each | coll<br>
&gt; +                                     ifEmpty:<br>
&gt; +                                             [ coll<br>
&gt; +                                                      add: (MCAddition of: each) ;<br>
&gt; +                                                      yourself ]<br>
&gt; +                                     ifNotEmpty:<br>
&gt; +                                             [ coll<br>
&gt; +                                                      add:<br>
&gt; +                                                     (MCModification<br>
&gt; +                                                             of:<br>
&gt; +                                                                     (coll last isAddition<br>
&gt; +                                                                             ifTrue: [ coll last definition ]<br>
&gt; +                                                                             ifFalse: [ coll last modification ])<br>
&gt; +                                                             to: each) ;<br>
&gt; +                                                      yourself ] ]) reversed!<br>
<br>
An MCPatchBrowser displays an MCPatch, which is a set of MCPatchOperations that can be applied to an MCSnapshot to make another MCSnapshot.<br>
<br>
If you want to display the patches from multiple versions you would need something new, e.g. an MCPatchSeries which would have multiple patches. Otherwise we&#39;re watering down the very precise model of Monticello, making it much harder to understand and maintain.<br>

<span class="HOEnZb"><font color="#888888"><br>
- Bert -<br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>