<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Chris,<div><br></div><div>   you may have the use case backwards. Here's what happened today.  I opened Guille's VMMaker.oscog-GuillermoPolito.2676 which is in VMMakerInbox and was shown many thousands of methods which said "different only in timestamps".  My task was to find the methods that were not* different only in time stamps.  I did this by implementing the filter operation (revert unchanged methods spends a lot of time doing nothing; it does not remove the noise).  Once I could see the four methods that differed other than by timestamp (two of mine, two of Guille's) I could load Guille's methods, effecting a manual merge.  I then committed something that didn't inherit from VMMaker.oscog-GuillermoPolito.2676 (because if I did it would introduce all those noisy non-differences), but did include the relevant changes.  Does the menu item  make more sense now?</div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 24, 2020 at 6:56 PM Chris Muller <<a href="mailto:asqueaker@gmail.com">asqueaker@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Eliot, this concerning to me from the aspect that committing a change with only the timestamp changed is something that shouldn't be done.  Would it not pollute your version history with a bunch of "non-changes" noise?<div><div><br></div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 24, 2020 at 8:17 PM <<a href="mailto:commits@source.squeak.org" target="_blank">commits@source.squeak.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">A new version of Monticello was added to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Monticello-eem.709.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Monticello-eem.709.mcz</a><br>
<br>
==================== Summary ====================<br>
<br>
Name: Monticello-eem.709<br>
Author: eem<br>
Time: 24 January 2020, 6:17:42.907101 pm<br>
UUID: ec11ed59-223d-4b58-aa08-c214e1ceb2e9<br>
Ancestors: Monticello-cmm.708<br>
<br>
Provide 'filter out unchanged methods...' to ignore any timestamp-only changes.<br>
<br>
=============== Diff against Monticello-cmm.708 ===============<br>
<br>
Item was added:<br>
+ ----- Method: MCOperationsBrowser>>filterOutUnchangedMethods (in category 'actions') -----<br>
+ filterOutUnchangedMethods<br>
+       "Remove from the list methods that only have changed timestamps"<br>
+       | unchangedMethods |<br>
+       unchangedMethods := self unchangedMethods.<br>
+       (self confirm: ('Ignore {1} methods that only differ in timestamp?' translated<br>
+               format: {unchangedMethods size}))<br>
+               ifTrue:<br>
+                       [items := items reject: [:op| op isUnchangedMethod].<br>
+                        self changed: #list]<br>
+ !<br>
<br>
Item was changed:<br>
  ----- Method: MCOperationsBrowser>>methodListMenu: (in category 'menus') -----<br>
  methodListMenu: aMenu<br>
        selection ifNotNil:<br>
                [aMenu addList: #(<br>
                        ('install'       installSelection)<br>
                        ('revert (x)'    revertSelection)<br>
                        ('browse origin' browseSelectionOrigin) <br>
                        -)].<br>
        self unchangedMethods ifNotEmpty:<br>
                [aMenu addList: #(<br>
                        ('revert unchanged methods...'  revertUnchangedMethods) <br>
+                       ('filter out unchanged methods...'      filterOutUnchangedMethods) <br>
                        -)].<br>
        super methodListMenu: aMenu.<br>
        ^ aMenu!<br>
<br>
Item was changed:<br>
  ----- Method: MCOperationsBrowser>>revertUnchangedMethods (in category 'actions') -----<br>
  revertUnchangedMethods<br>
        "revert methods that only have changed timestamps"<br>
        | loader unchangedMethods |<br>
+       unchangedMethods := self unchangedMethods.<br>
+       (self confirm: ('Revert {1} methods that only differ in timestamp?' translated<br>
+               format: {unchangedMethods size}))<br>
+               ifTrue:<br>
+                       [loader := MCPackageLoader new.<br>
-       unchangedMethods := items select: [:op | op isUnchangedMethod].<br>
-       (self confirm: ('Revert {1} methods that only differ in timestamp?' translated format: {unchangedMethods size}))<br>
-               ifTrue: [<br>
-                       loader := MCPackageLoader new.<br>
                        unchangedMethods do: [:op | op inverse applyTo: loader].<br>
                        loader loadWithName: self changeSetNameForInstall].<br>
  !<br>
<br>
<br>
</blockquote></div>
<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>