[Zope3-dev] Re: faulty releases and pypi access [update]
Jim Fulton
jim at zope.com
Wed Sep 26 18:31:53 EDT 2007
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
More information about the Zope3-dev
mailing list