From Christophe Demarey

Tech: Versionner

Versionner is a tool to manage software dependencies into Pharo.

Versionner can be seen as a GUI on top of Metacello to hide the complexity of ConfigurationOf objetcs.

Versionner makes some assumptions:

Open Versionner

You can find Versionner in the World menu / tools / Versionner. The first window you will see displays the list of configurations currently loaded into the image. From here, you can:

Versionner project list
Figure 1 : Versionner project list

You can display an existing configuration by double-clicking on it in the project list. It will open a new window.

Versionner project details
'Figure 1 : Versionner project details

Create a new configuration

Click on the "New project" button. You will be first prompt the project name (without the ConfigurationOf prefix). Then, a window will pop-up showing an empty configuration. You can now update your configuration.

New project
Figure 2 : New project

Update a configuration

The first thing to do is to select the version you want to edit in the versions list. Note that only the #stable and #development versions are displayed by default (tick the browse all box to see all versions). You are now ready to edit the configuration.

WARNING: you will loose your changes if you do not save before unselecting the current version.

Edit packages

To edit packages, use buttons on the top right corner of the list:

Versionner packages toolbar

You can add / remove or edit packages. The edition of a selected package allows you to update its requirements:

Versionner edit requirements

Edit dependent projects

To edit dependent projects, use buttons on the top right corner of the list:

Versionner dependent project toolbar

When adding a dependent project, a first dialog asks you to select a configuration among those already loaded in the image.

Versionner add required project 1

Then, you can specify the repository to use for this project (select a repository already declared in the image, edit one or create a new one).

Versionner add required project 2

Edit groups

To edit groups, use buttons on the top right corner of the list:

Versionner groups toolbar

To add contents to a group, simply drag and drop items (packages, dependent projects) on it.

Versionner groups

Save a configuration

Clicking on Versionner save will save the selected version by updating the current development version. You are in development mode, no need to bloat the configuration with useless versions. You want to keep a version? What you need is to create a release.

Release a version

Clicking on Versionner release will create a release for your project, i.e. a numbered version with fixed packages version, that will be usable by others. The release is done from the current development version.

Commit the project

Clicking on Versionner commit will open the Kommiter tool. Kommiter will display the list of changes ONLY for your project, i.e. your project configuration and your project packages (as described in the latest version). Other changes will not be displayed. You will be able to cherry pick changes and to commit them to their repositories.

Other actions

You also have some operations available from the contextual menu

Versionner projects menu
Versionner versions menu
Retrieved from http://chercheurs.lille.inria.fr/~demarey/Tech/Versionner
Page last modified on April 03, 2014, at 07:52 AM