Commit e212f1a
authored
Add method for incompatibilities between virtual and base packages (#45)
Add a new method to add a single custom incompatibility that requires
the base package and the proxy package share the same version range.
This intended for cases where proxy packages (also known as virtual
packages) are used. Without this information, pubgrub does not know that
these packages have to be at the same version. In cases where the base
package is already to an incompatible version, this avoids going through
all versions of the proxy package. In cases where there are two
incompatible proxy packages, it avoids trying versions for both of them.
Both improve performance (we don't need to check all versions when there
is a conflict) and error messages (report a conflict of version ranges
instead of enumerating the conflicting versions).
There's several usage patterns for this method. The basic one is upon
encountering a dependency on a proxy package with a range, using this
method with its base package and that range.1 parent 51c6bce commit e212f1a
1 file changed
+32
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
100 | 132 | | |
101 | 133 | | |
102 | 134 | | |
| |||
0 commit comments