The Trunk: Monticello-cmm.419.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Monticello-cmm.419.mcz

commits-2
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.!