ChangeSetDiffEntry.st
branchjv
changeset 3034 c892671f3e2a
parent 3033 8964521a2c1b
child 3042 48e76977cdc3
--- a/ChangeSetDiffEntry.st	Tue Mar 20 16:55:14 2012 +0000
+++ b/ChangeSetDiffEntry.st	Wed Mar 21 01:53:44 2012 +0000
@@ -70,10 +70,10 @@
 versionA:versionA 
 
     ^self new
-        versionA: versionA;
-        versionB: versionA asAntiChange
+"/        versionB: versionA asAntiChange
+        versionA: versionA.
 
-    "Modified: / 24-11-2009 / 12:30:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 20-03-2012 / 21:42:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 versionA:versionA versionB:versionB 
@@ -86,10 +86,10 @@
 versionB:versionB 
 
     ^self new
-        versionA: versionB asAntiChange;
+"/        versionA: versionB asAntiChange;
         versionB: versionB.
 
-    "Modified: / 24-11-2009 / 12:30:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-03-2012 / 21:42:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetDiffEntry class methodsFor:'image specs'!
@@ -136,7 +136,7 @@
 !
 
 mergeInfo
-    (mergeInfo isNil and:[versionBase notNil and:[Tools::TextMergeInfo notNil]]) ifTrue:[
+    (mergeInfo isNil and:[Tools::TextMergeInfo notNil]) ifTrue:[
         mergeInfo := Tools::TextMergeInfo new.
         mergeInfo text1: self versionBaseText text2: self versionAText text3: self versionBText.
     ].
@@ -210,16 +210,18 @@
 !
 
 versionAText
-    ^ versionA source
+    ^versionA notNil ifTrue:[            
+        versionA source
+    ] ifFalse:[
+        nil
+    ].
 
     "Created: / 06-07-2011 / 12:29:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 versionAorB
 
-    ^versionA isClassRemoveChangeOrMethodRemoveChange
-        ifFalse:[versionA]
-        ifTrue:[versionB]
+    ^versionA ? versionB
 
     "Created: / 02-11-2009 / 18:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -229,7 +231,10 @@
 !
 
 versionB:something
+
     versionB := something.
+
+    "Modified: / 20-03-2012 / 22:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 versionBLabel
@@ -239,7 +244,11 @@
 !
 
 versionBText
-    ^ versionB source
+    ^versionB notNil ifTrue:[            
+        versionB source
+    ] ifFalse:[
+        nil
+    ].
 
     "Created: / 06-07-2011 / 12:29:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -253,11 +262,11 @@
 !
 
 versionBaseText
-    ^versionBase notNil ifTrue:[
+    ^versionBase notNil ifTrue:[            
         versionBase source
     ] ifFalse:[
         nil
-    ]
+    ].
 
     "Created: / 16-03-2012 / 15:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -270,10 +279,14 @@
     (merged isNil and:[mergeInfo notNil]) ifTrue:[
         merged := (versionA ? versionB ? versionBase) copy.
         merged source: mergeInfo text.
+        merged isClassDefinitionChange ifTrue:[
+            merged setupFromSource.
+        ]
+
     ].
     ^merged
 
-    "Modified: / 20-03-2012 / 14:38:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-03-2012 / 00:59:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 versionMerged:aChange
@@ -313,15 +326,17 @@
      on versionBase. If any of versions is same as versionBase, 
      the other is used as merge result"
 
-    ^self.
 
-    versionBase ifNil:[^self].
-
-    (versionA sameAs: versionBase) ifTrue:[versionMerged := versionB copy].
-    (versionB sameAs: versionBase) ifTrue:[versionMerged := versionA copy].
+    "Automerge version methods"
+    versionB ifNil:[^self].
+    versionB isMethodCodeChange ifTrue:[
+        (AbstractSourceCodeManager isVersionMethodSelector: versionB selector) ifTrue:[
+            versionMerged := versionB copy.
+        ]
+    ].
 
     "Created: / 02-11-2009 / 18:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 19-03-2012 / 15:14:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 20-03-2012 / 22:15:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !ChangeSetDiffEntry methodsFor:'testing'!
@@ -351,5 +366,5 @@
 !
 
 version_SVN
-    ^ '$Id: ChangeSetDiffEntry.st 1899 2012-03-20 16:55:14Z vranyj1 $'
+    ^ '$Id: ChangeSetDiffEntry.st 1900 2012-03-21 01:53:44Z vranyj1 $'
 ! !