while (s2 < q2 && !(*s2 >= '0' && *s2 <= '9') &&
!(*s2 >= 'a' && *s2 <= 'z') && !(*s2 >= 'A' && *s2 <= 'Z') && *s2 != '~' && *s2 != '^')
s2++;
- if (s1 < q1 && *s1 == '^')
- {
- if (s2 < q2 && *s2 == '^')
- {
- s1++;
- s2++;
- continue;
- }
- return s2 < q2 ? -1 : 1;
- }
- if (s2 < q2 && *s2 == '^')
- return s1 < q1 ? 1 : -1;
if (s1 < q1 && *s1 == '~')
{
if (s2 < q2 && *s2 == '~')
}
if (s2 < q2 && *s2 == '~')
return 1;
+ if (s1 < q1 && *s1 == '^')
+ {
+ if (s2 < q2 && *s2 == '^')
+ {
+ s1++;
+ s2++;
+ continue;
+ }
+ return s2 < q2 ? -1 : 1;
+ }
+ if (s2 < q2 && *s2 == '^')
+ return s1 < q1 ? 1 : -1;
if (s1 >= q1 || s2 >= q2)
break;
if ((*s1 >= '0' && *s1 <= '9') || (*s2 >= '0' && *s2 <= '9'))
evrcmp 1.0^git1~pre 1.0^git1~pre
evrcmp 1.0^git1 1.0^git1~pre
evrcmp 1.0^git1~pre 1.0^git1
+evrcmp 1.0^1 1.0~1
+evrcmp 1.0~1 1.0^1
result jobs <inline>
-#>job noop provides 1.0 < 1.0^
-#>job noop provides 1.0 < 1.0^git1
+#>job noop provides 1.0~rc1 = 1.0~rc1
+#>job noop provides 1.0~rc1 < 1.0
#>job noop provides 1.0 > 1.0~rc1
-#>job noop provides 1.0.1 > 1.0^20160101
-#>job noop provides 1.01 > 1.0^git1
+#>job noop provides 1.0~rc1 < 1.0~rc2
+#>job noop provides 1.0~rc2 > 1.0~rc1
+#>job noop provides 1.0~rc1~git123 = 1.0~rc1~git123
+#>job noop provides 1.0~rc1~git123 < 1.0~rc1
+#>job noop provides 1.0~rc1 > 1.0~rc1~git123
#>job noop provides 1.0^ = 1.0^
#>job noop provides 1.0^ > 1.0
-#>job noop provides 1.0^20160101 < 1.0.1
-#>job noop provides 1.0^20160101 = 1.0^20160101
-#>job noop provides 1.0^20160101^git1 < 1.0^20160102
-#>job noop provides 1.0^20160101^git1 = 1.0^20160101^git1
-#>job noop provides 1.0^20160102 > 1.0^20160101^git1
-#>job noop provides 1.0^git1 < 1.01
-#>job noop provides 1.0^git1 < 1.0^git2
+#>job noop provides 1.0 < 1.0^
#>job noop provides 1.0^git1 = 1.0^git1
#>job noop provides 1.0^git1 > 1.0
-#>job noop provides 1.0^git1 > 1.0^git1~pre
-#>job noop provides 1.0^git1~pre < 1.0^git1
-#>job noop provides 1.0^git1~pre = 1.0^git1~pre
+#>job noop provides 1.0 < 1.0^git1
+#>job noop provides 1.0^git1 < 1.0^git2
#>job noop provides 1.0^git2 > 1.0^git1
-#>job noop provides 1.0~rc1 < 1.0
-#>job noop provides 1.0~rc1 < 1.0~rc1^git1
-#>job noop provides 1.0~rc1 < 1.0~rc2
-#>job noop provides 1.0~rc1 = 1.0~rc1
-#>job noop provides 1.0~rc1 > 1.0~rc1~git123
+#>job noop provides 1.0^git1 < 1.01
+#>job noop provides 1.01 > 1.0^git1
+#>job noop provides 1.0^20160101 = 1.0^20160101
+#>job noop provides 1.0^20160101 < 1.0.1
+#>job noop provides 1.0.1 > 1.0^20160101
+#>job noop provides 1.0^20160101^git1 = 1.0^20160101^git1
+#>job noop provides 1.0^20160102 > 1.0^20160101^git1
+#>job noop provides 1.0^20160101^git1 < 1.0^20160102
#>job noop provides 1.0~rc1^git1 = 1.0~rc1^git1
#>job noop provides 1.0~rc1^git1 > 1.0~rc1
-#>job noop provides 1.0~rc1~git123 < 1.0~rc1
-#>job noop provides 1.0~rc1~git123 = 1.0~rc1~git123
-#>job noop provides 1.0~rc2 > 1.0~rc1
+#>job noop provides 1.0~rc1 < 1.0~rc1^git1
+#>job noop provides 1.0^git1~pre = 1.0^git1~pre
+#>job noop provides 1.0^git1 > 1.0^git1~pre
+#>job noop provides 1.0^git1~pre < 1.0^git1
+#>job noop provides 1.0^1 > 1.0~1
+#>job noop provides 1.0~1 < 1.0^1