-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Jan 8, 2009, at 4:28 PM, Marius Gedminas wrote:

After Jim's explanation (thanks!) I don't see a reason why develop- eggs
couldn't also be shared... no, wait, perhaps I see one.

Imagine project A using a develop-egg of a *branch* of zope.frobozz,
while project B uses a develop-egg of the *trunk* of zope.frobozz.  In
that case /path/to/project-A/develop-eggs/zope.frobozz.egg-link will
contain a link to ~/src/zope.frobozz/random-feature-branch, while
/path/to/project-B/develop-eggs/zope.frobozz.egg-link would containt a
link to ~/src/zope.frobozz/trunk.  Same filename, different content --
ergo, develop-eggs cannot be shared between projects.

I have a couple of source trees in my home directory that contain an
actual example of this.

That makes sense.  I don't do this, but it definitely makes sense.

I kind of dislike having artifacts like these live in my version
controlled source directory (well, there's bin  too, but I can kind
of live with that).  What's the best way of doing  that?

echo 'bin parts develop-eggs' > .csvignore
svn propedit svn:ignore .
bzr ignore bin parts develop-eggs
or the equivalent for the VCS of your choice.

Actually, it's not so much 'bzr stat' that I care about since that's
easily ignored.

(in which case your wording misled me ;)

Sorry ;)

It's 'ls' that I care about since that's tougher to
ignore.  I guess I could use dot-prefixes. ;)

Personally, I'm more bothered by the '*.egg-info' directories created by setuptools. Also, but to a somewhat lesser extent, the 'build' and 'dist'
ones created by distutils.

Yeah, I hate all of those too!

'bin' and 'parts' are something I need to deal with rather often. I've
grown to like bin/$randomscript, and while 'parts/$whatever/$somefile'
is a bit too deep and nested, I appreciate the namespacing and
explicitness ("this is a directory managed by buildout; it may be wiped
out at any moment; don't touch it").  'develop-eggs' is something that
I'm not personally interested in and wouldn't mind hiding with a
dot-prefix, but since I can't do that with 'build' and 'dist', I don't
see much point. As long as it doesn't interfere with my tab- completion,
I'm fine.

bin is a tough one.  I love its convenience.  parts I've never used.

setup_requires dependencies also show up here (I always see the bzr egg because I setup-depend on setuptools_bzr).

One other thing that bugs me about these is that it's not obvious from an ls what you can actually delete because it's an artifact of setuptools/buildout/etc and what is part of your package. I mean, you have to know that it's safe to delete bin, dist, and build right?

setup.py has a 'clean' command but it's not enough. Maybe if buildout added a --clean option or something that would be better. What I really want is a simple way to revert a tree back to its pristine version-controlled layout, without all the build, develop, test artifacts.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iQCVAwUBSWZyAXEjvBPtnXfVAQKOYwP/Y3f/KD+/xXRzIP3TyRFUgtVywAfdnytU
+H58rajSCt/WrYhwkLlFxBga/+/FQ7HqtpBQYZ7WEidh6FM2qjMmVGkVgVtOE3kQ
umBgYc25lLytwj2nS05ZRANHDLYhWNbq8XMxrNnWLMPxxlT48ldrziBRv8MrKAX7
cBxHuKzJOAY=
=21nV
-----END PGP SIGNATURE-----
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to