Making Propagations More Successful
The following are general rules that you can follow to make propagations easier, less error prone, and more likely to succeed:
• Perform many small propagations rather than a few large ones.
• Wherever possible, propagate changes to the target project in the same order that they were originally created in the source project.
• When refactoring operations are involved (such as move and rename operations on members or subprojects) the previous rules are especially important. If possible, process refactoring operations in small chunks in the same order in which they originally occurred.
• Because subproject operations are not detected by the backfill algorithm, always try to explicitly specify change packages containing subproject operations, rather than depending on the backfill algorithm to locate them for you.
• Whenever possible, always propagate changes in the same direction. For example, one project (or variant) is always the source project tree and the other is always the target project tree when propagating changes between the two trees. Maintaining the same propagation direction helps the backfill algorithm keep track of what has (and has not) already been propagated between the two development paths.
• Whenever possible, keep changes to different variants in different change packages. In other words, the changes in a single change package should all correspond to the same development path (or the mainline project).