Failure to extract svn revision
I'm having trouble getting setuptools to properly extract the svn revision and write it into the <package>.egg-info/PKG-INFO file in a new environment. It has worked correctly for years in our previous environments, so I'm not sure what I'm doing wrong at this point.
The environments where this works are virtualenvs based on Python 2.6 (and previously to that, 2.5) on various versions of Ubuntu. The new environment is a Python 2.7.6 virtualenv on what will become Ubuntu 14.04 "Trusty Tahr" when that's finalized.
The system-wide Python used to bootstrap the virtualenv has setuptools 3.3 installed. I've also installed setuptools 3.4.3 in the virtualenv to see if that helped, but it makes no difference. Our package's setup.cfg file contains the usual:
[egg_info] tag_build = dev tag_svn_revision = true
Running `python setup.py develop` (or egg_info directly, or one of the other commands that call egg_info) results in the <package>.egg-info/PKG-INFO containing:
Metadata-Version: 1.0 Name: <packagename> Version: 5.0dev
(with all other values being UNKNOWN, which is fine). In our other environments, the version properly gets the svn revision number appended, like this:
The upcoming Ubuntu release features subversion 1.8.8 instead of the 1.6.x in the last long-term-support release, so I thought that might be the source of the problem -- but manually running the code from svn_utils.py shows it seems to work:
from setuptools.svn_utils import * working_copy = '/path/to/srcdir/subdir' SvnInfo().load(working_copy).get_revision()
In case it's relevant, setup.py/setup.cfg and the package I'm dealing with are in a subdirectory of the working copy, so the .svn/ dir and its files etc are in the parent directory, not the directory setup.py runs in. `svnversion` correctly fetches the revision number regardless, of course.
I haven't found any docs/FAQs/etc that would seem to be related - all the subversion-related issues seem to be from the earlier transition to 1.5 or 1.6, which is long past.
Am I doing something wrong here? Can anyone suggest why the revision tagging is failing to work in my new environment?
Charles Cazabon email@example.com wrote:
I'm having trouble getting setuptools to properly extract the svn revision and write it into the <package>.egg-info/PKG-INFO file in a new environment.
Spent some time tracking this down, and it appears to be a bug in setuptools. In my environment (Python 2.7.6 virtualenv with setuptools 3.4.3) and a local package which is in a *subdir* of the svn 1.8.x working copy checkout, this test in egg_info.py:tags():
if self.tag_svn_revision and ( os.path.exists('.svn') or os.path.exists('PKG-INFO') :)
... fails. Fixing that test fixes the problem for me. I'll file an issue on the project bugtracker.