Conary:cvc clone
From rPath Wiki
| cvc clone | ||
| cvc clone [branch] [trovename[=version][<flavor>]] | ||
| Example> cvc clone /example.rpath.org@corp:devel//example.rpath.org@corp:1-test timescript:source=example.rpath.org@1-devel | ||
A clone is a copy of a trove from one branch to another branch in the same or different Conary repositories. Clones have a sibling relationship, and the version string of a clone does not carry information about siblings.
If one sibling is updated, developers wanting to incorporate the updates on other siblings must manually apply changes to those sibling branches.
Use cvc clone to create a new clone. The arguments for the command include the destination (branch to which to clone) followed by the troves to be cloned. Note that the command expects one of the following:
- A sibling relationship between the trove and its clone.
- This means the branch that the trove currently on and the target branch must both have the same parent branch (they must both be shadows of the same branch). The destination requires specifying both the parent and the branch from the parent where the clone should reside.
- A parent-child relationship between the destination and the trove.
- (RARE) This means cloning back to a parent branch if the trove is a shadow. The destination requires specifying the parent branch.
To copy a package or group recipe without a need to track upstream changes:
- Clone its source component. Specify the revision to clone if you need an earlier revision instead of the latest.
- Check out the clone and modify the recipe as needed.
- Commit the changes to the clone.
rPath has developed cvc promote as a way of moving through stages of development as part of a release management plan. When cloning Conary groups, especially those that represent an appliance, use cvc promote instead of cvc clone.
