--- 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 $'
! !