MCPatcher.st
author Claus Gittinger <cg@exept.de>
Sat, 20 Aug 2011 13:48:18 +0200
changeset 255 49df642e079f
parent 67 32119b00545b
child 371 53b3d5947d2c
permissions -rw-r--r--
added: #version_CVS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
67
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCPatcher
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'definitions'
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Patching'
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCPatcher class methodsFor:'as yet unclassified'!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
apply: aPatch to: aSnapshot
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	| loader |
255
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    15
	loader := self snapshot: aSnapshot.
67
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	aPatch applyTo: loader.
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	^ loader patchedSnapshot
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
snapshot: aSnapshot
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	^ self new initializeWithSnapshot: aSnapshot
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
! !
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!MCPatcher methodsFor:'as yet unclassified'!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
addDefinition: aDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	definitions add: aDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
initializeWithSnapshot: aSnapshot
255
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    31
	definitions := MCDefinitionIndex definitions: aSnapshot definitions
67
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
modifyDefinition: baseDefinition to: targetDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	self addDefinition: targetDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
patchedSnapshot
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	^ MCSnapshot fromDefinitions: definitions definitions
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
removeDefinition: aDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	definitions remove: aDefinition
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
! !
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
!MCPatcher class methodsFor:'documentation'!
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
version
255
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    49
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPatcher.st,v 1.2 2011-08-20 11:48:18 cg Exp $'
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    50
!
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    51
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    52
version_CVS
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    53
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCPatcher.st,v 1.2 2011-08-20 11:48:18 cg Exp $'
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    54
!
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    55
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    56
version_SVN
49df642e079f added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 67
diff changeset
    57
    ^ '§Id: MCPatcher.st 5 2010-08-29 07:30:29Z vranyj1 §'
67
32119b00545b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
! !