Skip to main content

Setuptools revision control system plugin for Subversion

Project description

Subversion support for setuptools

Setuptools has built-in support for subversion repositories; it’ll find all files tracked by subversion and include them when building a distribution.

However, this support directly reads the private subversion repository metadata files, and these have been know to change from version to version. For example, subversion 1.7 switched to one top-level .svn directory with a sqlite database, instead of separate directories throughout the working copy with proprietary or XML text files in preceding versions. As of the time of this package development, setuptools does not yet support working copies using the subversion 1.7 sqlite database format.

This package uses the svn list command instead to list files in a repository, avoiding having to know about every version of subversion and it’s particular metadata formats.

Note that when using setuptools on a subversion 1.7 working copy, setuptools itself will complain about not being able to parse the .svn/entries file before it delegates file listing to this plugin. This is just a warning, and can safely be ignored.


  • Python 2.4 or newer (including python 3.x)
  • The svn command line tool. Any version will do.


The project code is hosted on GitHub, feel free to report issues, fork the code and issue pull requests.


BSD (simplified), see: LICENSE.txt


Martijn Pieters <>


2.1 (2012-08-08)

  • Do not rely on sys.stdout.encoding, use locale.getpreferredencoding() instead; when used as a pipe no encoding is set otherwise. [stefan]

2.0 (2012-08-04)

  • Don’t log an error when the target directory is not a Subversion sandbox. [stefan]
  • Return Unicode strings under Python 3. [stefan]

1.8 (2012-07-11)

  • Fixed compatibility with Python 2.4 once more. [mj]

1.7 (2012-07-11)

  • Fix issue #3: svn ls on Windows may return slashes. [stefan]

1.6 (2011-11-09)

  • Fixed compatibility with Python 3. [mj]

1.5 (2011-11-09)

  • Fixed compatibility with Python 2.4. [maurits]

1.4 (2011-11-02)

  • Return only files, not directories. [stefan]

1.3 (2011-10-19)

  • Metadata and minor documentation updates. [mj]
  • Improve logging output when the svn command fails; lowering it to INFO level and prepending the module name. [mj]

1.2 (2011-10-19)

  • Compatibility with python versions 2.4 and 2.5 (thanks to Maurits van Rees) as well as python 3. [mj]
  • Documentation updates. [mj]

1.1 (2011-10-17)

  • Packaging metadata update.

1.0 (2011-10-17)

  • Initial release.

Project details

Release history Release notifications

History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date (9.6 kB) Copy SHA256 hash SHA256 Source None Aug 8, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page