MCRepository.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:57:13 +0100
branchjv
changeset 1095 87f223484bc3
parent 965 e5e12ca03097
child 1159 5f3f06a99a93
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present - All source *.st files are now Unicode UTF8 without BOM Files are in two groups (fileOut works this way in Smalltalk/X): - containing a unicode character have "{ Encoding: utf8 }" at the header - ASCII only are without the header
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1095
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     2
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     3
"{ NameSpace: Smalltalk }"
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     4
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     5
Object subclass:#MCRepository
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     6
	instanceVariableNames:'creationTemplate storeDiffs'
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     7
	classVariableNames:'Settings'
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     8
	poolDictionaries:''
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
     9
	category:'SCM-Monticello-Repositories'
87f223484bc3 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 965
diff changeset
    10
!
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    13
!MCRepository class methodsFor:'initialization'!
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    14
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    15
initialize
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    16
        "self initialize"
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    17
    "
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    18
        ExternalSettings registerClient: self.
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    19
    "
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    20
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    21
    "Modified: / 13-10-2010 / 14:13:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    22
! !
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    23
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
!MCRepository class methodsFor:'as yet unclassified'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
fillInTheBlankRequest
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	self subclassResponsibility.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
morphicConfigure
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	^ self new
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!MCRepository class methodsFor:'external settings'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
fetchExternalSettingsIn: aDirectory
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	"Scan for settings file"
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
	"MCRepository fetchExternalSettingsIn: ExternalSettings preferenceDirectory"
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	| stream |
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
	(aDirectory fileExists: self settingsFileName)
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
		ifFalse: [^self].
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    43
	stream := aDirectory readOnlyFileNamed: self settingsFileName.
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	stream
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
		ifNotNil: [
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    46
			[Settings := ExternalSettings parseServerEntryArgsFrom: stream]
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
				ensure: [stream close]].
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    48
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
releaseExternalSettings
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
	Settings := nil.
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    53
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
settingsFileName
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	^ 'mcSettings'
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    60
!MCRepository class methodsFor:'queries'!
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    62
allConcreteSubclasses
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    63
	^ self withAllSubclasses reject: [:ea | ea isAbstract]
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    64
!
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    65
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    66
creationTemplate
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    67
	self subclassResponsibility.
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    70
description
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    71
	^ nil
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    74
isAbstract
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    75
	^ self description isNil
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    76
! !
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    77
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    78
!MCRepository methodsFor:'accessing'!
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	^ creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
creationTemplate: aString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	self creationTemplate ifNotNil: [ self error: 'Creation template already set for this MCRepository instance.' ].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
	
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
    87
	creationTemplate := aString.
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
description
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
	^ self class name
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    92
! !
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    93
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    94
!MCRepository methodsFor:'as yet unclassified'!
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    95
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    96
alwaysStoreDiffs
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    97
	^ storeDiffs ifNil: [false]
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    98
!
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
    99
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   100
asCreationTemplate
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   101
	^ self creationTemplate
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
doAlwaysStoreDiffs
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   105
	storeDiffs := true
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
doNotAlwaysStoreDiffs
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   109
	storeDiffs := false
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
notificationForVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
	^ MCVersionNotification version: aVersion repository: self
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
notifyList
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
	^ #()
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
prepareVersionForStorage: aVersion
965
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   121
    self alwaysStoreDiffs ifTrue: [
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   122
        ^ aVersion 
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   123
            asDiffAgainst: (self closestAncestorVersionFor: aVersion info ifNone: [^ aVersion])
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   124
    ] ifFalse: [
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   125
        ^ aVersion
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   126
    ]
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
sendNotificationsForVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
	| notification notifyList |
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   131
	notifyList := self notifyList.
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
	notifyList isEmpty ifFalse:
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   133
		[notification := self notificationForVersion: aVersion.
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
		notifyList do: [:ea | notification notify: ea]]
514
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   135
! !
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   136
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   137
!MCRepository methodsFor:'comparing'!
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   138
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   139
= other
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   140
	^ other species = self species and: [other description = self description]
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
514
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   143
hash
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   144
	^ self description hash
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
!MCRepository methodsFor:'interface'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
includesVersionNamed: aString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	self subclassResponsibility
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
versionWithInfo: aVersionInfo
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
	^ self versionWithInfo: aVersionInfo ifAbsent: [nil]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
versionWithInfo: aVersionInfo ifAbsent: aBlock
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
	self subclassResponsibility 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
514
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   161
!MCRepository methodsFor:'printing & storing'!
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   162
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   163
basicStoreVersion: aVersion
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   164
	self subclassResponsibility
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   165
!
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   166
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   167
printOn: aStream
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   168
	super printOn: aStream.
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   169
	aStream
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   170
		nextPut: $(;
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   171
		nextPutAll: self description;
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   172
		nextPut: $).
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   173
!
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   174
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   175
storeVersion: aVersion
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   176
	self basicStoreVersion: (self prepareVersionForStorage: aVersion).
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   177
	self sendNotificationsForVersion: aVersion
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   178
! !
68b325cf69cb category changes
Claus Gittinger <cg@exept.de>
parents: 309
diff changeset
   179
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   180
!MCRepository methodsFor:'queries'!
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   181
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   182
closestAncestorVersionFor: anAncestry ifNone: errorBlock
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   183
	| v | 
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   184
	anAncestry breadthFirstAncestorsDo:
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   185
		[:ancestorInfo |
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   186
		(v := self versionWithInfo: ancestorInfo) ifNotNil: [ ^ v]].
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   187
	^ errorBlock value
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   188
!
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   189
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   190
possiblyNewerVersionsOfAnyOf: someVersions
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   191
	^#()
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   192
! !
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   193
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
!MCRepository methodsFor:'testing'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
isValid
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
	^true
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
!MCRepository class methodsFor:'documentation'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
version
965
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   203
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepository.st,v 1.8 2015-02-07 10:17:20 cg Exp $'
137
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   204
!
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   205
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   206
version_CVS
965
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   207
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepository.st,v 1.8 2015-02-07 10:17:20 cg Exp $'
210
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   208
!
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   209
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   210
version_SVN
6948613cd845 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 137
diff changeset
   211
965
e5e12ca03097 class: MCRepository
Claus Gittinger <cg@exept.de>
parents: 910
diff changeset
   212
    ^'$Id: MCRepository.st,v 1.8 2015-02-07 10:17:20 cg Exp $'
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
910
6a56267a1e3c categories
Claus Gittinger <cg@exept.de>
parents: 675
diff changeset
   215
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
MCRepository initialize!