[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