MCVersion.st
author Claus Gittinger <cg@exept.de>
Fri, 02 Dec 2011 16:10:42 +0100
changeset 531 fa84c1b275d4
parent 85 3404b1e779d0
child 570 ca75d756f909
permissions -rw-r--r--
added: #snapshot:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'package info snapshot dependencies'
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Versioning'
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCVersion class methodsFor:'instance creation'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
package: aPackageOrPackageID
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
        aPackageOrPackageID isSymbol ifTrue:[
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
            "/ an ST/X package-ID
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
            ^ super package: aPackageOrPackageID
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
        ].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
        "/ a monticello package-ID
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        ^ self package: aPackageOrPackageID info: MCVersionInfo new
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    "Modified: / 22-11-2006 / 14:16:22 / cg"
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
package: aPackage info: aVersionInfo
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	^ self package: aPackage info: aVersionInfo snapshot: aPackage snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
package: aPackage info: aVersionInfo snapshot: aSnapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	^ self package: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: #()
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
package: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	^ self new initializeWithPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!MCVersion methodsFor:'accessing'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
changes
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
	^ self snapshot patchRelativeToBase: package snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ dependencies ifNil: [#()]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
fileName
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	^ info name, '.', self writerClass extension
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	^ info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	^ package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	^ snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
531
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    62
snapshot:anMCSnapshot
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    63
   snapshot := anMCSnapshot
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    64
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    65
    "Created: / 02-12-2011 / 16:10:18 / cg"
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    66
!
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    67
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
summary
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
	^ String streamContents:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
		[:s |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
		s nextPutAll: info summaryHeader.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
		(dependencies isNil or: [dependencies isEmpty]) ifFalse:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
			[s cr; nextPutAll: 'Dependencies: '.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
			dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
				do: [:ea | s nextPutAll: ea versionInfo name]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
				separatedBy: [s nextPutAll: ', ']].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
		s cr; cr; nextPutAll: info message]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
workingCopy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	^ package workingCopy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
writerClass
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	^ MCMczWriter 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!MCVersion methodsFor:'actions'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
addToCache
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	MCCacheRepository default storeVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
adopt
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
	self workingCopy adopt: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
browse
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
	(MCSnapshotBrowser forSnapshot: self snapshot)
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
		showLabelled: 'Snapshot of ', self fileName
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
fileOutOn: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
	self writerClass fileOut: self on: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
load
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
	MCVersionLoader loadVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
merge
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
	MCVersionMerger mergeVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
open
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
	(MCVersionInspector new version: self) show
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
!MCVersion methodsFor:'converting'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
asDiffAgainst: aVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
	aVersion info = self info ifTrue: [self error: 'Cannot diff against self!!'].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
	^ MCDiffyVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
		package: self package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
		info: self info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
		snapshot: self snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
		dependencies: self dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
		baseVersion: aVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
!MCVersion methodsFor:'enumerating'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
allAvailableDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	| version |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
	self dependencies do:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
		[:ea |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
		[version _ ea resolve.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
		version allAvailableDependenciesDo: aBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
		aBlock value: version]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
			on: Error do: []]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
allDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
	self allDependenciesDo: aBlock ifUnresolved: [:ignored | true]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
allDependenciesDo: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
	| dict |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
	dict _ Dictionary new.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	self allDependenciesNotIn: dict do: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
allDependenciesNotIn: aDictionary do: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
	| version |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
	self dependencies do: 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
		[:ea | 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
		version := aDictionary at: ea ifAbsent: [ea resolve].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
		version 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
			ifNil: [failBlock value: ea]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
			ifNotNil: [(aDictionary includes: version) ifFalse:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
						[aDictionary at: ea put: version.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
						version 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
							allDependenciesNotIn: aDictionary 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
							do: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
							ifUnresolved: failBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
						aBlock value: version]]]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
withAllDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
	self allDependenciesDo: aBlock ifUnresolved: [:ignored].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
	aBlock value: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
withAllDependenciesDo: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
	| dict |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
	dict _ Dictionary new.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
	self allDependenciesNotIn: dict do: aBlock ifUnresolved: failBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
	aBlock value: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
!MCVersion methodsFor:'initialize-release'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
initializeWithPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
	package _ aPackage.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	info _ aVersionInfo.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	snapshot _ aSnapshot.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
	dependencies _ aCollection.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
	self addToCache.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
setPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
	package _ aPackage.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
	info _ aVersionInfo.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
	snapshot _ aSnapshot.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
	dependencies _ aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
!MCVersion methodsFor:'printing'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
printOn: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
	super printOn: aStream.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
	aStream nextPut: $(.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
	aStream nextPutAll: self info name.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
	aStream nextPut: $).
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
!MCVersion methodsFor:'testing'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
canOptimizeLoading
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
	"Answer wether I can provide a patch for the working copy without the usual diff pass"
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
	^false
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
isCacheable
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
	^true
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
isDiffy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	^ false
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
!MCVersion class methodsFor:'documentation'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
version
531
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
   225
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersion.st,v 1.2 2011-12-02 15:10:42 cg Exp $'
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
! !