[Pkg] The Trunk: MonticelloConfigurations-cmm.90.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Mar 17 01:27:31 UTC 2011


Chris Muller uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-cmm.90.mcz

==================== Summary ====================

Name: MonticelloConfigurations-cmm.90
Author: cmm
Time: 16 March 2011, 8:27:26.094 pm
UUID: 5af895b9-b5c1-4d06-98a5-4f87cb2290f7
Ancestors: MonticelloConfigurations-cmm.89

- Revert performance enhancement.

=============== Diff against MonticelloConfigurations-cmm.89 ===============

Item was changed:
  ----- Method: MCMcmUpdater class>>updateFromRepositories: (in category 'updating') -----
  updateFromRepositories: repositoryUrls
  	"MCMcmUpdater updateFromRepositories: #(
  		'http://squeaksource.com/MCUpdateTest'
  	)"
  
  	| repos config |
  	Preferences enable: #upgradeIsMerge.
  	LastUpdateMap ifNil:[LastUpdateMap := Dictionary new].
  	"The list of repositories to consult in order"
  	repos := repositoryUrls collect:[:url| 
  		MCRepositoryGroup default repositories 
  			detect:[:r| r description = url]
  			ifNone:[ | r |
  				r := MCHttpRepository location: url user: '' password: ''.
  				MCRepositoryGroup default addRepository: r.
  				r]].
  
  	"The list of updates-author.version.mcm sorted by version"
  	repos do:[:r| r cacheAllFileNamesDuring:[
  		| minVersion updateList allNames |
  		updateList := SortedCollection new.
  		minVersion := LastUpdateMap at: r description ifAbsent:[0].
  		"Find all the updates-author.version.mcm files"
  		'Checking ', r description
  			displayProgressAt: Sensor cursorPoint
  			from: 0 to: 1 during:[:bar| 
  				bar value: 0.
+ 				allNames := r allFileNames.
- 				allNames := r allFileNamesOrCache.
  			].
  		allNames do:[:versionedName| | version base parts author type |
  			parts := versionedName findTokens: '.-'.
  			parts size = 4 ifTrue:[
  				base := parts at: 1.
  				author := parts at: 2.
  				version := [(parts at: 3) asNumber] on: Error do:[:ex| ex return: 0].
  				type := parts at: 4.
  			].
  			(base = 'update' and:[version >= minVersion and:[type = 'mcm']]) 
  				ifTrue:[updateList add: version -> versionedName]].
  		
  		"Proceed only if there are updates available at all."
  		updateList ifNotEmpty: [
  			"Now process each update file. Check if we have all dependencies and if not,
  			load the entire configuration (this is mostly to skip older updates quickly)"
  			updateList do:[:assoc|
  				ProgressNotification signal: '' extra: 'Processing ', assoc value.
  				config := r versionNamed: assoc value.
  				"Skip packages that were specifically unloaded"
  				config dependencies: (config dependencies 
  					reject: [:dep| self skipPackages includes: dep package name]).
  				self updateMissingPackages ifFalse:[
  					"Skip packages that are not in the image"
  					config dependencies: (config dependencies 
  						select: [:dep| dep package hasWorkingCopy])].
  				(config dependencies allSatisfy:[:dep| dep isFulfilled]) 
  					ifFalse:[config upgrade].
  				LastUpdateMap at: r description put: assoc key.
  			] displayingProgress: 'Processing configurations'.
  			"We've loaded all the provided update configurations.
  			Use the latest configuration to update all the remaining packages."
  			config updateFromRepositories.
  			config upgrade.
  		]].
  	].
  	^config!



More information about the Packages mailing list