MCFileBasedRepository.st
changeset 971 dd20ed7b6a1c
parent 942 42b8193def1a
equal deleted inserted replaced
970:fa5b935ff989 971:dd20ed7b6a1c
     1 "{ Package: 'stx:goodies/monticello' }"
     1 "{ Package: 'stx:goodies/monticello' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
     2 
     4 
     3 MCRepository subclass:#MCFileBasedRepository
     5 MCRepository subclass:#MCFileBasedRepository
     4 	instanceVariableNames:'cache allFileNames'
     6 	instanceVariableNames:'cache allFileNames'
     5 	classVariableNames:''
     7 	classVariableNames:''
     6 	poolDictionaries:''
     8 	poolDictionaries:''
   154 includesVersionNamed: aString
   156 includesVersionNamed: aString
   155 	^ self allVersionNames includes: aString
   157 	^ self allVersionNames includes: aString
   156 !
   158 !
   157 
   159 
   158 possiblyNewerVersionsOfAnyOf: someVersions
   160 possiblyNewerVersionsOfAnyOf: someVersions
   159 	| pkgs |
   161         | pkgs |
   160 	pkgs := Dictionary new.
   162         pkgs := Dictionary new.
   161 
   163 
   162 	someVersions do: [:aVersionInfo |
   164         someVersions do: [:aVersionInfo |
   163 		pkgs at: (aVersionInfo name copyUpToLast: $-)
   165                 pkgs at: (aVersionInfo name copyUpToLast: $-)
   164 			put: (aVersionInfo name copyAfterLast: $.) asNumber].
   166                         put: (aVersionInfo name copyAfterLast: $.) asNumber].
   165 
   167 
   166 	^[self allVersionNames select: [:each |
   168         ^[
   167 		(pkgs at: (each copyUpToLast: $-) ifPresent: [:verNumber |
   169             self allVersionNames select: [:each |
   168 			verNumber < (each copyAfterLast: $.) asNumber
   170                 (pkgs at: (each copyUpToLast: $-) ifPresent: [:verNumber |
   169 				or: [verNumber = (each copyAfterLast: $.) asNumber
   171                         verNumber < (each copyAfterLast: $.) asNumber
   170 					and: [someVersions noneSatisfy: [:v | v name = each]]]]) == true]
   172                                 or: [verNumber = (each copyAfterLast: $.) asNumber
   171 	] on: Error do: [:ex | ex return: #()]
   173                                         and: [someVersions noneSatisfy: [:v | v name = each]]]]) == true]
       
   174         ] on: Error do: [:ex | 
       
   175             ex return: #()
       
   176         ]
   172 !
   177 !
   173 
   178 
   174 readableFileNames
   179 readableFileNames
   175 	| all cached new |
   180 	| all cached new |
   176 	all := self allFileNamesOrCache.	"from repository"
   181 	all := self allFileNamesOrCache.	"from repository"
   198 ! !
   203 ! !
   199 
   204 
   200 !MCFileBasedRepository class methodsFor:'documentation'!
   205 !MCFileBasedRepository class methodsFor:'documentation'!
   201 
   206 
   202 version
   207 version
   203     ^ '$Header: /cvs/stx/stx/goodies/monticello/MCFileBasedRepository.st,v 1.6 2014-12-11 15:56:40 cg Exp $'
   208     ^ '$Header: /cvs/stx/stx/goodies/monticello/MCFileBasedRepository.st,v 1.7 2015-02-09 13:57:21 cg Exp $'
   204 !
   209 !
   205 
   210 
   206 version_CVS
   211 version_CVS
   207     ^ '$Header: /cvs/stx/stx/goodies/monticello/MCFileBasedRepository.st,v 1.6 2014-12-11 15:56:40 cg Exp $'
   212     ^ '$Header: /cvs/stx/stx/goodies/monticello/MCFileBasedRepository.st,v 1.7 2015-02-09 13:57:21 cg Exp $'
   208 !
   213 !
   209 
   214 
   210 version_SVN
   215 version_SVN
   211     ^ '$Id: MCFileBasedRepository.st,v 1.6 2014-12-11 15:56:40 cg Exp $'
   216     ^ '$Id: MCFileBasedRepository.st,v 1.7 2015-02-09 13:57:21 cg Exp $'
   212 ! !
   217 ! !
   213 
   218