#FEATURE
authorClaus Gittinger <cg@exept.de>
Thu, 14 Jan 2016 15:26:33 +0100
changeset 3930 aecdc8ea19d8
parent 3929 21714028cf06
child 3931 22fa6c578b25
#FEATURE class: AbstractSourceCodeManager changed: #checkinClass:fileName:directory:module:logMessage:force: added browse option to dialog (broken version string)
AbstractSourceCodeManager.st
--- a/AbstractSourceCodeManager.st	Tue Dec 22 04:41:27 2015 +0000
+++ b/AbstractSourceCodeManager.st	Thu Jan 14 15:26:33 2016 +0100
@@ -2090,7 +2090,7 @@
     className := aClass name.
     nameOfVersionMethodInClasses := self nameOfVersionMethodInClasses.
 
-    (revision := aClass revisionOfManager:self "revision") isNil ifTrue:[ 
+    (revision := aClass revisionOfManager:self) isNil ifTrue:[ 
         force ifFalse:[
             ('SourceCodeManager [warning]: class ' , className, ' has no revision string') errorPrintCR.
 
@@ -2105,11 +2105,15 @@
             ((aClass theMetaclass includesSelector:#version)
                or:[aClass theMetaclass includesSelector: nameOfVersionMethodInClasses]) ifTrue:[
                 answer := OptionBox 
-                            request:('Class %1 has no (usable) revision string.\\Check in as newest ?' bindWith:className allBold) withCRs
+                            request:('Class %1 has unusable or broken revision string.\\Check in as newest ?' bindWith:className allBold) withCRs
                             label:'Confirm'
-                            buttonLabels:(allLabel , #('Cancel' 'CheckIn')) 
-                            values:(allValue , #(false #checkIn))
+                            buttonLabels:(allLabel , #('Cancel' 'Browse & Cancel' 'CheckIn')) 
+                            values:(allValue , #(false #browse #checkIn))
                             default:#checkIn.
+                answer == #browse ifTrue:[
+                    UserPreferences browserClass openInClass:aClass theMetaclass.
+                    AbortOperationRequest raise. ^ false
+                ].    
             ] ifFalse:[
                 force ifTrue:[
                     revision := self newestRevisionInFile:classFileName directory:packageDir module:moduleDir.