The conflicts change historically treated packages from the same origin as generally non-conflicting.
The reason might have been that packages built from the same origin for different FLAVORs might have matching package names, but might be able to co-exist.
There have been 2 changes that cause issues due to this assumption:
- FLAVORS lead to conflicting packages that can not co-exist, e.g. "git" and "git-lite".
- Package names have been made unique for each FLAVOR.
As a result, the same origin exception from the conflicts tests voids CONFLICTS definitions in a port's Makefile with conflicting FLAVORs.
E.g. devel/git has a CONFLICTS definition that excludes all other FLAVORS, but the conflict is not reported due to the same origin exception.