On Wed, Sep 26, 2012 at 3:09 PM, Donald Stufft <[email protected]> wrote: > I've been comparing how PEP386/distutils2.version treats versions > and how pkg_resources from setuptools treats versions and it > confirmed a worry of me with the way that dev is treated in PEP386. > > In PEP386 you have several kinds of "top level" releases, these > are alpha, beta, candidate, and final and they are sorted as you > would expect. On top of that it has pre and post releases for > any of those top level releases. The pre releases are tagged > with a ".dev" and post releases are tagged with a ".post". They > are sorted immediately before/after the "main" release that they > are pre/post for. > > In pkg_resources dev is treated as it's own "main" release and > sorts it in front of an alpha. > > This means that given the versions: > > ["0.1.dev1", "0.1a1", "0.1b1", "0.1c1", "0.1"] > > PEP386 will sort them as: > > ["0.1a1", "0.1b1", "0.1c1", "0.1.dev1", "0.1"] > > and pkg_resources will sort them as: > > ["0.1.dev1", "0.1a1", "0.1b1", "0.1c1", "0.1"] > > > To further complicate things the most common usage I've personally seen > in the wild is that of "0.1dev" or "0.1dev1" which the author expects to > sort > before an alpha (In this case distutils2.version throws an error, but the > suggest > function is able to turn it into 0.1.dev1). > > I think this difference is going to cause confusion, especially during the > the > transition period when you're going to have people using both pkg_resources > and the new PEP386 functions. > > Since PEP386 is only in the "Accepted" stage, and isn't part of the official > implementation yet, is it at all possible to revise it? Ideally I think to > follow > with the prior art, and people's expectations "dev" should be moved to a > "main" > release type sorted before an alpha, and to take it's place as a pre release > modifier > perhaps something like "pre" can be used instead (e.g. "0.1.pre1").
+1 Thanks for re-raising this issue. The PEP 386 ordering completely breaks the expectations inherent in my dev/release process. That may just be me, but anecdotal evidence seems to imply that this is generally the case. Erik _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
