<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"><<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>></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's a straw man. Produce Squeak 4.6's changes file by doing condenseChanges on an updated image, but still keeping SqueakV41.sources as its source file. Produce Squeak 5.0'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, <<a href="mailto:commits@source.squeak.org">commits@source.squeak.org</a>> wrote:<br>
> Eliot Miranda uploaded a new version of System to project The Trunk:<br>
> <a href="http://source.squeak.org/trunk/System-eem.740.mcz" target="_blank">http://source.squeak.org/trunk/System-eem.740.mcz</a><br>
><br>
> ==================== Summary ====================<br>
><br>
> Name: System-eem.740<br>
> Author: eem<br>
> Time: 29 May 2015, 4:09:46.189 pm<br>
> UUID: 53894fe9-e3f5-44c7-b4c2-101e4d72f0d3<br>
> Ancestors: System-eem.739<br>
><br>
> Modify condensSources to preserve direct method history.<br>
><br>
> =============== Diff against System-eem.739 ===============<br>
><br>
> Item was changed:<br>
> ----- Method: SmalltalkImage>>condenseSources (in category 'housekeeping') -----<br>
> condenseSources<br>
> "Move all the changes onto a compacted sources file."<br>
> "Smalltalk condenseSources"<br>
><br>
> | newSourcesFile defaultDirectory newVersion currentVersion |<br>
> Utilities fixUpProblemsWithAllCategory.<br>
> "The above removes any concrete, spurious '-- all --' categories, which mess up the process."<br>
> defaultDirectory := FileDirectory default.<br>
> currentVersion := self sourceFileVersionString.<br>
> newVersion := UIManager default<br>
> request: 'Please designate the version\for the new source code file...' withCRs<br>
> initialAnswer: currentVersion.<br>
> newVersion ifEmpty: [ ^ self ].<br>
> newVersion = currentVersion ifTrue: [ ^ self error: 'The new source file must not be the same as the old.' ].<br>
> self sourceFileVersionString: newVersion.<br>
><br>
> "Write all sources with fileIndex 1"<br>
> newSourcesFile := defaultDirectory newFileNamed: (defaultDirectory localNameFor: self sourcesName).<br>
> newSourcesFile ifNil: [ ^ self error: 'Couldn''t create source code file in\' withCRs, defaultDirectory name].<br>
> newSourcesFile<br>
> header;<br>
> timeStamp.<br>
> 'Condensing Sources File...'<br>
> displayProgressFrom: 0<br>
> to: self classNames size + self traitNames size<br>
> during:<br>
> [ :bar |<br>
> | count |<br>
> count := 0.<br>
> Smalltalk allClassesAndTraitsDo:<br>
> [ :classOrTrait |<br>
> bar value: (count := count + 1).<br>
> classOrTrait<br>
> fileOutOn: newSourcesFile<br>
> + moveSource: #historically<br>
> - moveSource: true<br>
> toFile: 1 ] ].<br>
> newSourcesFile<br>
> trailer;<br>
> close.<br>
><br>
> "Make a new empty changes file"<br>
> self closeSourceFiles.<br>
> defaultDirectory<br>
> rename: self changesName<br>
> toBe: self changesName , '.old'.<br>
> (FileStream newFileNamed: self changesName)<br>
> header;<br>
> timeStamp;<br>
> close.<br>
> self lastQuitLogPosition: 0.<br>
> self setMacFileInfoOn: self changesName.<br>
> self setMacFileInfoOn: newSourcesFile name.<br>
> self openSourceFiles.<br>
> self inform: 'Source files have been rewritten to\' withCRs, newSourcesFile name, '\Check that all is well,\and then save/quit.' withCRs!<br>
><br>
><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>