author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Fri, 16 Mar 2012 19:30:50 +0000 | |
branch | jv |
changeset 12181 | c6d6a0a83faa |
child 12190 | 2a77dea2eceb |
permissions | -rw-r--r-- |
12181
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
1 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
2 |
Copyright (c) 2007-2012 Tony Garnock-Jones |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
3 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
4 |
This code is based on Squeak's DiffMerge package |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
5 |
written by Tony Garnock-Jones. Original project's web site: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
6 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
7 |
http://www.squeaksource.com/DiffMerge |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
8 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
9 |
Permission is hereby granted, free of charge, to any person |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
10 |
obtaining a copy of this software and associated documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
11 |
files (the 'Software'), to deal in the Software without |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
12 |
restriction, including without limitation the rights to use, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
13 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
14 |
copies of the Software, and to permit persons to whom the |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
15 |
Software is furnished to do so, subject to the following |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
16 |
conditions: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
18 |
The above copyright notice and this permission notice shall be |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
19 |
included in all copies or substantial portions of the Software. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
20 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
21 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
22 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
23 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
24 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
25 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
26 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
27 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
28 |
OTHER DEALINGS IN THE SOFTWARE. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
29 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
30 |
"{ Package: 'stx:libtool' }" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
31 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
32 |
Object subclass:#Diff3 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
33 |
instanceVariableNames:'file1 file0 file2 diffClass' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
34 |
classVariableNames:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
35 |
poolDictionaries:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
36 |
category:'Collections-Sequenceable-Diff3' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
37 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
38 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
39 |
Object subclass:#Chunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
40 |
instanceVariableNames:'offset length side' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
41 |
classVariableNames:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
42 |
poolDictionaries:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
43 |
privateIn:Diff3 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
44 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
45 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
46 |
Object subclass:#Conflict |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
47 |
instanceVariableNames:'left original right' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
48 |
classVariableNames:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
49 |
poolDictionaries:'' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
50 |
privateIn:Diff3 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
51 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
52 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
53 |
Diff3 comment:'Diff3 provides a three-way-merge algorithm suitable for performing textual merges, such as are often required as part of source-code version control systems. Instance Variables diffClass: <Class> Should be a subclass of GenericDiff. Used to resolve changes. file0: <SequenceableCollection> The ancestral file. file1: <SequenceableCollection> The left branch. file2: <SequenceableCollection> The right branch. -- Copyright (c) 2008 Tony Garnock-Jones <tonyg@lshift.net> Copyright (c) 2008 LShift Ltd. <query@lshift.net> Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction,including without limitation the rights to use, copy, modify, merge,publish, distribute, sublicense, and/or sell copies of the Software,and to permit persons to whom the Software is furnished to do so,subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
54 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
55 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
56 |
!Diff3 class methodsFor:'documentation'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
57 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
58 |
copyright |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
59 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
60 |
Copyright (c) 2007-2012 Tony Garnock-Jones |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
61 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
62 |
This code is based on Squeak's DiffMerge package |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
63 |
written by Tony Garnock-Jones. Original project's web site: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
64 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
65 |
http://www.squeaksource.com/DiffMerge |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
66 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
67 |
Permission is hereby granted, free of charge, to any person |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
68 |
obtaining a copy of this software and associated documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
69 |
files (the 'Software'), to deal in the Software without |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
70 |
restriction, including without limitation the rights to use, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
71 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
72 |
copies of the Software, and to permit persons to whom the |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
73 |
Software is furnished to do so, subject to the following |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
74 |
conditions: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
75 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
76 |
The above copyright notice and this permission notice shall be |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
77 |
included in all copies or substantial portions of the Software. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
78 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
79 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
80 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
81 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
82 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
83 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
84 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
85 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
86 |
OTHER DEALINGS IN THE SOFTWARE. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
87 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
88 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
89 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
90 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
91 |
documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
92 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
93 |
Diff3 provides a three-way-merge algorithm suitable for performing textual merges, such as are often required as part of source-code version control systems. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
94 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
95 |
Instance Variables |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
96 |
diffClass: <Class> Should be a subclass of GenericDiff. Used to resolve changes. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
97 |
file0: <SequenceableCollection> The ancestral file. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
98 |
file1: <SequenceableCollection> The left branch. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
99 |
file2: <SequenceableCollection> The right branch. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
100 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
101 |
[author:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
102 |
Tony Garnock-Jones <tonyg@lshift.com> |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
103 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
104 |
[instance variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
105 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
106 |
[class variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
107 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
108 |
[see also:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
109 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
110 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
111 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
112 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
113 |
!Diff3 methodsFor:'accessing'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
114 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
115 |
diffClass |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
116 |
^ diffClass |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
117 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
118 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
119 |
diffClass: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
120 |
diffClass := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
121 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
122 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
123 |
file0 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
124 |
^ file0 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
125 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
126 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
127 |
file0: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
128 |
file0 := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
129 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
130 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
131 |
file1 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
132 |
^ file1 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
133 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
134 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
135 |
file1: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
136 |
file1 := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
137 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
138 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
139 |
file2 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
140 |
^ file2 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
141 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
142 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
143 |
file2: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
144 |
file2 := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
145 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
146 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
147 |
!Diff3 methodsFor:'merging'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
148 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
149 |
merge |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
150 |
"Returns an Array of (#ok -> {...}) or (#conflict -> Diff3Conflict of collections) instances representing the results of a three-way merge between file1/file0/file2. Does not optimistically treat 'false conflicts' as clean merges (see the class comment for Diff3InclusiveVisitor)." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
151 |
^ self merge: false |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
152 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
153 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
154 |
mergeClean |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
155 |
"Returns an Array of (#ok -> {...}) or (#conflict -> Diff3Conflict of collections) instances representing the results of a three-way merge between file1/file0/file2. Optimistically treats 'false conflicts' as clean merges (see the class comment for Diff3ExclusiveVisitor)." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
156 |
^ self merge: true |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
157 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
158 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
159 |
mergeIndices |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
160 |
"Returns an Array of Diff3Chunks (representing clean merges) or Diff3Conflicts (containing DiffChunks, representing conflicts), together representing the results of a three-way merge between file1/file0/file2. Does not detect 'false conflicts', and can return two Diff3Chunks next to each other in the result." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
161 |
| result commonOffset hunks lastOverlapHunkIndex hunk firstHunkIndex | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
162 |
hunks := self computeHunks. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
163 |
result := OrderedCollection new. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
164 |
commonOffset := 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
165 |
firstHunkIndex := 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
166 |
[firstHunkIndex <= hunks size] whileTrue: [ |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
167 |
hunk := hunks at: firstHunkIndex. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
168 |
self addCommonChunkTo: result between: commonOffset and: hunk oldChunk offset. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
169 |
lastOverlapHunkIndex := self findOverlapStartingAt: firstHunkIndex in: hunks. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
170 |
(firstHunkIndex = lastOverlapHunkIndex) |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
171 |
ifTrue: [ |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
172 |
(hunk newChunk length > 0) |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
173 |
ifTrue: [result add: (Diff3::Chunk side: hunk side chunk: hunk newChunk)]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
174 |
commonOffset := (hunks at: lastOverlapHunkIndex) oldChunk lastIndex + 1.] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
175 |
ifFalse: [ | conflict | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
176 |
conflict := self computeConflictFrom: firstHunkIndex |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
177 |
to: lastOverlapHunkIndex |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
178 |
hunks: hunks. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
179 |
result add: conflict. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
180 |
commonOffset := conflict original lastIndex + 1.]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
181 |
firstHunkIndex := lastOverlapHunkIndex + 1]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
182 |
self addCommonChunkTo: result between: commonOffset and: file0 size + 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
183 |
^ result asArray |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
184 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
185 |
"Modified: / 16-03-2012 / 19:24:01 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
186 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
187 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
188 |
!Diff3 methodsFor:'private'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
189 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
190 |
addCommonChunkTo: result between: commonOffset and: targetOffset |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
191 |
targetOffset > commonOffset ifTrue: [ |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
192 |
result add: (Diff3::Chunk new |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
193 |
side: #original; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
194 |
offset: commonOffset; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
195 |
length: targetOffset - commonOffset)]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
196 |
^ targetOffset |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
197 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
198 |
"Modified: / 16-03-2012 / 19:20:48 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
199 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
200 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
201 |
computeConflictFrom: i1 to: i2 hunks: hunks |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
202 |
| hunk conflict l o r lo ro chunk chunkOrig | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
203 |
conflict := Diff3::Conflict new. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
204 |
conflict left: (l := Diff2::Chunk negativeSize: file1 size). |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
205 |
conflict original: (o := Diff2::Chunk negativeSize: file0 size). |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
206 |
conflict right: (r := Diff2::Chunk negativeSize: file2 size). |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
207 |
lo := o copy. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
208 |
ro := o copy. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
209 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
210 |
i1 to: i2 do: [:index | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
211 |
hunk := hunks at: index. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
212 |
(hunk side = #left) |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
213 |
ifTrue: [chunk := l. chunkOrig := lo.] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
214 |
ifFalse: [chunk := r. chunkOrig := ro.]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
215 |
o destructiveMergeWith: hunk oldChunk. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
216 |
chunk destructiveMergeWith: hunk newChunk. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
217 |
chunkOrig destructiveMergeWith: hunk oldChunk]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
218 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
219 |
l correctForSkewFrom: lo to: o. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
220 |
r correctForSkewFrom: ro to: o. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
221 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
222 |
^ conflict |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
223 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
224 |
"Modified: / 16-03-2012 / 19:20:53 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
225 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
226 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
227 |
computeHunks |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
228 |
| diff2 diff1 hunks | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
229 |
diff1 := diffClass new file1: file0; file2: file1; diffIndices. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
230 |
diff2 := diffClass new file1: file0; file2: file2; diffIndices. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
231 |
hunks := OrderedCollection new. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
232 |
diff1 do: [ :entry | hunks add: (Diff3Hunk side: #left entry: entry) ]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
233 |
diff2 do: [ :entry | hunks add: (Diff3Hunk side: #right entry: entry) ]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
234 |
^ hunks asSortedCollection:[:a :b|a <= b]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
235 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
236 |
"Modified: / 16-03-2012 / 18:28:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
237 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
238 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
239 |
fileMap |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
240 |
| files | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
241 |
files := Dictionary new. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
242 |
files at: #left put: file1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
243 |
files at: #original put: file0. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
244 |
files at: #right put: file2. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
245 |
^ files |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
246 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
247 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
248 |
findOverlapStartingAt: startIndex in: hunks |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
249 |
| nextRegionLhs hunk | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
250 |
nextRegionLhs := (hunks at: startIndex) oldChunk lastIndex + 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
251 |
startIndex + 1 to: hunks size do: [:index | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
252 |
hunk := hunks at: index. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
253 |
hunk oldChunk offset > nextRegionLhs ifTrue: [^ index - 1]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
254 |
nextRegionLhs := nextRegionLhs max: hunk oldChunk lastIndex + 1]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
255 |
^ hunks size. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
256 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
257 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
258 |
merge: excludeFalseConflicts |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
259 |
| visitor | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
260 |
visitor := excludeFalseConflicts |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
261 |
ifTrue: [Diff3ExclusiveVisitor new] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
262 |
ifFalse: [Diff3InclusiveVisitor new]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
263 |
visitor files: self fileMap. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
264 |
self mergeIndices do: [:each | each accept: visitor]. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
265 |
^ visitor result |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
266 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
267 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
268 |
!Diff3::Chunk class methodsFor:'as yet unclassified'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
269 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
270 |
negativeSize: s |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
271 |
"Returns a pseudo-chunk with *negative* length, useful as a kind of zero for destructiveMergeWith: operations intended to build up coverage over some set of chunks." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
272 |
^ self new offset: s + 1; length: s negated |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
273 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
274 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
275 |
offset: o length: l |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
276 |
^ self new offset: o; length: l |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
277 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
278 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
279 |
side: aSelector chunk: aChunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
280 |
^ self new side: aSelector; offset: aChunk offset; length: aChunk length |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
281 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
282 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
283 |
!Diff3::Chunk class methodsFor:'documentation'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
284 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
285 |
copyright |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
286 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
287 |
Copyright (c) 2007-2012 Tony Garnock-Jones |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
288 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
289 |
This code is based on Squeak's DiffMerge package |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
290 |
written by Tony Garnock-Jones. Original project's web site: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
291 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
292 |
http://www.squeaksource.com/DiffMerge |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
293 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
294 |
Permission is hereby granted, free of charge, to any person |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
295 |
obtaining a copy of this software and associated documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
296 |
files (the 'Software'), to deal in the Software without |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
297 |
restriction, including without limitation the rights to use, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
298 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
299 |
copies of the Software, and to permit persons to whom the |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
300 |
Software is furnished to do so, subject to the following |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
301 |
conditions: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
302 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
303 |
The above copyright notice and this permission notice shall be |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
304 |
included in all copies or substantial portions of the Software. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
305 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
306 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
307 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
308 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
309 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
310 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
311 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
312 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
313 |
OTHER DEALINGS IN THE SOFTWARE. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
314 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
315 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
316 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
317 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
318 |
documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
319 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
320 |
A Diff3Chunk is a subclass of DiffChunk that also knows which side of a three-way merge it represents. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
321 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
322 |
Instance Variables |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
323 |
side: <Symbol> One of #left, #original or #right |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
324 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
325 |
[author:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
326 |
Tony Garnock-Jones <tonyg@lshift.com> |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
327 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
328 |
[instance variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
329 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
330 |
[class variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
331 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
332 |
[see also:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
333 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
334 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
335 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
336 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
337 |
!Diff3::Chunk methodsFor:'accessing'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
338 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
339 |
correctForSkewFrom: smallerChunk to: biggerChunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
340 |
"Given a biggerChunk that definitely contains smallerChunk but might have an extra head or tail, updates the receiver to include such an extra head or tail." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
341 |
| headSize tailSize | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
342 |
headSize := smallerChunk offset - biggerChunk offset. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
343 |
tailSize := biggerChunk lastIndex - smallerChunk lastIndex. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
344 |
offset := offset - headSize. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
345 |
length := length + headSize + tailSize. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
346 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
347 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
348 |
destructiveMergeWith: aChunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
349 |
| newLastIndex | |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
350 |
newLastIndex := self lastIndex max: aChunk lastIndex. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
351 |
offset := offset min: aChunk offset. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
352 |
length := newLastIndex - offset + 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
353 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
354 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
355 |
lastIndex |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
356 |
"Returns the rightmost index contained in my range. (Offset is the leftmost index.) If my length is zero, will return an index lower than my offset." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
357 |
^ offset + length - 1 |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
358 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
359 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
360 |
length |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
361 |
^ length |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
362 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
363 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
364 |
length: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
365 |
length := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
366 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
367 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
368 |
offset |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
369 |
^ offset |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
370 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
371 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
372 |
offset: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
373 |
offset := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
374 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
375 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
376 |
side |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
377 |
^ side |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
378 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
379 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
380 |
side: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
381 |
side := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
382 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
383 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
384 |
!Diff3::Chunk methodsFor:'as yet unclassified'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
385 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
386 |
= otherChunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
387 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
388 |
^ (otherChunk isKindOf: self class) and: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
389 |
[(self offset = otherChunk offset) and: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
390 |
[(self length = otherChunk length)]] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
391 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
392 |
"Modified: / 16-03-2012 / 19:25:08 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
393 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
394 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
395 |
accept: aVisitor |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
396 |
^ aVisitor side: side chunk: self |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
397 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
398 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
399 |
extractFrom: aCollection |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
400 |
"Extracts a subcollection from aCollection corresponding to my offset and length." |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
401 |
^ aCollection copyFrom: offset to: offset + length - 1. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
402 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
403 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
404 |
printOn: aStream |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
405 |
aStream nextPut: $(. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
406 |
super printOn: aStream. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
407 |
aStream |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
408 |
nextPutAll: ' side: '; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
409 |
nextPutAll: side printString; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
410 |
nextPut: $). |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
411 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
412 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
413 |
!Diff3::Chunk methodsFor:'comparing'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
414 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
415 |
< aDiffChunk |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
416 |
"Used to sort changed chunks during three-way merge; see Diff3" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
417 |
^ self offset < aDiffChunk offset |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
418 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
419 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
420 |
!Diff3::Conflict class methodsFor:'documentation'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
421 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
422 |
copyright |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
423 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
424 |
Copyright (c) 2007-2012 Tony Garnock-Jones |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
425 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
426 |
This code is based on Squeak's DiffMerge package |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
427 |
written by Tony Garnock-Jones. Original project's web site: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
428 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
429 |
http://www.squeaksource.com/DiffMerge |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
430 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
431 |
Permission is hereby granted, free of charge, to any person |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
432 |
obtaining a copy of this software and associated documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
433 |
files (the 'Software'), to deal in the Software without |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
434 |
restriction, including without limitation the rights to use, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
435 |
copy, modify, merge, publish, distribute, sublicense, and/or sell |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
436 |
copies of the Software, and to permit persons to whom the |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
437 |
Software is furnished to do so, subject to the following |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
438 |
conditions: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
439 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
440 |
The above copyright notice and this permission notice shall be |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
441 |
included in all copies or substantial portions of the Software. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
442 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
443 |
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
444 |
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
445 |
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
446 |
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
447 |
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
448 |
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
449 |
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
450 |
OTHER DEALINGS IN THE SOFTWARE. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
451 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
452 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
453 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
454 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
455 |
documentation |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
456 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
457 |
A Diff3Conflict represents a merge conflict. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
458 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
459 |
Instance Variables |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
460 |
left: Either a SequenceableCollection or a Diff3Chunk representing the left variant. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
461 |
original: Either a SequenceableCollection or a Diff3Chunk representing the original variant. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
462 |
right: Either a SequenceableCollection or a Diff3Chunk representing the right variant. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
463 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
464 |
[author:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
465 |
Tony Garnock-Jones <tonyg@lshift.com> |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
466 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
467 |
[instance variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
468 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
469 |
[class variables:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
470 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
471 |
[see also:] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
472 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
473 |
" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
474 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
475 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
476 |
!Diff3::Conflict methodsFor:'accessing'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
477 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
478 |
left |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
479 |
^ left |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
480 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
481 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
482 |
left: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
483 |
left := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
484 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
485 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
486 |
original |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
487 |
^ original |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
488 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
489 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
490 |
original: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
491 |
original := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
492 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
493 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
494 |
right |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
495 |
^ right |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
496 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
497 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
498 |
right: anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
499 |
right := anObject |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
500 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
501 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
502 |
!Diff3::Conflict methodsFor:'as yet unclassified'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
503 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
504 |
= otherConflict |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
505 |
^ (otherConflict isKindOf: Diff3::Conflict) and: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
506 |
[(left = otherConflict left) and: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
507 |
[(original = otherConflict original) and: |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
508 |
[(right = otherConflict right)]]] |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
509 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
510 |
"Modified: / 16-03-2012 / 19:20:03 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
511 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
512 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
513 |
accept: aVisitor |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
514 |
^ aVisitor left: left original: original right: right. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
515 |
! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
516 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
517 |
printOn: aStream |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
518 |
aStream |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
519 |
nextPut: $(; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
520 |
nextPutAll: self class name; |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
521 |
nextPutAll: ' new left: '. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
522 |
left printOn: aStream. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
523 |
aStream nextPutAll: '; original: '. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
524 |
original printOn: aStream. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
525 |
aStream nextPutAll: '; right: '. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
526 |
right printOn: aStream. |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
527 |
aStream nextPut: $). |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
528 |
! ! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
529 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
530 |
!Diff3 class methodsFor:'documentation'! |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
531 |
|
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
532 |
version_SVN |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
533 |
^ '$Id: Diff3.st 7927 2012-03-16 19:30:50Z vranyj1 $' |
c6d6a0a83faa
Integrated Diff2 and Diff3 written by Tony Garnock-Jones
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff
changeset
|
534 |
! ! |