[squeak-dev] Re: Trunk archive policy

Bert Freudenberg bert at freudenbergs.de
Wed Sep 22 14:50:51 UTC 2010


On 22.09.2010, at 02:48, Andreas Raab wrote:

> On 9/21/2010 5:27 PM, Nicolas Cellier wrote:
>> My fear is that Trunk is becoming quite heavy...
> 
> Agree. I think we should move all the pre-4.1 MCZs and MCMs to the 4.1 repository.

+1

> Going forward we should do this more aggressively and basically move everything right when we do the release. That way we start from a nice cleaned out state for the next version.
> 
> What's the best way to identify and move the 4.1 files?

Hmm, not quite straight-forward. But not impossible either.

There is a "move version" and "move package" option which moves one or all versions of a particular package from one repository to another. However, that modifies the meta data (it commits the version to the other repo and marks it deleted in the current one). Also, it duplicates the file.

1.6G	./trunk
303M	./inbox
252M	./treated

What is needed is actually moving these versions from one project to the other, in bulk. This is pretty simple, although there is no UI yet. The file needs to move from one project directory to the next. The entry in the SSProject's versions dictionary needs to be moved to the next. 

The MCDs should just be deleted. There are 5222 cached MCDs in the trunk repo. The #diffs property in each moved SSVersion lists the files to be deleted, and then the property needs to be removed. The MCDs will be re-created on demand so that is fine.

Not sure what to do about the configs. Maybe they need to be moved too? At least they will be broken, since not all versions mentioned in them will be found in the trunk repo anymore. They could be rewritten after moving (adding the squeak41 repo to it, possibly even replacing the trunk repo).

So one idea would be to take the 4.1 config (http://source.squeak.org/squeak41/update-ar.1.mcm) and move all the ancestors of its versions from trunk to the squeak41.

- Bert -




More information about the Squeak-dev mailing list