Conary:Branches
From rPath Wiki
Software developers use branching to create a new development path. Because of its built-in source control, a branch in Conary reflects the branch concept in many source control systems. The main use for branches is to maintain one or more old versions of software while continuing the development path to newer versions.
Outside of Conary, branches represent truly divergent development. Branches that start from the same root each represent an instance of the same label. Developers have no facility to synchronize the branch with its parent, so they must use a manual process to apply updates to each divergent branch.
With Conary, developers have two options for branching. Each is considered a type of branch:
- Divergent development using a clone
- Parallel development with a shadow, allowing the developer to merge upstream changes as needed
References and instructions for branching can be found on the following pages:
- Conary:Shadows - reference and instructions for cvc shadow used to create shadows
- Conary:Clones - reference and instructions for cvc clone and cvc promote used to create clones
- Conary:Merge - reference and instructions for cvc merge used to merging updates from a parent branch
- Conary:Compare Revisions - reference and instructions for cvc diff and cvc rdiff used to compare revisions of troves
- Tutorial:Shadowing and Cloning - a tutorial that steps through creating a small sample package, shadowing and updating a shadow, merging updates from a parent to a shadow, and cloning and updating a clone
- Conary:Version String - a guide to understanding the Conary version string and its parts
- Appliance Development:Release Management - a description of rPath's recommended release management strategy for appliances, which employs shadowing and cloning
