If a given package is provided by more than one repo, and if that package has subpackages, then it can easily happen that one of the subpackages comes from repoA while another one comes from repoB. That happens because the rpm dependencies are satisfied via SONAME for example. But each package might be configured and built differently, and if the subpackages link and/or communicate with each other the ABI may differ.
In practice this happens with the ffmpeg and gstreamer packages from Leap/Tumbleweed and Packman/VideoLan. The result is a misbehaviour at runtime. The easy and obvious way is a 'zypper dup --from <repo>' to resolve that. No code changes needed for that. But I wonder if libzypp has enough info from the repository data to enforce that each subpackage comes from the same vendor:src.rpm. Olaf
Description: PGP signature