Molinillo icon indicating copy to clipboard operation
Molinillo copied to clipboard

Molinillo shows already-resolved conflicts in the VersionConflict exception.

Open j3pic opened this issue 7 years ago • 3 comments

Error message:

Bundler could not find compatible versions for gem "does-not-exist":
  In Gemfile:
    dep2 was resolved to 0.0.1, which depends on
      does-not-exist (= 1.0.0)

Could not find gem 'does-not-exist (= 1.0.0)', which is required by gem 'dep2', in any of the sources.

Bundler could not find compatible versions for gem "librato-metrics":
  In Gemfile:
    librato-metrics (= 1.5.0)

    dependency was resolved to 0.0.1, which depends on
      librato-metrics

Clearly, there's no real conflict with librato-metrics. If you fix the does-not-exist dependency error, then the librato-metrics error goes away. I traced the problem to the version of Milinillo that's in the Bundler repo, but that bug probably exists here too.

This small project demonstrates the problem: https://github.com/j3pic/bundler-test

j3pic avatar Mar 21 '18 01:03 j3pic

Thanks for the work debugging this @j3pic - I imagine that was no mean feat, and having the test case is really useful.

Working with these errors is surprisingly complicated, as they're integral to the way the resolution process works (the full history of conflicts is required to determine how to rewind after a new conflict). However, in this case we can clearly do better.

Digging into this might take me a while, and I don't know when I'll have the time, but I'll try to get to it.

greysteil avatar Mar 21 '18 11:03 greysteil

My attempted fix didn't pan out, BTW.

j3pic avatar Mar 21 '18 20:03 j3pic