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