Vertoo - elaborate version numbering and automatic update across project files

Status

Features

Documentation

Downloads

Installation

Supported platforms

Author

Copyright information


Vertoo is a tool that lightens developer's burden to maintain up-to-date versioning information within a project by automatically updating corresponding files. Vertoo provides simple interface to change the version (or it's part) and distribute these changes through the project's files. Configuration describes versions used in a project, each in arbitrary, user-specified scheme and formats for each of the occurences of the version's data across the files.

If you find yourself in the situation that each new release requries you to update a bunch of files (README, web-pages, source code, etc.) to change version number (either by hand or with several perl -ipe incantations) this tool may be for you. Vertoo keeps track of the project's version and when you are ready for release you just invoke Vertoo to make necessary changes.

Vertoo is designed to be as non-obtrusive as possible. To use it you just have to create a configuration file where your describe your project's modules, relevant files and version format used. That's all. No changes in your source files (like adding special marks or creating .in files) are requried. Files are modified in-place, as you would do it by hand. Now you could run vertoo, either by hand or by adding appropriate command to one of your Makefile's rules or release script. If you later change your mind and stop using Vertoo you'll just delete it's configuration files. More...


Status

Vertoo is in early stage of development. While it is already quite usable (I'm using it on several of my own projects, including Vertoo itself), it lacks some important features. Still, I encourage potential users to try it out and submit feedback about desired functionality or existing bugs.

Features

  • Flexible and powerful notation to describe versioning scheme.
  • Simple interface to update version info across specified files.
  • SCM integration (automatic commit and tagging for CVS for now).
  • Dependencies between version's components (e.g. reset minor number when major is incremented).
  • Conditional inclusion of versioning components (e.g. only if release number is present).
  • Support for multiple modules within a package each with possibly different versioning schemes and policies.

Documentation

See the User's Guide and current TODO list.

Downloads

Latest public release is 0.8, see Release Notes for details. The following packages are provided:

If you want to participate in the development process or just want the latest codebase for new features and bugfixes use CVS access.

See SourceForge's project page for more information.

Installation

To run Vertoo you basically have two options: either install one of the provided prebuilt binary packages (or build it oneself) or run it directly from unpacked source tarball. Vertoo is using distutils, thus you could build a binary package or install it using setup.py from the sources.

Supported platforms

Vertoo is written in Python and thus requries it to run (at least Python 2.1 is required). I successfully use Vertoo on Linux and Windows and it would probably run on other systems as well.

Author

Max Ischenko <mfi@ukr.net> with major contributions from Sebastien Bigaret <sbigaret@users.sourceforge.net>.

Copyright information

Vertoo is open source software and is distributed under the terms of the Python license.

Hosted by SourceForge Logo