Status: Accepted
Owner:
[hidden email]
Labels: Type-Defect Priority-Medium GLASS-Server Version-1.0-beta.8
Milestone-1.0-beta.8.7.1
New issue 308 by
[hidden email]: ConfigurationOfGrease (and others)
dirty after a load
http://code.google.com/p/glassdb/issues/detail?id=308Packages should never be left dirty after a clean load, especially
ConfigurationOf...
It turns out the MCClassDefinition is using a method during the class
creation to set the class comments that ends up dirtying the package ...
Here's the proposed fix for MCClassDefintion>>load:
load
| cl |
(cl := self createClass) ~~ nil
ifTrue: [ self hasComment
ifTrue: [ SystemChangeNotifier uniqueInstance doSilently: [ cl
classComment: comment stamp: commentStamp ]]]
ifFalse: [ Error signal: 'Could not create class ', self className
printString, 'as subclass of ', self superclassName printString ]
When a ConfigurationOf package is inadvertently dirtied, it is especially
inconvenient because the automatic update mechanism doesn't automatically
override dirty configuration packages, Failed automatic configuration
updates lead to failures of upgrades to newer versions, even when the user
hasn't made any edits ... so part of this fix will be to repair dirty
packages...
The repair should probably involve a Notification from Metacello that it is
intending to skip the update of a configuration ... then the repair code
can take appropriate action ...