--- a/ChangeSet.st Tue Feb 08 11:09:36 2011 +0100
+++ b/ChangeSet.st Tue Feb 08 11:48:08 2011 +0100
@@ -261,10 +261,14 @@
|changeSet|
changeSet := self new.
+ "/ class definitions first...
+ changeSet addAll:((aDiffSet changed collect:[:eachPair | eachPair second]) select:[:ch | ch isClassDefinitionChange]).
+ changeSet addAll:((aDiffSet onlyInArg) select:[:ch | ch isClassDefinitionChange]).
+
"/ first add new methods...
- changeSet addAll:(aDiffSet onlyInArg).
+ changeSet addAll:((aDiffSet onlyInArg) reject:[:ch | ch isClassDefinitionChange]).
"/ then, changed methods...
- changeSet addAll:(aDiffSet changed collect:[:eachPair | eachPair second]).
+ changeSet addAll:((aDiffSet changed collect:[:eachPair | eachPair second]) reject:[:ch | ch isClassDefinitionChange]).
"/ then, removed methods...
aDiffSet onlyInReceiver do:[:each |
|ch|
@@ -1550,6 +1554,78 @@
^ret
"Modified: / 12-10-2006 / 22:22:39 / cg"
+!
+
+saveSignedToFile:aFilename
+ "write the changeSet to a signed file in chunk format"
+
+ self saveSignedToFile:aFilename format:nil
+
+ "Created: / 08-02-2011 / 11:18:54 / cg"
+!
+
+saveSignedToFile:aFilename format:formatSymbolOrNil
+ "write the changeSet to a signed file in some format.
+ Sign with the exept key (which you do not have outside of exept!!).
+ Nil fomat is chunk"
+
+ |s pkcs7SignedData|
+
+ s := WriteStream on:(String new:2000).
+ self saveToStream:s format:formatSymbolOrNil.
+
+ pkcs7SignedData := Expecco::KeyFileGenerator new signExpeccoCode:s contents.
+ aFilename asFilename contents:pkcs7SignedData.
+
+ "Modified: / 08-02-2011 / 11:48:01 / cg"
+!
+
+saveToFile:aFilename
+ "write the changeSet to a regular file in chunk format"
+
+ self saveToFile:aFilename format:nil
+
+ "Created: / 08-02-2011 / 11:18:46 / cg"
+!
+
+saveToFile:aFilename format:formatSymbolOrNil
+ "write the changeSet to a regular file in some format.
+ Nil fomat is chunk"
+
+ |s|
+
+ s := aFilename asFilename writeStream.
+ self saveToStream:s format:formatSymbolOrNil.
+ s close.
+
+ "Created: / 08-02-2011 / 11:20:06 / cg"
+!
+
+saveToStream:aStream format:formatSymbolOrNil
+ "write the changeSet to a stream in some format.
+ Nil fomat is chunk"
+
+ formatSymbolOrNil isNil ifTrue:[
+ self do:[:eachChange |
+ eachChange isMethodCodeChange ifTrue:[
+ aStream nextPutAll:'!!',(eachChange className),' methodsFor: '.
+ aStream nextPutAll:(eachChange methodCategory storeString).
+ aStream nextPutLine:'!!'.
+ aStream cr.
+ aStream nextPutAll:(eachChange source).
+ aStream nextPutLine:'!! !!'.
+ aStream cr.
+ ] ifFalse:[
+ aStream nextPutAll:(eachChange source).
+ aStream nextPutLine:'!!'.
+ aStream cr.
+ ].
+ ].
+ ].
+
+self halt
+
+ "Created: / 08-02-2011 / 11:25:16 / cg"
! !
!ChangeSet::ChangeFileReader methodsFor:'accessing'!
@@ -2576,9 +2652,9 @@
!ChangeSet class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.176 2011-02-08 10:09:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.177 2011-02-08 10:48:08 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.176 2011-02-08 10:09:36 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.177 2011-02-08 10:48:08 cg Exp $'
! !