dub icon indicating copy to clipboard operation
dub copied to clipboard

Replace `Dependency.merge(Dependency)` with `Dependency.matches(Dependency)`

Open kinke opened this issue 3 years ago • 3 comments

kinke avatar Jul 20 '22 11:07 kinke

@kinke @Geod24 What's the status of this PR?

PetarKirov avatar Jul 24 '22 20:07 PetarKirov

Looks pretty good to me, was waiting until @kinke takes it out of draft, but the idea is sound.

Geod24 avatar Jul 24 '22 20:07 Geod24

TODO:

  • Decide whether to keep the old .merge() (for potential API users - reggae doesn't need it AFAICT)
  • Decide if treating all paths as equivalent is good enough for now (we get a bunch of new warnings at Symmetry with dub master regarding ../pkg1 vs. ../../pkg1 etc., which would be eliminated by doing so)
  • Decide if the changed priorities (path-based dominating repos) are a benign 'breaking' change
  • Look into the unittest failure wrt. 1.0.0 not matching >=1.0.0 <2.0.0, though not really related to this PR
  • Decide how to handle 2 actual VersionRanges, i.e., whether a non-empty intersection is good enough, or whether the lhs should be guaranteed to be a single version (the selected version). This requires looking into how DependencyResolver.matches() is used (WTF are configs and config).

kinke avatar Jul 25 '22 10:07 kinke