MCPatchOperation.st
author Claus Gittinger <cg@exept.de>
Mon, 14 May 2018 02:21:18 +0200
changeset 1048 582b3a028cbc
parent 666 2e6a07cdf802
child 1095 87f223484bc3
permissions -rw-r--r--
#FEATURE by cg class: MCMethodDefinition changed: #postloadOver:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCPatchOperation
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:''
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
666
2e6a07cdf802 category change
Claus Gittinger <cg@exept.de>
parents: 383
diff changeset
     7
	category:'SCM-Monticello-Patching'
66
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCPatchOperation methodsFor:'accessing'!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
annotations
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^self annotations: Preferences defaultAnnotationRequests
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
annotations: requests
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	"Answer a string for an annotation pane, trying to fulfill the annotation requests.
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	These might include anything that
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
		Preferences defaultAnnotationRequests 
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	might return. Which includes anything in
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
		Preferences annotationInfo
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
	To edit these, use:"
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	"Preferences editAnnotations"
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	^String streamContents: [ :s | self printAnnotations: requests on: s ].
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
definition
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	^ self subclassResponsibility 
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
inverse
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	self subclassResponsibility
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
prefixForOperation: aSymbol
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	aSymbol == #insert ifTrue: [^ '+'].
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	aSymbol == #remove ifTrue: [^ '-'].
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	^ ' '
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
printAnnotations: requests on: aStream
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	"Add a string for an annotation pane, trying to fulfill the annotation requests.
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	These might include anything that
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
		Preferences defaultAnnotationRequests 
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	might return. Which includes anything in
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
		Preferences annotationInfo
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	To edit these, use:"
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
	"Preferences editAnnotations"
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	self definition printAnnotations: requests on: aStream.
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
source
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	^ self sourceText
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
sourceString
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	^self sourceText asString
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
sourceText
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	| builder |
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	builder := (Preferences diffsWithPrettyPrint and: [ self targetClass notNil and: [ self isClassPatch not ] ])
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
				ifTrue: 
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
					[PrettyTextDiffBuilder 
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
						from: self fromSource
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
						to: self toSource
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
						inClass: self targetClass]
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
				ifFalse: [TextDiffBuilder from: self fromSource to: self toSource].
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	^builder buildDisplayPatch.
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
summary
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
	^ self definition summary, self summarySuffix
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
summarySuffix
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	^ ''
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
! !
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
!MCPatchOperation methodsFor:'as yet unclassified'!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
isClassPatch
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	^false
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
targetClass
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
	self subclassResponsibility.
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!MCPatchOperation methodsFor:'comparing'!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
<= other
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
	^ self definition <= other definition
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
! !
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
!MCPatchOperation methodsFor:'testing'!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
isAddition
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
	^ false
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
isModification
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
	^ false
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
isRemoval
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
	^ false
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
! !
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
!MCPatchOperation class methodsFor:'documentation'!
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
version
666
2e6a07cdf802 category change
Claus Gittinger <cg@exept.de>
parents: 383
diff changeset
   116
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPatchOperation.st,v 1.4 2012-09-11 21:25:36 cg Exp $'
254
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   117
!
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   118
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   119
version_CVS
666
2e6a07cdf802 category change
Claus Gittinger <cg@exept.de>
parents: 383
diff changeset
   120
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPatchOperation.st,v 1.4 2012-09-11 21:25:36 cg Exp $'
254
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   121
!
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   122
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   123
version_SVN
f86d02fcebe8 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 66
diff changeset
   124
    ^ '§Id: MCPatchOperation.st 5 2010-08-29 07:30:29Z vranyj1 §'
66
37406e945370 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
! !