[Pkg] The Trunk: MonticelloConfigurations-bf.115.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Sep 11 15:47:26 UTC 2013


Bert Freudenberg uploaded a new version of MonticelloConfigurations to project The Trunk:
http://source.squeak.org/trunk/MonticelloConfigurations-bf.115.mcz

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

Name: MonticelloConfigurations-bf.115
Author: bf
Time: 11 September 2013, 5:47:05.567 pm
UUID: fd6a4110-f6c7-4c1d-a9e4-b70c53530171
Ancestors: MonticelloConfigurations-fbs.114

Re-check working copies modified by preloading.

=============== Diff against MonticelloConfigurations-fbs.114 ===============

Item was changed:
  ----- Method: MCConfiguration>>depsSatisfying:versionDo:displayingProgress: (in category 'private') -----
  depsSatisfying: selectBlock versionDo: verBlock displayingProgress: progressString 
+ 	| count selectedVersions cleanWorkingCopies |
- 	| count selectedVersions |
  	self cacheAllFileNamesDuring: [
  		self repositories do: [ :eachRepository |
  			MCRepositoryGroup default addRepository: eachRepository ].
  		"First, download selected versions"
  		count := 0.
  		selectedVersions := OrderedCollection new.
  		self withProgress: progressString in: self dependencies do: [ :dep | | verName repo |
  			verName := dep versionInfo name.
  			self class extraProgressInfo ifTrue:
  				[ ProgressNotification signal: '' extra: 'Downloading ' , verName ].
  			repo := self repositories
  				detect: [ :eachRepository | eachRepository includesVersionNamed: verName ]
  				ifNone: 	[ self logError: 'Version ' , verName , ' not found in any repository'.
  					self logError: 'Aborting'.
  					^ count ].
  			(selectBlock value: dep) ifTrue: [ | version |
  				version := self versionNamed: verName for: dep from: repo.
  				version ifNil: [ self logError: 'Could not download version ' , verName , ' from ' , repo description.
  					self logError: 'Aborting'.
  					^ count ].
  				dep package workingCopy newRepositoryGroupIfDefault. "fix old working copies"
  				dep package workingCopy repositoryGroup addRepository: repo.
  				selectedVersions add: version]].
  		"Then, process only those definitions that moved from one package to another, to avoid order dependence"
+ 		cleanWorkingCopies := MCWorkingCopy allManagers reject: [ :wc | wc modified ].
  		MCReorganizationPreloader preloadMovesBetween: selectedVersions.
  		"Finally, load/merge selected versions"
  		self withProgress: progressString in: selectedVersions do: [ :version |
  			self logUpdate: version package with: version.
  			self class extraProgressInfo ifTrue:
  				[ ProgressNotification signal: '' extra: 'Installing ' , version info name ].
  			verBlock value: version.
  			count := count + 1 ].
+ 		"Clean up packages made dirty by MCReorganizationPreloader"
+ 		cleanWorkingCopies do: [ :wc | wc modified ifTrue: [wc checkModified] ].
  	].
  	^ count!



More information about the Packages mailing list