Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"unrecognized .svn/entries format" using buildout

Since upgrading to subversion 1.7 I get "unrecognized .svn/entries format" when running buildout. I notice there is an unresolved bug reports for both distribute and setuptools for this error and it also seems that you can use setuptools_subversion to resolve the issue.

What I can't find out how to do is install setuptools_subversion so that buildout picks it up. Please can someone help?

I've tried

  • downloading it and running python setup.py install
  • adding it to the eggs list of the [buildout] part of my buildout configuration
like image 962
scarba05 Avatar asked Mar 24 '12 12:03

scarba05


1 Answers

You need to install it at the python site-packages level; easy_install (used under the hood by buildout) needs it available before it'll install anything else.

That said, the python setup.py install stanza should have installed it just fine; check by running the following test:

$ python -m setuptools_subversion
/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/setuptools_subversion.py directory

That should print the installation path of the module, like it did for me in the above example. You could try to use pip or easy_install for automatic download:

$ pip install setuptools_subversion

or

$ easy_install setuptools_subversion

You can do that in a virtualenv if you want to isolate the installation. Because this is basically a dependency for svn 1.7, installing this at the same level as the svn binary (usually system wide) is certainly acceptable and the norm.

Note that the unrecognized .svn/entries format error message will not disappear, but your buildout will otherwise succeed. The message is printed no matter what as easy_install first tries the internal .svn parser before deferring to the external plugin.

If you really, really want to verify if the plugin is installed, run the following python code:

import pkg_resources
for entrypoint in pkg_resources.iter_entry_points('setuptools.file_finders'):
    print entrypoint

On my system this prints:

svn = setuptools_subversion:listfiles
svn_cvs = setuptools.command.sdist:_default_revctrl
git = setuptools_git:gitlsfiles
hg = setuptools_hg:hg_file_finder
like image 105
Martijn Pieters Avatar answered Sep 21 '22 12:09

Martijn Pieters