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.!
squeak-dev@lists.squeakfoundation.org