I’m using Buildout and Mr.Developer in order to set up my environment (both for development and deployments). Part of this set up is pulling a private git repository that is required for this project. (This is why I’m using Mr.Developer.)
Most of the time when I run buildout, everything is fine.
However, after outputting the line below, it will occasionally stop. It doesn’t time out or anything, but it hangs here indefinitely:
mr.developer: Queued 'django-myotherproject' for checkout.
On a normal/successful buildout, it would have outputted:
mr.developer: Queued 'django-myotherproject' for checkout.
mr.developer: Cloned 'django-myotherproject' with git.
Develop: '/projects/myproject/develop/django-myotherproject'
My initial thoughts:
I assumed that it was my git repository host that was possibly timing out. However, I just switched to github, and I’m still experiencing this issue.
Since this only occurs randomly, I don’t think it’s an issue of the settings I’ve specified in my buildout configuration file.
What version of mr.developer are you using? Version 1.20, released 3 weeks ago (late February 2012) includes a refactoring of the thread-lock handling.
From the original pull request that lead to the refactor:
That sounds like exactly the kind of problems you are seeing.
Edit: Version 1.21 is now out and adds thread-control to the configuration. You can now create a
~/.buildout/mr.developer.cfgfile that sets the number of threads to 1 to avoid this problem altogether:The default is 5.