<div dir="ltr">This might be introducing some duplicate code, because fileOut a single selection from the Versions browser was already available via hotkey (Command+o)...</div><div class="gmail_extra"><br><br><div class="gmail_quote">
On Thu, Jul 17, 2014 at 3:09 PM,  <span dir="ltr">&lt;<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Eliot Miranda uploaded a new version of Tools to project The Trunk:<br>
<a href="http://source.squeak.org/trunk/Tools-eem.524.mcz" target="_blank">http://source.squeak.org/trunk/Tools-eem.524.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Tools-eem.524<br>
Author: eem<br>
Time: 17 July 2014, 1:09:47.094 pm<br>
UUID: 043177a8-a8de-4183-a284-6fd22ff5e70b<br>
Ancestors: Tools-eem.523<br>
<br>
Add a menu pick to file out a specific version from the<br>
method versions browser.<br>
<br>
=============== Diff against Tools-eem.523 ===============<br>
<br>
Item was added:<br>
+ ----- Method: VersionsBrowser&gt;&gt;fileOutSelection (in category &#39;menu&#39;) -----<br>
+ fileOutSelection<br>
+       | them it file |<br>
+       them := OrderedCollection new.<br>
+       listSelections with: changeList do:<br>
+               [:selected :item | selected ifTrue: [them add: item]].<br>
+       them size ~= 1<br>
+               ifTrue: [self inform: &#39;single version not selected, so nothing done&#39;]<br>
+               ifFalse:<br>
+                       [it := them first.<br>
+                        file := FileStream newFileNamed: it methodClassName, (it isMetaClassChange ifTrue: [&#39; class&#39;] ifFalse: [&#39;&#39;]), &#39;-&#39; , (it methodSelector copyReplaceAll: &#39;:&#39; with: &#39;&#39;).<br>

+                        [file header; timeStamp.<br>
+                         it fileOutOn: file] ensure: [file close]]!<br>
<br>
Item was changed:<br>
  ----- Method: VersionsBrowser&gt;&gt;versionsMenu: (in category &#39;menu&#39;) -----<br>
  versionsMenu: aMenu<br>
        &quot;Fill aMenu with menu items appropriate to the receiver&quot;<br>
<br>
        aMenu title: &#39;Versions&#39; translated.<br>
        aMenu addStayUpItemSpecial.<br>
<br>
        listIndex &gt; 0 ifTrue:[<br>
                (list size &gt; 1 ) ifTrue: [ aMenu addTranslatedList: #(<br>
                        (&#39;compare to current&#39;           compareToCurrentVersion         &#39;compare selected version to the current version&#39;)<br>
                        (&#39;compare to version...&#39;        compareToOtherVersion           &#39;compare selected version to another selected version&#39;))].<br>
                &quot;Note: Revert to selected should be visible for lists of length one for having the ability to revert to an accidentally deleted method&quot;<br>
                 aMenu addTranslatedList: #(<br>
+                       (&#39;revert to selected version&#39;   fileInSelections                                        &#39;resubmit the selected version, so that it becomes the current version&#39;)<br>
+                       (&#39;fileOut selected version&#39;     fileOutSelection                                        &#39;file out the selected version&#39;) )].<br>
-                       (&#39;revert to selected version&#39;   fileInSelections                                        &#39;resubmit the selected version, so that it becomes the current version&#39;) )].<br>
<br>
        aMenu addTranslatedList: #(<br>
                (&#39;remove from changes&#39;          removeMethodFromChanges &#39;remove this method from the current change set, if present&#39;)<br>
                (&#39;edit current method (O)&#39;      openSingleMessageBrowser                &#39;open a single-message browser on the current version of this method&#39;)<br>
                (&#39;find original change set&#39;     findOriginalChangeSet                   &#39;locate the changeset which originally contained this version&#39;)<br>
                -<br>
                (&#39;toggle diffing (D)&#39;                   toggleDiffing                                   &#39;toggle whether or not diffs should be shown here&#39;)<br>
                (&#39;update list&#39;                          reformulateList                                 &#39;reformulate the list of versions, in case it somehow got out of synch with reality&#39;)<br>
                -<br>
                (&#39;senders (n)&#39;                          browseSenders                                   &#39;browse all senders of this selector&#39;)<br>
                (&#39;implementors (m)&#39;                     browseImplementors                      &#39;browse all implementors of this selector&#39;)<br>
                -<br>
                (&#39;help...&#39;                                      offerVersionsHelp                               &#39;provide an explanation of the use of this tool&#39;)).<br>
<br>
        ^aMenu!<br>
<br>
<br>
</blockquote></div><br></div>