ChangeSetDiffEntry.st
author Claus Gittinger <cg@exept.de>
Wed, 05 Feb 2014 18:52:37 +0100
changeset 3468 0fc1fe591ea8
parent 2877 623b67ae9447
child 3838 474d8ec95b33
child 4016 ca8d20b7de73
permissions -rw-r--r--
merged in jv's changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     1
"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     2
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     3
                           Czech Technical University in Prague
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     4
 Copyright (c) 2009-2010 eXept Software AG
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     5
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     6
 Permission is hereby granted, free of charge, to any person
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     7
 obtaining a copy of this software and associated documentation
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     8
 files (the 'Software'), to deal in the Software without
8b67a184e661 initial checkin
vrany
parents:
diff changeset
     9
 restriction, including without limitation the rights to use,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    10
 copy, modify, merge, publish, distribute, sublicense, and/or sell
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    11
 copies of the Software, and to permit persons to whom the
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    12
 Software is furnished to do so, subject to the following
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    13
 conditions:
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    14
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    15
 The above copyright notice and this permission notice shall be
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    16
 included in all copies or substantial portions of the Software.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    17
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    18
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    19
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    20
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    21
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    22
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    23
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    24
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    25
 OTHER DEALINGS IN THE SOFTWARE.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    26
"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    27
"{ Package: 'stx:libbasic3' }"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    28
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    29
ChangeSetDiffComponent subclass:#ChangeSetDiffEntry
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    30
	instanceVariableNames:'versionBase versionA versionB versionMerged mergeInfo'
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    31
	classVariableNames:''
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    32
	poolDictionaries:''
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    33
	category:'System-Changes-Diff'
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    34
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    35
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    36
!ChangeSetDiffEntry class methodsFor:'documentation'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    37
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    38
copyright
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    39
"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    40
 Copyright (c) 2007-2010 Jan Vrany, SWING Research Group,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    41
                           Czech Technical University in Prague
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    42
 Copyright (c) 2009-2010 eXept Software AG
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    43
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    44
 Permission is hereby granted, free of charge, to any person
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    45
 obtaining a copy of this software and associated documentation
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    46
 files (the 'Software'), to deal in the Software without
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    47
 restriction, including without limitation the rights to use,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    48
 copy, modify, merge, publish, distribute, sublicense, and/or sell
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    49
 copies of the Software, and to permit persons to whom the
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    50
 Software is furnished to do so, subject to the following
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    51
 conditions:
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    52
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    53
 The above copyright notice and this permission notice shall be
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    54
 included in all copies or substantial portions of the Software.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    55
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    56
 THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    57
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    58
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    59
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    60
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    61
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    62
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    63
 OTHER DEALINGS IN THE SOFTWARE.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    64
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    65
"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    66
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    67
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    68
!ChangeSetDiffEntry class methodsFor:'instance creation'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    69
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    70
versionA:versionA 
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    71
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    72
    ^self new
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    73
"/        versionB: versionA asAntiChange
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    74
        versionA: versionA.
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    75
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    76
    "Modified (comment): / 20-03-2012 / 21:42:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    77
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    78
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    79
versionA:versionA versionB:versionB 
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    80
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    81
    ^self new
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    82
        versionA: versionA;
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    83
        versionB: versionB.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    84
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    85
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    86
versionB:versionB 
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    87
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    88
    ^self new
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    89
"/        versionA: versionB asAntiChange;
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    90
        versionB: versionB.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    91
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
    92
    "Modified: / 20-03-2012 / 21:42:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    93
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    94
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    95
!ChangeSetDiffEntry class methodsFor:'image specs'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    96
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    97
iconMinus
2492
d26f39cbd4a8 changed:
Claus Gittinger <cg@exept.de>
parents: 2409
diff changeset
    98
    ^ ToolbarIconLibrary iconMinus12x12
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
    99
2492
d26f39cbd4a8 changed:
Claus Gittinger <cg@exept.de>
parents: 2409
diff changeset
   100
    "Modified: / 31-08-2011 / 10:51:21 / cg"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   101
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   102
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   103
iconPlus
2492
d26f39cbd4a8 changed:
Claus Gittinger <cg@exept.de>
parents: 2409
diff changeset
   104
    ^ ToolbarIconLibrary iconPlus12x12
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   105
2492
d26f39cbd4a8 changed:
Claus Gittinger <cg@exept.de>
parents: 2409
diff changeset
   106
    "Modified: / 31-08-2011 / 10:51:34 / cg"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   107
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   108
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   109
!ChangeSetDiffEntry class methodsFor:'others'!
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   110
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   111
version_CVS
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   112
    ^ '$Header: /cvs/stx/stx/libbasic3/ChangeSetDiffEntry.st,v 1.5 2014-02-05 17:52:37 cg Exp $'
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   113
! !
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   114
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   115
!ChangeSetDiffEntry methodsFor:'accessing'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   116
2631
vrany
parents: 2492
diff changeset
   117
changeClass
vrany
parents: 2492
diff changeset
   118
vrany
parents: 2492
diff changeset
   119
    ^(versionA ? versionB) changeClass
