Migrate versions to a new hierarchy

Suppose you have some versions which you've created in one hierarchy (/vesta/foo.example.com) but now you want the same things in a different hierarchy (/vesta/bar.example.com). Maybe you put them in a temporary or private hierarchy and now you want to move them to a permanent or public one. Or maybe you're reorganizing you're repository (see ReorganizingRepos).

To migrate to a new hierarchy link this, you'll need to:

It's sure annoying to do that by hand. Luckliy, it's not too hard to write a script to help you. There are two such scripts attached to this page which you may find useful if you need to do this.

You should probably read these scripts carefully before using them and/or try them out with a test hierarchy before asking them to modify your "real" intended target hierarchy. Remember: names in the Vesta repository are immortal once created, so if the scripts make a mess cleaning up after them will mean leaving ghosts behind.

Migration of self-contained versions

The script move-versions.pl will move one or more versions from an old hierarchy to a new hierarchy, preserving branch structure and version numbers. It does not modify the contents of the versions in any way. It's fairly simple but is most useful for simple versions without imports.

Migration of entire builds

The script mirror-legacy-version.pl will move the entire import tree of a build to a new hierarchy, re-writing model improts as it does so. It's a lot mroe complicated and has a few additional limitations (like not handling branches).