Following Issue #46, we introduced a fix that revealed an undesired behavior: Variant conflicts highlighted when relinking nodes could potentially raise an error before attempting to resolve version conflicts.
C==2.0.0 and C==1.5.0 are conflicting and C==1.5.0 will be kept in the graph as it is the highest version compatible with both requirements. Therefore A[V2] is removed from the. graph and the variant conflicts should be ignored. But it won't.
Following Issue #46, we introduced a fix that revealed an undesired behavior: Variant conflicts highlighted when relinking nodes could potentially raise an error before attempting to resolve version conflicts.
Considering the following example:
It will rightfully fail as
A[V3]
andA[V2]
are conflicting. However, if we change the graph to introduce a version conflict:C==2.0.0
andC==1.5.0
are conflicting andC==1.5.0
will be kept in the graph as it is the highest version compatible with both requirements. ThereforeA[V2]
is removed from the. graph and the variant conflicts should be ignored. But it won't.To solve this issue, we should encapsulate relinking errorw in the graph, the same way we encapsulate errors when packages cannot be extracted from some node's requirements (https://github.com/themill/wiz/blob/master/source/wiz/graph.py#L2021)