MCVersion.st
author Claus Gittinger <cg@exept.de>
Mon, 25 Mar 2013 13:48:36 +0100
changeset 764 3eb1773a5ce8
parent 741 a77e36ddfa96
child 765 03519ebb18d1
permissions -rw-r--r--
class: MCVersion changed: #fileName
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
741
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
     4
	instanceVariableNames:'package info snapshot dependencies cachable'
85
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:''
696
5aadac254fdd category change
Claus Gittinger <cg@exept.de>
parents: 570
diff changeset
     7
	category:'SCM-Monticello-Versioning'
85
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
741
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
    38
cachable:something
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
    39
    cachable := something.
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
    40
!
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
    41
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
changes
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ self snapshot patchRelativeToBase: package snapshot
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
dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	^ dependencies ifNil: [#()]
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
fileName
764
3eb1773a5ce8 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 741
diff changeset
    51
    |rawName cookedName legalName|
570
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    52
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    53
    rawName := info name.
764
3eb1773a5ce8 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 741
diff changeset
    54
    cookedName := rawName copy replaceAny:'/:' with:$_.
570
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    55
    legalName := rawName asFilename makeLegalFilename name.
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    56
    ^ legalName, '.', self writerClass extension
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    57
ca75d756f909 changed: #fileName
Claus Gittinger <cg@exept.de>
parents: 531
diff changeset
    58
    "Modified: / 24-07-2012 / 16:30:13 / cg"
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	^ info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
	^ package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
	^ snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
531
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    73
snapshot:anMCSnapshot
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    74
   snapshot := anMCSnapshot
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    75
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    76
    "Created: / 02-12-2011 / 16:10:18 / cg"
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    77
!
fa84c1b275d4 added: #snapshot:
Claus Gittinger <cg@exept.de>
parents: 85
diff changeset
    78
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
summary
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	^ String streamContents:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
		[:s |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
		s nextPutAll: info summaryHeader.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
		(dependencies isNil or: [dependencies isEmpty]) ifFalse:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
			[s cr; nextPutAll: 'Dependencies: '.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
			dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
				do: [:ea | s nextPutAll: ea versionInfo name]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
				separatedBy: [s nextPutAll: ', ']].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
		s cr; cr; nextPutAll: info message]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
workingCopy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
	^ package workingCopy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
writerClass
737
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
    96
    Smalltalk isSmalltalkX ifTrue:[
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
    97
        ^ MCStxMczWriter 
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
    98
    ] ifFalse:[
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
    99
        ^ MCMczWriter 
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
   100
    ]
85
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
!MCVersion methodsFor:'actions'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
addToCache
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
	MCCacheRepository default storeVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
adopt
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
	self workingCopy adopt: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
browse
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
	(MCSnapshotBrowser forSnapshot: self snapshot)
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
		showLabelled: 'Snapshot of ', self fileName
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
fileOutOn: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
	self writerClass fileOut: self on: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
load
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
	MCVersionLoader loadVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
merge
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
	MCVersionMerger mergeVersion: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
open
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
	(MCVersionInspector new version: self) show
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!MCVersion methodsFor:'converting'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
asDiffAgainst: aVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
	aVersion info = self info ifTrue: [self error: 'Cannot diff against self!!'].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
	^ MCDiffyVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
		package: self package
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
		info: self info
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
		snapshot: self snapshot
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
		dependencies: self dependencies
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
		baseVersion: aVersion
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
!MCVersion methodsFor:'enumerating'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
allAvailableDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
	| version |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	self dependencies do:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
		[:ea |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
		[version _ ea resolve.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
		version allAvailableDependenciesDo: aBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
		aBlock value: version]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
			on: Error do: []]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
allDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
	self allDependenciesDo: aBlock ifUnresolved: [:ignored | true]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
allDependenciesDo: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
	| dict |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
	dict _ Dictionary new.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	self allDependenciesNotIn: dict do: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
allDependenciesNotIn: aDictionary do: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	| version |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
	self dependencies do: 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
		[:ea | 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
		version := aDictionary at: ea ifAbsent: [ea resolve].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
		version 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
			ifNil: [failBlock value: ea]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
			ifNotNil: [(aDictionary includes: version) ifFalse:
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
						[aDictionary at: ea put: version.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
						version 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
							allDependenciesNotIn: aDictionary 
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
							do: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
							ifUnresolved: failBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
						aBlock value: version]]]
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
withAllDependenciesDo: aBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	self allDependenciesDo: aBlock ifUnresolved: [:ignored].
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	aBlock value: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
withAllDependenciesDo: aBlock ifUnresolved: failBlock
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
	| dict |
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
	dict _ Dictionary new.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
	self allDependenciesNotIn: dict do: aBlock ifUnresolved: failBlock.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
	aBlock value: self
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!MCVersion methodsFor:'initialize-release'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
initializeWithPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
	package _ aPackage.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
	info _ aVersionInfo.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
	snapshot _ aSnapshot.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
	dependencies _ aCollection.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
	self addToCache.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
setPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
	package _ aPackage.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
	info _ aVersionInfo.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
	snapshot _ aSnapshot.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
	dependencies _ aCollection
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
!MCVersion methodsFor:'printing'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
printOn: aStream
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
	super printOn: aStream.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
	aStream nextPut: $(.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
	aStream nextPutAll: self info name.
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	aStream nextPut: $).
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 methodsFor:'testing'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
canOptimizeLoading
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
	"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
   226
	^false
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
isCacheable
741
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
   230
        ^ cachable ? true
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   231
!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
isDiffy
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
	^ false
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   235
! !
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
!MCVersion class methodsFor:'documentation'!
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
version
764
3eb1773a5ce8 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 741
diff changeset
   240
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersion.st,v 1.7 2013-03-25 12:48:36 cg Exp $'
741
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
   241
!
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
   242
a77e36ddfa96 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 737
diff changeset
   243
version_CVS
764
3eb1773a5ce8 class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 741
diff changeset
   244
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCVersion.st,v 1.7 2013-03-25 12:48:36 cg Exp $'
85
3404b1e779d0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
! !
737
1b7e7767b99f class: MCVersion
Claus Gittinger <cg@exept.de>
parents: 696
diff changeset
   246