-----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