Re: Re: faulty releases and pypi access [update]
Jim Fulton <[email protected]> Wed, 26 Sep 2007 18:31:53 -0400
| Newsgroups | gmane.comp.web.zope.zope3 |
|---|---|
| Message-ID | <[email protected]> |
On Sep 26, 2007, at 6:23 PM, Philipp von Weitershausen wrote: > On 27 Sep 2007, at 00:14 , Jim Fulton wrote: >>> Let's say X depends on Y and I'm developing them simultaneously >>> as development eggs in one sandbox (e.g. buildout). I add a >>> feature to Y that I'd like to use in X. That means I'll have to >>> change X's version dependency regarding Y so that it now depends >>> on Y>a.b where a.b is the latest release that didn't have the >>> feature I added. >>> >>> Will Y with the setup.py stating version='unreleased' satisfy the >>> Y>a.b requirement that X (rightfully) has? If not, then I think >>> we have a problem. If yes, then I find that very confusing. >> >> Leaving aside for the moment the fact that "develop" eggs are used >> for system egg installs :(, >> >> I think if a buildout uses a develop egg, there should be a very >> strong presumption that it it should be used. OTOH, if you have a >> part that depends on a previous major version, then you don't >> really want to use a develop egg for the later release. This is a >> bit of an edge case though. > > It is as long as you ignore the fact that all major Linux distros > install develop eggs into site-packages. I already left that aside. :) Buildout should be able to detect this case and deal with it, which is why I left it aside. > >>> I still see the development egg case the best argument for >>> putting the next anticipated version number into setup.py. I >>> think the compromise of version number + 'dev' marker would work >>> best. >> >> I agree that the develop egg case is problematic. I'd like to >> think about that. >> >> If you ever actually make dev releases, then guessing wrong about >> the next version could cause real problems. > > Oh, I'm not actually thinking about dev releases. I too think > they're very problematic. I just suggested using the 'dev' marker > as a way to tell branches or the trunk apart from tags. But people will make these releases and leaving the version out will mean that these releases will be harmless. > On the branches and trunk, setup.py's version is the next > anticipated release + 'dev', while on tags it's just release > version. That way people won't accidentally make releases from > branches or the trunk (because they'd get an egg with a 'dev' in > the version). They'll have to use a tag. You think getting an egg with dev in the version will stop them? Jim -- Jim Fulton Zope Corporation