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 depth infinity).
- 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.
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.