Monticello issues

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Monticello issues

Levente Uzonyi-2
Hi,

I uploaded a few changes for MC which fix most issues (Installer, Gofer)
and also yield better performance. Some issues are still present:
(1) multiple repositories named "cache" show up in Monticello Browser
after loading Metacello configurations
(2) HTTP repositories are updated twice when opened from the MC Browser
(3) I'm still not sure diffy versions (.mcd) are downloaded during
updates, all I see are .mcz files in the package cache

I found that the cause of double updating (2) is the change of
MCRepositoryInspector >> #packageList. It sends #versionNames which
updates once, then it sends #allPackageNames which does it another time.
Wrapping those methods in

repository cacheAllFileNamesDuring: [ ... ]

seems to be a solution, but I'm not familiar with the code of MC, so I'm
not sure if this is the right thing to do.


Cheers,
Levente

Reply | Threaded
Open this post in threaded view
|

Re: Monticello issues

Chris Muller-3
Thanks Levente.  You were right about #2, good catch.

I'm not sure about 3.  I don't see how the update process could avoid
downloading full mcz's if that's what we're posting to the trunk.
There is a setting on each repository to "store diffs", which causes
.mcd's to be produced, but I don't know whether anyone uses that on a
regular basis for trunk.

I'm all for improving the efficiency; how about we analyze what we
want and move forward by just implementing what we want, the code is a
lot easier to work on now.

 - Chris


> I uploaded a few changes for MC which fix most issues (Installer, Gofer) and
> also yield better performance. Some issues are still present:
> (1) multiple repositories named "cache" show up in Monticello Browser after
> loading Metacello configurations
> (2) HTTP repositories are updated twice when opened from the MC Browser
> (3) I'm still not sure diffy versions (.mcd) are downloaded during updates,
> all I see are .mcz files in the package cache
>
> I found that the cause of double updating (2) is the change of
> MCRepositoryInspector >> #packageList. It sends #versionNames which
> updates once, then it sends #allPackageNames which does it another time.
> Wrapping those methods in
>
> repository cacheAllFileNamesDuring: [ ... ]
>
> seems to be a solution, but I'm not familiar with the code of MC, so I'm not
> sure if this is the right thing to do.
>
>
> Cheers,
> Levente
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Monticello issues

Bert Freudenberg
On 23.03.2011, at 22:49, Chris Muller wrote:

> I don't see how the update process could avoid
> downloading full mcz's if that's what we're posting to the trunk.

You only upload MCZs to source.squeak.org.

When updating using a config, your image will request an MCD that is the diff from your currently loaded version to the one to be loaded. The source server generates the diff (unless it has it cached already) and delivers it. Applying this MCD to the image will avoid taking a snapshot of the image package first. This makes updating using Monticello about as fast as using a changeset stream (provided your in-image package is not dirty, otherwise a full snapshot and merge is performed).


- Bert -