Integration with version control

versiontools supports a form of version control system integration. This code is only triggered for development versions of your project (indicated by setting releaselevel to dev")

In development mode the generated version string will include the revision number or the abbreviated hash of the current commit. This makes it nice for ongoing releases on pypi as after each commit your source tarballs will be different.

Batteries included

The following version control systems are supported out of the box. To use them you need to have the corresponding libraries installed. Check the links below for details.

Bazaar

Using bazaar appends the branch revision to the version string. See versiontools.bzr_support

Git

Using git appends the short commit id of the active branch. See versiontools.git_support

Mercurial

Mercurial plug-in appends the branch revision to the development version. See versiontools.hg_support

Custom version control systems

VCS integration is not hard-coded into versiontools. Instead any package that uses setuptools and provides an entry point versiontools.vcs_integration can add support for integration with additional version control systems.

To see how to implement this simple API refer to the bundled plug-in for Bazaar BzrIntegration, Git GitIntegration or Mercurial HgIntegration.

To make versiontools aware of additional plug-ins they need to be registered in the entry points database. To do that make sure your package uses setuptools and put the following snippet into your setup.py:

setup(
    name="foo",
    description="The imaginary foo version control system",
    entry_points="""
    [versiontools.vcs_integration]
    foo=foo.versiontools_plugin:FooIntegration
    """
    )

This will make versiontools look for the foo system by importing foo.versiontools_plugin and extracting the FooIntegration class. Remember that your foo package needs to be installed for this system to work.

Read the Docs v: latest
Versions
release-1.9.1
latest
1.10
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.