[Pkg] The Trunk: Monticello-cmm.419.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Feb 28 01:59:38 UTC 2011
Chris Muller uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-cmm.419.mcz
==================== Summary ====================
Name: Monticello-cmm.419
Author: cmm
Time: 27 February 2011, 7:59:17.83 pm
UUID: 50cc4cd0-e1ac-469a-beef-e9c89fe9f9c3
Ancestors: Monticello-cmm.418
- Assigned categories.
- Not all MCRepositories require implementation of #allVersionNames, only MCFileBasedRepositories do things that way.
=============== Diff against Monticello-cmm.418 ===============
Item was changed:
+ ----- Method: MCFileBasedRepository>>allFileNames (in category 'files') -----
- ----- Method: MCFileBasedRepository>>allFileNames (in category 'as yet unclassified') -----
allFileNames
self subclassResponsibility!
Item was changed:
+ ----- Method: MCFileBasedRepository>>allFileNamesForVersionNamed: (in category 'files') -----
- ----- Method: MCFileBasedRepository>>allFileNamesForVersionNamed: (in category 'as yet unclassified') -----
allFileNamesForVersionNamed: aString
^ self filterFileNames: self readableFileNames forVersionNamed: aString!
Item was changed:
+ ----- Method: MCFileBasedRepository>>allFileNamesOrCache (in category 'files') -----
- ----- Method: MCFileBasedRepository>>allFileNamesOrCache (in category 'as yet unclassified') -----
allFileNamesOrCache
^ allFileNames ifNil: [self allFileNames]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>allVersionNames (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>allVersionNames (in category 'as yet unclassified') -----
allVersionNames
^ self readableFileNames collect: [:ea | self versionNameFromFileName: ea]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>basicStoreVersion: (in category 'overriding') -----
- ----- Method: MCFileBasedRepository>>basicStoreVersion: (in category 'as yet unclassified') -----
basicStoreVersion: aVersion
self
writeStreamForFileNamed: aVersion fileName
do: [:s | aVersion fileOutOn: s].
aVersion isCacheable ifTrue: [
cache ifNil: [cache := Dictionary new].
cache at: aVersion fileName put: aVersion].
!
Item was changed:
+ ----- Method: MCFileBasedRepository>>cache (in category 'private') -----
- ----- Method: MCFileBasedRepository>>cache (in category 'as yet unclassified') -----
cache
^ cache ifNil: [cache := Dictionary new]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>cacheAllFileNamesDuring: (in category 'private') -----
- ----- Method: MCFileBasedRepository>>cacheAllFileNamesDuring: (in category 'as yet unclassified') -----
cacheAllFileNamesDuring: aBlock
allFileNames ifNotNil:[^aBlock value].
allFileNames := self allFileNames.
^ aBlock ensure: [allFileNames := nil]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>cachedFileNames (in category 'private') -----
- ----- Method: MCFileBasedRepository>>cachedFileNames (in category 'as yet unclassified') -----
cachedFileNames
^cache == nil
ifTrue: [#()]
ifFalse: [cache keys]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>canReadFileNamed: (in category 'private') -----
- ----- Method: MCFileBasedRepository>>canReadFileNamed: (in category 'as yet unclassified') -----
canReadFileNamed: aString
| reader |
reader := MCVersionReader readerClassForFileNamed: aString.
^ reader notNil!
Item was changed:
+ ----- Method: MCFileBasedRepository>>closestAncestorVersionFor:ifNone: (in category 'overriding') -----
- ----- Method: MCFileBasedRepository>>closestAncestorVersionFor:ifNone: (in category 'as yet unclassified') -----
closestAncestorVersionFor: anAncestry ifNone: errorBlock
^ self cacheAllFileNamesDuring:
[super closestAncestorVersionFor: anAncestry ifNone: errorBlock]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>filterFileNames:forVersionNamed: (in category 'files') -----
- ----- Method: MCFileBasedRepository>>filterFileNames:forVersionNamed: (in category 'as yet unclassified') -----
filterFileNames: aCollection forVersionNamed: aString
^ aCollection select: [:ea | (self versionNameFromFileName: ea) = aString] !
Item was changed:
+ ----- Method: MCFileBasedRepository>>flushCache (in category 'private') -----
- ----- Method: MCFileBasedRepository>>flushCache (in category 'as yet unclassified') -----
flushCache
cache := nil!
Item was changed:
+ ----- Method: MCFileBasedRepository>>includesVersionNamed: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>includesVersionNamed: (in category 'as yet unclassified') -----
includesVersionNamed: aString
^ self allVersionNames includes: aString!
Item was changed:
+ ----- Method: MCFileBasedRepository>>loadVersionFromFileNamed: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>loadVersionFromFileNamed: (in category 'as yet unclassified') -----
loadVersionFromFileNamed: aString
^ self versionReaderForFileNamed: aString do: [:r | r version]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>loadVersionInfoFromFileNamed: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>loadVersionInfoFromFileNamed: (in category 'as yet unclassified') -----
loadVersionInfoFromFileNamed: aString
^ self versionReaderForFileNamed: aString do: [:r | r info]
!
Item was changed:
+ ----- Method: MCFileBasedRepository>>maxCacheSize (in category 'private') -----
- ----- Method: MCFileBasedRepository>>maxCacheSize (in category 'as yet unclassified') -----
maxCacheSize
^ 8!
Item was changed:
+ ----- Method: MCFileBasedRepository>>morphicOpen: (in category 'overriding') -----
- ----- Method: MCFileBasedRepository>>morphicOpen: (in category 'as yet unclassified') -----
morphicOpen: aWorkingCopy
(MCFileRepositoryInspector repository: self workingCopy: aWorkingCopy)
show!
Item was changed:
+ ----- Method: MCFileBasedRepository>>notifyList (in category 'overriding') -----
- ----- Method: MCFileBasedRepository>>notifyList (in category 'as yet unclassified') -----
notifyList
(self allFileNames includes: 'notify') ifFalse: [^ #()].
^ self readStreamForFileNamed: 'notify' do:
[:s |
s upToEnd lines]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>possiblyNewerVersionsOfAnyOf: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>possiblyNewerVersionsOfAnyOf: (in category 'as yet unclassified') -----
possiblyNewerVersionsOfAnyOf: someVersions
| pkgs |
pkgs := Dictionary new.
someVersions do: [:aVersionInfo |
pkgs at: (aVersionInfo name copyUpToLast: $-)
put: (aVersionInfo name copyAfterLast: $.) asNumber].
^[self allVersionNames select: [:each |
(pkgs at: (each copyUpToLast: $-) ifPresent: [:verNumber |
verNumber < (each copyAfterLast: $.) asNumber
or: [verNumber = (each copyAfterLast: $.) asNumber
and: [someVersions noneSatisfy: [:v | v name = each]]]]) == true]
] on: Error do: [:ex | ex return: #()]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>readableFileNames (in category 'files') -----
- ----- Method: MCFileBasedRepository>>readableFileNames (in category 'as yet unclassified') -----
readableFileNames
| all cached new |
all := self allFileNamesOrCache. "from repository"
cached := self cachedFileNames. "in memory"
new := all difference: cached.
^ (cached asArray, new)
select: [:ea | self canReadFileNamed: ea]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>resizeCache: (in category 'private') -----
- ----- Method: MCFileBasedRepository>>resizeCache: (in category 'as yet unclassified') -----
resizeCache: aDictionary
[aDictionary size <= self maxCacheSize] whileFalse:
[aDictionary removeKey: aDictionary keys atRandom]!
Item was changed:
+ ----- Method: MCFileBasedRepository>>versionFromFileNamed: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>versionFromFileNamed: (in category 'as yet unclassified') -----
versionFromFileNamed: aString
| v |
v := self cache at: aString ifAbsent: [self loadVersionFromFileNamed: aString].
self resizeCache: cache.
(v notNil and: [v isCacheable]) ifTrue: [cache at: aString put: v].
^ v!
Item was changed:
+ ----- Method: MCFileBasedRepository>>versionInfoFromFileNamed: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>versionInfoFromFileNamed: (in category 'as yet unclassified') -----
versionInfoFromFileNamed: aString
self cache at: aString ifPresent: [:v | ^ v info].
^ self loadVersionInfoFromFileNamed: aString!
Item was changed:
+ ----- Method: MCFileBasedRepository>>versionNameFromFileName: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>versionNameFromFileName: (in category 'as yet unclassified') -----
versionNameFromFileName: aString
^ (aString copyUpToLast: $.) copyUpTo: $(!
Item was changed:
+ ----- Method: MCFileBasedRepository>>versionReaderForFileNamed:do: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>versionReaderForFileNamed:do: (in category 'as yet unclassified') -----
versionReaderForFileNamed: aString do: aBlock
^ self
readStreamForFileNamed: aString
do: [:s |
(MCVersionReader readerClassForFileNamed: aString) ifNotNil:
[:class | aBlock value: (class on: s fileName: aString)]]
!
Item was changed:
+ ----- Method: MCFileBasedRepository>>versionWithInfo:ifAbsent: (in category 'versions') -----
- ----- Method: MCFileBasedRepository>>versionWithInfo:ifAbsent: (in category 'as yet unclassified') -----
versionWithInfo: aVersionInfo ifAbsent: errorBlock
(self allFileNamesForVersionNamed: aVersionInfo name) do:
[:fileName | | version |
version := self versionFromFileNamed: fileName.
version info = aVersionInfo ifTrue: [^ version]].
^ errorBlock value!
Item was changed:
+ ----- Method: MCFileBasedRepository>>writeStreamForFileNamed:do: (in category 'private') -----
- ----- Method: MCFileBasedRepository>>writeStreamForFileNamed:do: (in category 'as yet unclassified') -----
writeStreamForFileNamed: aString do: aBlock
^ self writeStreamForFileNamed: aString replace: false do: aBlock!
Item was removed:
- ----- Method: MCRepository>>allVersionNames (in category 'versions') -----
- allVersionNames
- "Answer all the version names in this repository"
-
- ^self subclassResponsibility!
Item was changed:
----- Method: MCVersion>>initializeWithPackage:info:snapshot:dependencies: (in category 'initialize-release') -----
+ initializeWithPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
+ self
+ setPackage: aPackage
+ info: aVersionInfo
+ snapshot: aSnapshot
+ dependencies: aCollection.
+ self addToCache!
- initializeWithPackage: aPackage info: aVersionInfo snapshot: aSnapshot dependencies: aCollection
- package := aPackage.
- info := aVersionInfo.
- snapshot := aSnapshot.
- dependencies := aCollection.
- self addToCache.!
More information about the Packages
mailing list