At 12:26 PM 6/22/2006 -0400, Jim Fulton wrote: >On Jun 21, 2006, at 5:11 PM, Phillip J. Eby wrote: >>"""Requirement strings basically consist of a distribution name, an >>optional list of "options" (more on this in a moment), and a comma- >>separated list of zero or more version conditions. Version >>conditions basically specify ranges of valid versions, using >>comparison operators. The version conditions you supply are sorted >>into ascending version order, and then scanned left to right until >>the package's version falls between a pair of > or >= and < or <= >>conditions, or exactly matches a == or != condition.""" > >I don't think this is right. :) >... >When scanning left to right, 1.9 matches !=1.1, so it should match and, >since it is the highest version, it should be returned. Either your >description >of the algorithm is incorrect or I'm misunderstanding it.
You're missing the "exactly matches" part. The relevant context is: "Until the package's version ... exactly matches a == or != condition". Perhaps making that "a == or != condition's version" would have been clearer, as that's what I meant by that phrase. Anyway, "1.9" does not exactly match the "1.1" in "!=1.1". _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
