[Distutils] buildout behavior as source revisions change

John Griessen john at industromatic.com
Wed Jun 23 23:51:43 CEST 2010

Some weeks ago I made a buildout config using mr.developer and djangorecipe extensions
that worked to get a svn trunk version of django-mptt
and now it stops with an error message.

Is there a way to specify sources better so it still works when a rev number changes?  Do I have a syntax error?
The place it has trouble with is     rev=>0.2.2

Now I think I can do without the svn version since django-mptt is now at 0.3.0.

$ bin/buildout output from past the error message
    Getting distribution for 'django-mptt-2>0.2.1'.
    zip_safe flag not set; analyzing archive contents...
    mptt.tests.settings: module references __file__
    mptt.tests.test_runner: module references __file__
    Got django-mptt-2 0.3.0.
The Getting line above says the   rev=>0.2.2 didn't get used anyway?
Know why not?  Is this a mr.developer problem?

Please give my buildout config a look and suggest how I can learn this better.
The config and the error output follow.



eggs-directory = /home/john/buildout/eggs
extensions = mr.developer
sources = sources
auto-checkout = django-mptt

parts =

eggs =

django-mptt = svn http://django-mptt.googlecode.com/svn/trunk/ rev=>0.2.2 path=src-untouched

recipe = djangorecipe
version = 1.1.1
settings = development
wsgi = true
eggs = ${buildout:eggs}
project = cottagematic_com
comand line output
john at toolbench:~/WEBprojects/cottagematic_bld$ bin/buildout
Getting distribution for 'mr.developer'.
Got mr.developer 1.14.
Page at http://pypi.python.org/simple/argparse/ links to .py file(s) without version info; an index scan is required.
Getting distribution for 'argparse'.
zip_safe flag not set; analyzing archive contents...
Got argparse 1.1.
mr.developer: Queued 'django-mptt' for checkout.
Exception in thread Thread-1:
Traceback (most recent call last):
   File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
   File "/usr/lib/python2.6/threading.py", line 484, in run
     self.__target(*self.__args, **self.__kwargs)
   File "/home/john/buildout/eggs/mr.developer-1.14-py2.6.egg/mr/developer/common.py", line 99, in worker
     output = action(**kwargs)
   File "/home/john/buildout/eggs/mr.developer-1.14-py2.6.egg/mr/developer/svn.py", line 263, in checkout
     matches = self.matches()
   File "/home/john/buildout/eggs/mr.developer-1.14-py2.6.egg/mr/developer/svn.py", line 298, in matches
     return (info.get('url') == url) and (int(info.get('revision')) > int(rev[1:]))
ValueError: invalid literal for int() with base 10: '0.2.2'

More information about the Distutils-SIG mailing list