propensive / fury-old

A new build tool for JVM languages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

project conflicts don't take into account repo differences

propensive opened this issue · comments

Two projects with identical repo references but different repos will be considered "the same", which is a serious bug.

Calculating the hash of a project (which is used to determine if two projects are identical or different) only looks at the name of the repository, not the Git commit hash that that resolves to. I think the information for resolving this is already available in the Universe type, and it just needs to be included in the hash.

A quick reproduction should be the following:

  • create a new layer
  • import propensive/gastronomy
  • import propensive/magnolia
  • change to the magnolia layer
  • update the magnolia repo in this layer to point to some different commit
  • change back to the / layer
  • run fury universe projects

If there is only one magnolia listen in the projects, then the bug is present. This should manifest itself as a conflict.

There's another test we can do which would be to check whether two projects which reference repos with different names, but the same commit hash, are considered conflicts. They shouldn't be.