# Handling compatibility requirements for identical packages across two registries

**URL:** <https://discourse.julialang.org/t/handling-compatibility-requirements-for-identical-packages-across-two-registries/47553>\
**Category:** Tooling\
**Tags:** package, package-manager, registry\
**Created:** [September 30, 2020, 9:29pm UTC](https://discourse.julialang.org/t/handling-compatibility-requirements-for-identical-packages-across-two-registries/47553 "2020-09-30T21:29:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Robert\_Moss](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/robert_moss/32/48004_2.png) [@Robert\_Moss](https://discourse.julialang.org/u/Robert_Moss)\
**Post date:** [September 30, 2020, 9:29pm UTC](https://discourse.julialang.org/t/handling-compatibility-requirements-for-identical-packages-across-two-registries/47553/1 "2020-09-30T21:29:12Z")

</div>

We’ve been migrating packages in the [JuliaPOMDP/Registry](https://github.com/JuliaPOMDP/Registry) over to General and I’ve been experiencing odd overlapping compatibility issues with packages listed in both registries.

When adding a package (say [MCTS.jl](https://github.com/JuliaPOMDP/MCTS.jl) v0.4.6), how does the package manager resolve overlapping compat versions listed in each Compat.toml file?

I saw that @fredrikekre mentions they’re merged, but my question stems from conflicting version windows.

> [@Using multiple registries](https://discourse.julialang.org/t/using-multiple-registries/16370/2):
>
> Both will be used, the registries are merged when doing Pkg operation such as gathering version info etc.

As an example, the last entry in the MCTS [Compat.toml](https://github.com/JuliaPOMDP/Registry/blob/master/M/MCTS/Compat.toml) file in the JuliaPOMDP/Registry goes to `["0.4.3-0"]`. The first version registered with General was `0.4.4`. Is the correct approach to cap-off the version in the JuliaPOMDP/Registry so it’s upper bound is not `-0`, but instead simply `["0.4.3"]` (in this case)?

> <https://github.com/JuliaPOMDP/Registry/blob/9a6e24d5023ea638f003fcba76ea8b2ca8ebcc39/M/MCTS/Compat.toml#L21-L29>

It seems like the package manager first goes through the JuliaPOMDP/Registry Compat.toml and determines if it can resolve compatibility issues, then goes over to General. Is that correct?
