3.2. Merging Changes from Upstream

As development continues on the parent branch from which you shadowed or derived, you may find a need to bring in those changes on your own development branch. Before merging, be sure to compare revisions of the package source between the target packages:

After you have compared the differences between your package and its parent, use cvc merge from your package checkout to merge revisions:

$> cvc merge

Add a revision argument if desired to target a specific package revision on the parent branch:

$> cvc merge 1.0.5

On rare occasions, merge conflicts can occur. When this happens, Conary creates a .conflicts file for each file that had conflicts. You can examine these files and the screen's output to troubleshoot the failed merge operation.

Handling three-way merges

Note that it is not possible to use cvc diff to preview a three-way merge before you do it. Instead, you can do a cvc merge, and then run cvc diff afterward to see if things merged as you needed. If you're satisfied with the results, commit the changes with cvc ci. If you don't like the results, use cvc revert to revert your current checkout to its last committed state.