[squeak-dev] Too many update configs in trunk?

Bert Freudenberg bert at freudenbergs.de
Thu Jun 9 21:51:19 UTC 2011


Hi folks,

I just tried to update an older trunk image to the current one. It took ages.

I have the impression that people are committing way more update configs than necessary. These are not cheap, but they force an incremental update process. Instead of just loading the latest version, they force me to load many many intermediate versions. I cannot imagine it is necessary to have so many. We are close to 200 now.

Normally we only need a new config map when the load order of packages needs to change. But I see many configs where the order does not change at all. Attached below.

Sometimes it might be necessary to force a specific version to be loaded before a subsequent version. But is that really necessary that often?

If it is indeed necessary, then we need to figure out a way to only force-loading a specific package, not all packages. That would speed up the updates quite a bit.


- Bert -


----
update-ul.118.mcm
----
update-ul.119.mcm
----
update-nice.120.mcm
----
update-nice.121.mcm
----
update-ul.122.mcm
----
update-ul.123.mcm
----
update-ul.124.mcm
----
update-nice.125.mcm
----
update-nice.126.mcm
----
update-nice.127.mcm
----
update-ar.128.mcm
+ Monticello
Compiler
EToys
Exceptions
Files
FlexibleVocabularies
Graphics
GraphicsTests
Installer-Core
Kernel
KernelTests
MonticelloConfigurations
- Monticello
----
update-ar.129.mcm
----
update-ar.130.mcm
----
update-nice.131.mcm
----
update-nice.132.mcm
----
update-ul.133.mcm
----
update-laza.134.mcm
----
update-nice.135.mcm
----
update-nice.136.mcm
----
update-ul.137.mcm
----
update-ul.138.mcm
+ Kernel
Compiler
EToys
Exceptions
Files
FlexibleVocabularies
Graphics
GraphicsTests
Installer-Core
- Kernel
----
update-ar.139.mcm
+ System
Morphic
Multilingual
MorphicExtras
MorphicTests
MultilingualTests
Nebraska
Network
NetworkTests
PackageInfo-Base
PreferenceBrowser
Protocols
SMBase
SMLoader
ST80
SUnit
SUnitGUI
ScriptLoader
Services-Base
Sound
- System
----
update-nice.140.mcm
----
update-ul.141.mcm
----
update-ul.142.mcm
----
update-nice.143.mcm
----
update-ul.144.mcm
----
update-ar.145.mcm
----
update-ul.146.mcm
----
update-bf.147.mcm
+ HelpSystem-Core
+ HelpSystem-Tests
+ Help-Squeak-Project
----
update-ul.148.mcm
----
update-ar.149.mcm
----
update-nice.150.mcm
----
update-ar.151.mcm
+ Network
Collections
CollectionsTests
Compression
Monticello
Kernel
Compiler
EToys
Exceptions
Files
FlexibleVocabularies
Graphics
GraphicsTests
Installer-Core
KernelTests
MonticelloConfigurations
System
Morphic
Multilingual
MorphicExtras
MorphicTests
MultilingualTests
Nebraska
- Network
----
update-ar.152.mcm
+ Compression
Collections
CollectionsTests
- Compression
----
update-ul.153.mcm
----
update-ul.154.mcm
----
update-ul.155.mcm
----
update-ul.156.mcm
----
update-ul.157.mcm
----
update-ul.158.mcm
----
update-ul.159.mcm
----
update-ul.160.mcm
----
update-ul.161.mcm
----
update-ul.162.mcm
----
update-ul.163.mcm
----
update-dtl.164.mcm
+ Help-Squeak-TerseGuide
----
update-ul.165.mcm
----
update-ul.166.mcm
----
update-ul.167.mcm
----
update-ul.168.mcm
----
update-nice.169.mcm
----
update-dtl.170.mcm
+ SystemReporter
----
update-ul.171.mcm
----
update-ul.172.mcm
----
update-ul.173.mcm
----
update-ul.174.mcm
----
update-ul.175.mcm
----
update-dtl.176.mcm
----
update-ul.177.mcm
+ BalloonTests
----
update-ul.178.mcm
----
update-cmm.179.mcm
+ TrunkScript
----
update-cmm.180.mcm
- TrunkScript
----
update-ul.182.mcm
----
update-cmm.183.mcm
----
update-nice.184.mcm
----
update-ul.185.mcm
----
update-ul.186.mcm
----
update-ul.187.mcm
----
update-kb.188.mcm
----
update-nice.189.mcm
----
update-ul.190.mcm
----
update-ul.191.mcm


repo := MCRepositoryGroup default repositories detect: [:r | r description = 'http://source.squeak.org/trunk'].
updates := repo allFileNames select: [ :f | (f beginsWith: 'update-') and: [f endsWith: '.mcm'] ].
updates := updates asSortedCollection: [ :a :b | (a allButLast: 4) numericSuffix < (b allButLast: 4) numericSuffix].
Transcript clear.
updates do: [ :update |
	Transcript show: '----'; cr; show: update; cr.
	config := repo versionNamed: update.
	pkgs := String streamContents: [:s | config dependencies do: [:dep | s nextPutAll: dep package name; cr] ].
	prev ifNotNil: [
		context := nil.
		(TextDiffBuilder from: prev to: pkgs) 
			patchSequenceDoIfMatch: [ :string | context ifNotNil: [context := context, string ] ]
			ifInsert: [ :string | context ifNotNil: [Transcript show: context]. Transcript show: '+ ', string. context := '']
			ifRemove: [ :string | context ifNotNil: [Transcript show: context]. Transcript show: '- ', string. context := ''].
		].
	prev := pkgs]. 





More information about the Squeak-dev mailing list