#FEATURE
class: AbstractSourceCodeManager
changed: #checkinClass:fileName:directory:module:logMessage:force:
added browse option to dialog (broken version string)
--- 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.