gitegginfo
Introduction
Package gitegginfo
adds two setuptools commands to make it possible to
use setuptools with git repositories when building development eggs. Problems
occur in that setuptools specifically looks for subversion revision numbers,
even when subversion is not the underlying SCM.
This package is intended for use with git-svn, which I use as an interface between git and subversion.
gitegginfo
The gitegginfo
command is an extension of setuptools' egg_info command.
Where the egg_info command is unwisely specific to the subversion version
control system, the gitegginfo command is unwisely and explicitly tied to the
Git DVCS (distributed version control system).
gitsdist
The sdist
command that comes with setuptools is used to generate source
distributions, i.e. tarballs. When building a development ("dev") egg,
setuptools attempts to query the current revision number via the egginfo
command, which fails for reasons described above. The gitsdist
command
instead uses the gitegginfo
command to get the revision information.
Sample Commands
To build an .egg-info
folder with git-svn
revision data:
python setup.py gitegginfo -r
To build a development source distribution:
python setup.py gitegginfo -rDb dev gitsdist
Troubleshooting
If you run into the problem where setuptools isn't including all your code in the created egg, you may need to install package setuptools-git.
Editorial
As I write this, the Python packaging infrastructure is in a dismal state.
See Also
distutils, git, git-svn, sdist, setuptools, setuptools-git, subversion