Issue 308 in glassdb: ConfigurationOfGrease (and others) dirty after a load

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue 308 in glassdb: ConfigurationOfGrease (and others) dirty after a load

glassdb
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=308

Packages 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 ...

Reply | Threaded
Open this post in threaded view
|

Re: Issue 308 in glassdb: ConfigurationOfGrease (and others) dirty after a load

glassdb
Updates:
        Status: Started

Comment #1 on issue 308 by [hidden email]: ConfigurationOfGrease  
(and others) dirty after a load
http://code.google.com/p/glassdb/issues/detail?id=308

patch include in GsMonticello 0.242 (dkh.138).

GemTools 1.0-beta.8.6 (dkh.141) has repair code (which depends upon fix for  
Metacello Issue 155) and now 2.3.1, 2.4.4.1, and 3.0.1 all update to  
1.0.-beta.8.7.1 without error.

However, some configs are still left dirty after the load (2.3.1 and  
2.4.41 ... 3.0.1 is clean after upgrade), not sure why ... a little more  
investigation is needed




Reply | Threaded
Open this post in threaded view
|

Re: Issue 308 in glassdb: ConfigurationOfGrease (and others) dirty after a load

glassdb
Updates:
        Status: Fixed
        Labels: Fixed-1.0-beta.8.7.1

Comment #2 on issue 308 by [hidden email]: ConfigurationOfGrease  
(and others) dirty after a load
http://code.google.com/p/glassdb/issues/detail?id=308

Turns out that the additional dirty packages are a result of Issue 309 ...  
so we'll call this bug fixed