- don't use the current 4-digit limitation, but instead list with a random amount of entries - entries are separated by dots or dashes - entries are separated by transition to/from alpha to numeric - sub-lists are indicated by '-' - entries can be either: string, integer, or sublist - versions are compared entry by entry, where we have 3 options; * integer <=> integer: normal numerical compare * integer <=> string: integers are newer * integer <=> list: integers are newer * string <=> string: if it's a qualifier, qualifier compare, else lexical compare, taking into account if either is a qualifier. * string <=> list: list is newer * list <=> list: recursion, same as a 'top-level' version compare. Where one list is shorter, '0' is assumed (so 2.0 <=> 2 == 0, 2.0-alpha <=> 2.0 => 2.0-alpha <=> 2.0.0 = -1 (2.0 = newer))
The edge cases around the examples like 1.0alpha2 and 1.0-alpha-2 are bit beyond how I would use things so I can't really comment. However I would expect a project to be self consistent so it doesn't really matter if 1.0alpha2 is newer than 1.0-alpha-2, just as long as 1.0alpha2 < 1.0alpha3 and 1.0-alpha-2 < 1.0-alpha-3 which the rules cater for. Everything else seems reasonable and the examples appear to make sense and parse the way I would expect things to work. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]