<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 13, 2019 at 6:53 PM <<a href="mailto:commits@source.squeak.org">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">Chris Muller uploaded a new version of Monticello to project The Inbox:<br>
<a href="http://source.squeak.org/inbox/Monticello-cmm.1550112371873461.mcz" rel="noreferrer" target="_blank">http://source.squeak.org/inbox/Monticello-cmm.1550112371873461.mcz</a></blockquote><div><br></div><div>Whaaaa?!?  :-)  Shurely shome mishtske.  hic.</div><div> </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"><br>
<br>
==================== Summary ====================<br>
<br>
Name: Monticello-cmm.1550112371873461<br>
Author: cmm<br>
Time: 13 February 2019, 8:53:17.238995 pm<br>
UUID: 4e5412b2-6fac-4192-846e-40e4c24eb282<br>
Ancestors: Monticello-nice.694<br>
<br>
Monticello only requires monotonicity and uniqueness for its version numbers, not consecutiveness.<br>
<br>
=============== Diff against Monticello-nice.694 ===============<br>
<br>
Item was added:<br>
+ ----- Method: MCAncestry>>hasAncestorNamed: (in category 'ancestry') -----<br>
+ hasAncestorNamed: aString<br>
+       self allAncestorsDo:<br>
+               [ : each | aString asMCVersionName = each name ifTrue: [ ^ true ] ].<br>
+       ^ false!<br>
<br>
Item was changed:<br>
  MCPackageManager subclass: #MCWorkingCopy<br>
+       instanceVariableNames: 'versionInfo ancestry repositoryGroup requiredPackages environment'<br>
-       instanceVariableNames: 'versionInfo ancestry counter repositoryGroup requiredPackages environment'<br>
        classVariableNames: ''<br>
        poolDictionaries: ''<br>
        category: 'Monticello-Versioning'!<br>
<br>
Item was changed:<br>
  ----- Method: MCWorkingCopy>>nextVersionName (in category 'private') -----<br>
  nextVersionName<br>
        | branch oldName |<br>
        ancestry ancestors isEmpty<br>
                ifTrue:<br>
+                       [ branch := package name ]<br>
-                       [ counter ifNil: [ counter := 0 ].<br>
-                       branch := package name ]<br>
                ifFalse:<br>
                        [ oldName := ancestry ancestors first versionName.<br>
+                       branch := oldName packageAndBranchName ].<br>
+       ^ branch , '-' , Utilities authorInitials , '.' , DateAndTime now utcMicroseconds asString!<br>
-                       branch := oldName packageAndBranchName.<br>
-                       counter ifNil:<br>
-                               [ counter := (ancestry ancestors detectMax:<br>
-                                       [ : eachVersionInfo | eachVersionInfo versionNumber ])<br>
-                                       ifNil: [ 0 ]<br>
-                                       ifNotNil:<br>
-                                               [ : highestNumbered | highestNumbered versionNumber ] ] ].<br>
-       counter := counter + 1.<br>
-       ^ branch , '-' , Utilities authorInitials , '.' , counter asString!<br>
<br>
Item was changed:<br>
  ----- Method: MCWorkingCopy>>uniqueVersionName (in category 'private') -----<br>
  uniqueVersionName<br>
        |versionName|<br>
-       counter := nil.<br>
        [versionName := self nextVersionName.<br>
+       (self repositoryGroup includesVersionNamed: versionName) or: [ ancestry hasAncestorNamed: versionName ]] whileTrue.<br>
-       self repositoryGroup includesVersionNamed: versionName] whileTrue.<br>
        ^ versionName!<br>
<br>
<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></div>