Reintegrate a Branch
Prerequisites:
There are some conditions that apply to
reintegrate a branch:
- The server must support merge tracking.
- The source branch (to be reintegrated) must be coherently synchronized with its parent branch. This means that all revisions between the branching point and the last revision merged from the parent branch to the child branch must be merged to the latter one (there must be no missing revisions in-between).
- The working copy must not contain the following:
- Local modifications.
- A mixture of revisions (all items must point to the same revision).
- Sparse directories (all directories must be of infinity depth).
- Switched items.
- The revision of the working copy must be greater than or equal to the last revision of the parent branch with which the child branch was synchronized.
Tip:
You can use the
pre-merge checks option to make sure these conditions are
fulfilled.
This method is useful when you have a feature branch on which the development has concluded and it should be merged back into its parent branch. Since you have kept the feature branch synchronized with its parent, the latest versions of them will be absolutely identical except for your feature branch changes. These changes can be reintegrated into the parent branch by using a working copy of it and the Reintegrate a branch option.
This method uses the merge-tracking features of Apache
Subversion™ to automatically calculate the correct revision ranges and to perform
additional checks that will ensure that the branch to be reintegrated has been fully updated
with its parent changes. This ensures that you do not accidentally undo work that others
have committed to the parent branch since the last time you synchronized the child branch
with it. After the merge, all branch development will be completely merged back into the
parent branch, and the child branch will be redundant and can be deleted from the
repository.
Tip:
Before reintegrating the child branch it is recommended to
synchronize it with its parent branch one more time, to help avoid any possible
conflicts.
To reintegrate a child branch into its parent branch, follow these steps:
If the merge is completed successfully, all the changes corresponding to the selected revisions should be merged in your working copy.
It is recommended to look at the results of the merge, in the working copy, to review the
changes and see if it meets your expectations. Since merging can sometimes be complicated,
you may need to resolve conflicts after making major changes.
Note:
The merge result is only in your local working copy and needs
to be committed to the repository for it to be available to others.