vrany
parents: 2492
diff changeset
   120
vrany
parents: 2492
diff changeset
   121
    "Created: / 30-11-2011 / 11:35:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 2492
diff changeset
   122
!
vrany
parents: 2492
diff changeset
   123
vrany
parents: 2492
diff changeset
   124
changeSelector
vrany
parents: 2492
diff changeset
   125
vrany
parents: 2492
diff changeset
   126
    | chg |
vrany
parents: 2492
diff changeset
   127
vrany
parents: 2492
diff changeset
   128
    (chg := versionA ? versionB) isMethodChange ifTrue:[
vrany
parents: 2492
diff changeset
   129
        ^chg changeSelector            
vrany
parents: 2492
diff changeset
   130
    ] ifFalse:[
vrany
parents: 2492
diff changeset
   131
        ^nil
vrany
parents: 2492
diff changeset
   132
    ]
vrany
parents: 2492
diff changeset
   133
vrany
parents: 2492
diff changeset
   134
    "Created: / 30-11-2011 / 11:40:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
vrany
parents: 2492
diff changeset
   135
!
vrany
parents: 2492
diff changeset
   136
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   137
className
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   138
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   139
    ^(versionA ? versionB) className
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   140
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   141
    "Created: / 01-11-2009 / 16:48:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   142
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   143
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   144
mergeInfo
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   145
    (mergeInfo isNil and:[Tools::TextMergeInfo notNil]) ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   146
        mergeInfo := Tools::TextMergeInfo new.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   147
        mergeInfo text1: self versionBaseText text2: self versionAText text3: self versionBText.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   148
    ].
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   149
    ^mergeInfo
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   150
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   151
    "Created: / 19-03-2012 / 14:57:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   152
!
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   153
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   154
mergeInfo:aTextMergeInfo
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   155
    mergeInfo := aTextMergeInfo.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   156
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   157
    "Created: / 19-03-2012 / 14:57:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   158
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   159
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   160
mergedUsingVersionA
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   161
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   162
    versionMerged ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   163
    versionA ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   164
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   165
    ^versionA sameAs: versionMerged
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   166
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   167
    "Created: / 24-11-2009 / 08:16:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   168
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   169
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   170
mergedUsingVersionB
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   171
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   172
    versionMerged ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   173
    versionB ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   174
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   175
    ^versionB sameAs: versionMerged
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   176
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   177
    "Created: / 24-11-2009 / 08:16:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   178
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   179
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   180
mergedUsingVersionBase
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   181
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   182
    versionMerged ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   183
    versionBase ifNil:[^false].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   184
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   185
    ^versionBase sameAs: versionMerged
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   186
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   187
    "Created: / 24-11-2009 / 08:16:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   188
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   189
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   190
name
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   191
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   192
    ^self versionAorB displayString
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   193
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   194
    "Created: / 24-11-2009 / 09:56:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   195
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   196
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   197
nonMetaClassName
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   198
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   199
    ^(versionA ? versionB) nonMetaClassName
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   200
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   201
    "Created: / 21-11-2009 / 07:42:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   202
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   203
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   204
versionA
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   205
    ^ versionA
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   206
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   207
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   208
versionA:something
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   209
    versionA := something.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   210
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   211
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   212
versionALabel
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   213
    ^ parent versionALabel
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   214
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   215
    "Created: / 09-11-2009 / 12:38:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   216
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   217
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   218
versionAText
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   219
    ^versionA notNil ifTrue:[            
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   220
        versionA source
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   221
    ] ifFalse:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   222
        nil
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   223
    ].
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   224
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   225
    "Created: / 06-07-2011 / 12:29:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   226
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   227
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   228
versionAorB
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   229
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   230
    ^versionA ? versionB
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   231
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   232
    "Created: / 02-11-2009 / 18:48:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   233
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   234
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   235
versionB
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   236
    ^ versionB
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   237
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   238
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   239
versionB:something
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   240
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   241
    versionB := something.
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   242
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   243
    "Modified: / 20-03-2012 / 22:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   244
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   245
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   246
versionBLabel
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   247
    ^ parent versionBLabel
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   248
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   249
    "Created: / 09-11-2009 / 12:38:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   250
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   251
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   252
versionBText
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   253
    ^versionB notNil ifTrue:[            
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   254
        versionB source
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   255
    ] ifFalse:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   256
        nil
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   257
    ].
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   258
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   259
    "Created: / 06-07-2011 / 12:29:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   260
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   261
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   262
versionBase
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   263
    ^ versionBase
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   264
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   265
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   266
versionBase:something
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   267
    versionBase := something.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   268
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   269
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   270
versionBaseText
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   271
    ^versionBase notNil ifTrue:[            
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   272
        versionBase source
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   273
    ] ifFalse:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   274
        nil
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   275
    ].
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   276
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   277
    "Created: / 16-03-2012 / 15:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   278
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   279
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   280
versionMerged
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   281
    "Returns a change representing a merge"
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   282
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   283
    | merged |
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   284
    merged := versionMerged.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   285
    (merged isNil and:[mergeInfo notNil]) ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   286
        merged := (versionA ? versionB ? versionBase) copy.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   287
        merged source: mergeInfo text.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   288
        merged isClassDefinitionChange ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   289
            merged setupFromSource.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   290
        ]
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   291
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   292
    ].
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   293
    ^merged
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   294
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   295
    "Modified: / 21-03-2012 / 00:59:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   296
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   297
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   298
versionMerged:aChange
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   299
    versionMerged := aChange.
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   300
    self changed:#resolution with: aChange
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   301
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   302
    "Modified: / 24-11-2009 / 12:58:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   303
