[squeak-dev] The Inbox: Monticello-mva.662.mcz

Milan Vavra vavra_milan at yahoo.com
Sat Feb 11 17:06:14 UTC 2017


Hi Chris,

It is not the downloading that is the problem. It is the sheer number of
files that the current Monticello Repository browser implementation can not
handle gracefully. There are 9646 filenames in the trunk repository. And
that is the problem. And that is exactly what this commit fixes. Let me
demonstrate.

You can do a test with a local file repository that contains 9646 files.

You can create those as empty files, just the filenames really.

The filenames have to be what Monticello expects, namely 
Monticello-test.1.mcz to Monticello-test.9646.mcz

And you have to make Monticello stop displaying the summaries which will
stop it from reading the files.

This is how you create the directory.

d1 := FileDirectory forFileName: 'C:\'.
d1 createDirectory: 'repo1'.

This is how you create the files.

d := FileDirectory forFileName: 'C:\repo1\'.

1 to: 9646 do: [:i | | f |
	fn := 'Monticello-test.', i asString, '.mcz'.
	[ f := d fileNamed: fn] ensure: [ f close ]
].

This is how you disable the displaying of summary information for packages
not in the cache.

!MCFileRepositoryInspector methodsFor: 'private' stamp: 'mva 2/11/2017
17:56'!
summary
	^(self hasVersion 
		and: [ (repository cache at: selectedVersion ifAbsent: []) notNil ] ) 
		ifTrue: [ self versionSummary ]
		ifFalse: [ String new ]
! !


Now add C:\repo1 as a directory repository to Monticello browser.

Now you can open a Repository browser on the repository and try using
filtering.

It won't work even though there is no downloading involved.

Now load this commit. And voila! You can filter all you want. Local and
remote.
Directory and HTTP.

Best Regards,

Milan



--
View this message in context: http://forum.world.st/The-Inbox-Monticello-mva-662-mcz-tp4933738p4933935.html
Sent from the Squeak - Dev mailing list archive at Nabble.com.


More information about the Squeak-dev mailing list