Tres Seaver wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Martin Aspeli wrote:
Hi,
We normally put development eggs under version control while people are working on them. However, when they are installed (by buildout, in our case, but I assume "python setup.py develop" is similar), a <package>.egg-info directory is created.
Putting this under version control seems problematic, because developers tend to get conflicts in PKG-INFO and similar files. Thus, I tend to set svn ignores on the whole directory. People have to re-do the develop egg installation locally anyway.
However, when using Paster with local commands, it writes a paster_plugins.txt file to the egg-info which doesn't seem to be re-created when I re-run buildout (again, I assume "python setup.py develop" would behave in the same way). That means that for Paster local commands to continue to work, I have to set ignores on almost everything in the egg-info directory, but not that file, which is cumbersome and error prone.
Am I missing something here? What's the best strategy for putting develop eggs under version control? Is this an issue with Paster or with eggs in general? I'm assuming other things that extend the egg-info would have similar problems.
IMNSHO, anything in the .egg-info directory should be considered a derived file, and therefore NOT placed under version control (we don't check in .o / .so / .dll files either). If some tool can't recreate the files it needs on demand in that directory, that would be a bug in that tool (or perhaps the mode in which it is invoked).
That was my impression too. If that's a safe assumption to make, then we can continue to say that *.egg-info goes in svn:ignores. I can't figure out from http://pythonpaste.org/script/developer.html how the files are supposed to be created though. Wiping egg-info and re-running buildout certainly doesn't re-create it. Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book