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.