[Distutils] Putting egg-info under version control

Martin Aspeli optilude at gmx.net
Mon Feb 25 00:31:12 CET 2008


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



More information about the Distutils-SIG mailing list