[squeak-dev] The Trunk: Installer-Core-cmm.445.mcz

commits at source.squeak.org commits at source.squeak.org
Wed May 4 22:59:50 UTC 2022


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

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

Name: Installer-Core-cmm.445
Author: cmm
Time: 4 May 2022, 5:57:54.528844 pm
UUID: 966e37e1-9853-4ae9-9bdd-6a342c4ffaf2
Ancestors: Installer-Core-mt.444

When using #merge:, allow the logical #local repository to automatically map to the filesystem-based local if the local http (SqueakSource) server is down.

=============== Diff against Installer-Core-mt.444 ===============

Item was added:
+ ----- Method: Installer class>>resetDefaultLocalRepository (in category 'repository-overrides') -----
+ resetDefaultLocalRepository
+ 	self localRepository: nil!

Item was changed:
  ----- Method: Installer>>merge: (in category 'public interface') -----
  merge: structureOrSymbol 
  	| toUncache |
  	toUncache := Set new.
  	self
  		packageDependenciesFor: structureOrSymbol
  		do:
+ 			[ : eachPackageName : eachRepositorySpec | | repo version tried |
+ 			tried := false.
+ 			repo := [ (self class repositoryFor: eachRepositorySpec) cacheAllFilenames ]
+ 				on: Error
+ 				do:
+ 					[ : err | tried
+ 						ifTrue: [ err pass ]
+ 						ifFalse:
+ 							[ tried := true.
+ 							self class resetDefaultLocalRepository.
+ 							err retry ] ].
- 			[ : eachPackageName : eachRepositorySpec | | repo version |
- 			(repo := self class repositoryFor: eachRepositorySpec) cacheAllFilenames.
  			toUncache add: repo.
  			version := self
  				primMerge: eachPackageName
  				from: repo.
  			"Lazy code, polite MC won't add duplicates if they already exist."
  			version ifNotNil:
  				[ version workingCopy repositoryGroup
  					 addRepository: repo ;
  					 addRepository: (self class defaultRepositoryFor: eachRepositorySpec) ] ].
+ 	toUncache do:
+ 		[ : each | each flushAllFilenames ]!
- 	toUncache do: [ : each | each flushAllFilenames ]!



More information about the Squeak-dev mailing list