<div dir="ltr">Hi Chris,<br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 29, 2015 at 4:27 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks Eliot these features are needed for the release.<br></blockquote><div><br></div><div>So what about the details?  here&#39;s a straw man.  Produce Squeak 4.6&#39;s changes file by doing condenseChanges on an updated image, but still keeping SqueakV41.sources as its source file.  Produce Squeak 5.0&#39;s sources file by doing condenseSources on an undated Spur image, which will result in an empty changes file.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
On Fri, May 29, 2015 at 6:10 PM,  &lt;<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>&gt; wrote:<br>
&gt; Eliot Miranda uploaded a new version of System to project The Trunk:<br>
&gt; <a href="http://source.squeak.org/trunk/System-eem.740.mcz" target="_blank">http://source.squeak.org/trunk/System-eem.740.mcz</a><br>
&gt;<br>
&gt; ==================== Summary ====================<br>
&gt;<br>
&gt; Name: System-eem.740<br>
&gt; Author: eem<br>
&gt; Time: 29 May 2015, 4:09:46.189 pm<br>
&gt; UUID: 53894fe9-e3f5-44c7-b4c2-101e4d72f0d3<br>
&gt; Ancestors: System-eem.739<br>
&gt;<br>
&gt; Modify condensSources to preserve direct method history.<br>
&gt;<br>
&gt; =============== Diff against System-eem.739 ===============<br>
&gt;<br>
&gt; Item was changed:<br>
&gt;   ----- Method: SmalltalkImage&gt;&gt;condenseSources (in category &#39;housekeeping&#39;) -----<br>
&gt;   condenseSources<br>
&gt;         &quot;Move all the changes onto a compacted sources file.&quot;<br>
&gt;         &quot;Smalltalk condenseSources&quot;<br>
&gt;<br>
&gt;         | newSourcesFile defaultDirectory newVersion currentVersion |<br>
&gt;         Utilities fixUpProblemsWithAllCategory.<br>
&gt;         &quot;The above removes any concrete, spurious &#39;-- all --&#39; categories, which mess up the process.&quot;<br>
&gt;         defaultDirectory := FileDirectory default.<br>
&gt;         currentVersion := self sourceFileVersionString.<br>
&gt;         newVersion := UIManager default<br>
&gt;                 request: &#39;Please designate the version\for the new source code file...&#39; withCRs<br>
&gt;                 initialAnswer: currentVersion.<br>
&gt;         newVersion ifEmpty: [ ^ self ].<br>
&gt;         newVersion = currentVersion ifTrue: [ ^ self error: &#39;The new source file must not be the same as the old.&#39; ].<br>
&gt;         self sourceFileVersionString: newVersion.<br>
&gt;<br>
&gt;         &quot;Write all sources with fileIndex 1&quot;<br>
&gt;         newSourcesFile := defaultDirectory newFileNamed: (defaultDirectory localNameFor: self sourcesName).<br>
&gt;         newSourcesFile ifNil: [ ^ self error: &#39;Couldn&#39;&#39;t create source code file in\&#39; withCRs,  defaultDirectory name].<br>
&gt;         newSourcesFile<br>
&gt;                 header;<br>
&gt;                 timeStamp.<br>
&gt;         &#39;Condensing Sources File...&#39;<br>
&gt;                 displayProgressFrom: 0<br>
&gt;                 to: self classNames size + self traitNames size<br>
&gt;                 during:<br>
&gt;                         [ :bar |<br>
&gt;                         | count |<br>
&gt;                         count := 0.<br>
&gt;                         Smalltalk allClassesAndTraitsDo:<br>
&gt;                                 [ :classOrTrait |<br>
&gt;                                 bar value: (count := count + 1).<br>
&gt;                                 classOrTrait<br>
&gt;                                         fileOutOn: newSourcesFile<br>
&gt; +                                       moveSource: #historically<br>
&gt; -                                       moveSource: true<br>
&gt;                                         toFile: 1 ] ].<br>
&gt;         newSourcesFile<br>
&gt;                 trailer;<br>
&gt;                 close.<br>
&gt;<br>
&gt;         &quot;Make a new empty changes file&quot;<br>
&gt;         self closeSourceFiles.<br>
&gt;         defaultDirectory<br>
&gt;                 rename: self changesName<br>
&gt;                 toBe: self changesName , &#39;.old&#39;.<br>
&gt;         (FileStream newFileNamed: self changesName)<br>
&gt;                 header;<br>
&gt;                 timeStamp;<br>
&gt;                 close.<br>
&gt;         self lastQuitLogPosition: 0.<br>
&gt;         self setMacFileInfoOn: self changesName.<br>
&gt;         self setMacFileInfoOn: newSourcesFile name.<br>
&gt;         self openSourceFiles.<br>
&gt;         self inform: &#39;Source files have been rewritten to\&#39; withCRs, newSourcesFile name, &#39;\Check that all is well,\and then save/quit.&#39; withCRs!<br>
&gt;<br>
&gt;<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">best,<div>Eliot</div></div>
</div></div>