!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   304
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   305
versionMergedLabel
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   306
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   307
    (versionMerged isNil)
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   308
        ifTrue:[^'<unresolved>' asText colorizeAllWith: Color red].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   309
    (versionMerged sameAs: versionA)
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   310
        ifTrue:[^self versionALabel].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   311
    (versionMerged sameAs: versionB)
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   312
        ifTrue:[^self versionBLabel].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   313
    (versionMerged sameAs: versionBase)
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   314
        ifTrue:[^self versionBaseLabel].
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   315
    ^'manual merge'
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   316
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   317
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   318
!ChangeSetDiffEntry methodsFor:'enumerating'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   319
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   320
do: aBlock
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   321
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   322
    aBlock value: self
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   323
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   324
    "Created: / 25-11-2009 / 10:22:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   325
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   326
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   327
!ChangeSetDiffEntry methodsFor:'merging'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   328
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   329
automerge
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   330
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   331
    "Automerge version methods"
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   332
    versionB ifNil:[^self].
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   333
    versionB isMethodCodeChange ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   334
        (AbstractSourceCodeManager isVersionMethodSelector: versionB selector) ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   335
            versionMerged := versionB copy.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   336
            self mergeInfo mergeUsingB: (versionB source)
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   337
        ]
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   338
    ].
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   339
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   340
    "Created: / 02-11-2009 / 18:51:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   341
    "Modified: / 09-04-2012 / 16:37:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   342
    "Modified (comment): / 09-04-2012 / 18:01:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   343
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   344
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   345
!ChangeSetDiffEntry methodsFor:'private'!
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   346
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   347
sort:sortBlock
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   348
    "superclass ChangeSetDiffComponent says that I am responsible to implement this method"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   349
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   350
    "Ignored"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   351
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   352
    "Modified: / 17-01-2013 / 13:57:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   353
! !
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   354
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   355
!ChangeSetDiffEntry methodsFor:'testing'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   356
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   357
isConflict
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   358
    "Return true, if there is a conflict. For simple two-way diff,
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   359
     conflict is when there are both versionA and versionB and they
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   360
     differ. For three-way diff/merge, conflict is iff the entry is not
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   361
     yet merged"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   362
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   363
    ^versionBase isNil ifTrue:[
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   364
        "/two-way diff
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   365
        versionA notNil and:[versionB notNil and:[(versionA sameAs: versionB) not]]
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   366
    ] ifFalse:[
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   367
        self isMerged not
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   368
    ].
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   369
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   370
    "Created: / 01-08-2012 / 17:10:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   371
!
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   372
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   373
isDiffItem
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   374
    ^ true
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   375
!
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   376
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   377
isForCopyrightMethod
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   378
    "Returns true, if this is an entry for version method"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   379
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   380
    | version |
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   381
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   382
    version := versionA ? versionB.
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   383
    ^version isMethodCodeChange
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   384
        and:[version isForMeta and: [version selector == #copyright]]
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   385
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   386
    "Created: / 01-08-2012 / 16:39:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   387
!
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   388
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   389
isForVersionMethod
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   390
    "Returns true, if this is an entry for version method"
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   391
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   392
    | version |
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   393
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   394
    version := versionA ? versionB.
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   395
    ^version isMethodCodeChange
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   396
        and:[(AbstractSourceCodeManager isVersionMethodSelector: version selector) or:[AbstractSourceCodeManager isExtensionsVersionMethodSelector: version selector]]
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   397
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   398
    "Created: / 18-04-2012 / 18:50:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   399
    "Modified: / 15-07-2013 / 13:17:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   400
!
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   401
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   402
isMerged
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   403
    | mi |
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   404
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   405
    versionMerged notNil ifTrue:[ ^ true ].
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   406
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   407
    ^(mi := self mergeInfo) notNil ifTrue:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   408
        mi isMerged
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   409
    ] ifFalse:[
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   410
        false
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   411
    ]
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   412
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   413
    "Created: / 19-03-2012 / 15:12:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   414
! !
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   415
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   416
!ChangeSetDiffEntry class methodsFor:'documentation'!
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   417
2877
623b67ae9447 Merged from SVN
vrany
parents: 2631
diff changeset
   418
version_SVN
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   419
    ^ '$Id: ChangeSetDiffEntry.st,v 1.5 2014-02-05 17:52:37 cg Exp $'
2409
8b67a184e661 initial checkin
vrany
parents:
diff changeset
   420
! !
3468
0fc1fe591ea8 merged in jv's changes
Claus Gittinger <cg@exept.de>
parents: 2877
diff changeset
   421