<div dir="ltr">On Tue, Feb 26, 2013 at 11:01 AM, Donald Stufft <span dir="ltr"><<a href="mailto:donald.stufft@gmail.com" target="_blank">donald.stufft@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<div><span style="color:rgb(160,160,168)">On Tuesday, February 26, 2013 at 10:10 AM, Nick Coghlan wrote:</span></div><blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px">
<span><div><div><div>Remember, part of the goals of both PEP 386 and PEP 426 is to tighten</div><div>up cases where setuptools is considered too permissive, because it's</div><div>guessing in the face of ambiguity. "Trailing zeroes should be</div>
<div>considered implied" when comparing versions is one such guess.</div></div></div></span></blockquote></div><div><div>It goes against the common usage in the Python community.</div><div><br></div><div>* 135869 total releases</div>
<div>* 66528 total releases that have at least 3 version levels (A.B.C)</div><div>* 20244 total releases that have at least 3 version levels where A.B and</div><div> A.B.0 appear to be equivalent[1].</div><div>* 86 total releases using at least 3 version levels where A.B and A.B.0 appear</div>
<div> to be different[2].</div><div><br></div><div>Would break the assumptions made in ~30% of the releases using at least 3</div><div>version levels, or 15% of all releases. Furthermore A.B == A.B.0 being</div><div>equivalent is a matter of opinion with no clear answer. I would be inclined</div>
<div>to say that not breaking it for the 15% of all releases is a greater net</div><div>benefit here then anyones notion of "right" unless there is a clear benefit.</div><div><br></div><div>For what it's worth, the implementation of PEP386 treats them as equal as well,</div>
<div>choosing to pad the shorter one out to whatever the requisite number of 0's</div><div>is required to make the number of components equal.</div><div><br></div><div>On a tangential note PyPI should probably not be allowing you to upload both</div>
<div>a A.B and an A.B.0, or at the very least if we want PyPI to continue allowing</div><div>it then we need to be explicit about how that should be handled in either scheme.</div></div></blockquote><div><br></div><div style>
With "prefix equals" would the following evaluate to true?</div><div style><br></div><div style>1.4 == 1 == 1.3.1</div><div style><br></div><div style><br></div></div></div></div>