Additional Notes About the Merge Operation
Sub-tree Merges
It is recommended to perform a merge on the whole working copy (select its root directory when triggering the operation) to avoid sub-tree mergeinfo. Sub-tree mergeinfo is the mergeinfo recorded to describe a sub-tree merge. That is, a merge done directly to a child of a branch root that might be needed in certain situations. There is nothing special about sub-tree merges or sub-tree mergeinfo except that the complete record of merges to a branch may not be contained solely in the mergeinfo on the branch root and you may have to look to any sub-tree mergeinfo to get a full accounting. Fortunately, Subversion does this for you and rarely will you need to look for it.
Merging from Foreign Repositories
Subversion supports merging from foreign repositories. While all merge source URLs must
point to the same repository, the merge target (from the working copy) may come from a
different repository than the source. However, copies made in the merge source will be
transformed into plain additions in the merge target. Also, merge-tracking is not
supported for merges from foreign repositories.
Note: When performing merges from
repositories other than the one corresponding to the target item (from the working copy),
the Ignore ancestry / Disable merge tracking option in the
Merge
Options wizard page will be selected automatically (and you cannot
change this).
General Merge Recommendations
As a recommendation, you should only merge into clean working copies that do not
contain any of the following:
- Modifications.
- Sparse directories (all directories must be of depth infinity).
- Switched items.
Important: This recommendation becomes mandatory when performing a reintegrate
merge operation. Also, trying to merge to mixed-revision working copies
will fail in all types of merge operations.
Remember: 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.