Description
Currently, if you use rez-cp
to copy one or more package variants to a different (filesystem) repository containing the same package in an ignored state, the package data in the target repository is overwritten completely.
It would be useful if the copy process could instead optionally allow new variants to be appended to the existing ignored package definition.
Motivation
We use rez in a CI environment to build packages. Package variants are built in parallel on different hosts, and each variant targets a separate rez install prefix to avoid some other race conditions in the rez build logic and tooling. Once all variants are built, they need to be merged together into a single package definition, which is done using rez-cp
.
One of our operating conditions is that we do not want new package builds to become available to rez clients until all of their variants have been deployed. To that end, we first mark the new package as ignored in the destination repository so we can copy the (potentially large) variant payloads into place before exposing the new package to rez clients. However, because it is not possible to add variants to an ignored package using the rez-cp
tooling, we have to roll our own manual process to install the correct package.py
file.