ChangeSet.st
changeset 2321 cdba8ed97ed6
parent 2298 42eaf6957b08
child 2322 c5ebd3b56e54
--- a/ChangeSet.st	Tue Feb 08 10:41:22 2011 +0100
+++ b/ChangeSet.st	Tue Feb 08 11:08:36 2011 +0100
@@ -254,6 +254,28 @@
     "Modified: / 13-10-2006 / 00:33:15 / cg"
 !
 
+fromDiffSet:aDiffSet
+    "build a changeSet from a given diffSet"
+
+    |changeSet|
+
+    changeSet := self new.
+    "/ first add new methods...
+    changeSet addAll:(aDiffSet onlyInArg).
+    "/ then, changed methods...
+    changeSet addAll:(aDiffSet changed collect:[:eachPair | eachPair second]).
+    "/ then, removed methods...
+    aDiffSet onlyInReceiver do:[:each |
+        |ch|
+
+        ch := MethodRemoveChange className:(each className) selector:(each selector).
+        changeSet add:ch.
+    ].
+    ^ changeSet
+
+    "Created: / 08-02-2011 / 10:48:36 / cg"
+!
+
 fromDolphinPACStream:aStream
     "build a changeSet from a stream, containing dolphin pac file chunks."
 
@@ -2183,6 +2205,15 @@
     ^ self handleRenameClassChange.
 ! !
 
+!ChangeSet::DiffSet class methodsFor:'documentation'!
+
+documentation
+"
+    I represent the differences between two change sets.
+    As such, I can be used by a VersionDiffBrowser and to generate patchSets.
+"
+! !
+
 !ChangeSet::DiffSet methodsFor:'accessing'!
 
 changed
@@ -2544,9 +2575,9 @@
 !ChangeSet class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.174 2010-11-12 10:27:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.175 2011-02-08 10:08:36 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.174 2010-11-12 10:27:21 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSet.st,v 1.175 2011-02-08 10:08:36 cg Exp $'
 ! !