[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