If files in branches have been moved or renamed, merging with SVN can quickly become cumbersome. The xMerge ("cross-merge") add-on fixes this shortcoming and assists you in merging moved or renamed files automatically and safely.
The diagram illustrates a common use case: After a branch has been created, a file (green) in trunk is first moved and then modified. Since the branch is a release branch, only the modification should be transferred to the branch, and not the move operation. This becomes cumbersome with SVN's default merge, because every moved file has to be merged manually. xMerge on the other hand can identify the moved files in source and target and hence automate the merge.
xMerge works by analyzing the repository's history and identifying files in the merge source and target using SVN's copy-from information.
xMerge is integrated into SmartSVN's merge preview, thus giving you full control over the merge result.
A rather complex scenario, showing the full power of xMerge: We are going to backport a single feature from trunk to a release branch. In the trunk, a directory tmpl has been renamed to templates, which affects many files and should not be merged. Just to add a little more confusion, tmpl/search.html has been renamed to tmpl/search-output.html in the branch.
xMerge identifies the associated files and we simply have to specify the desired resolution: For instance, search-table.html has been copied from search-result.html in the trunk. With the currently selected option, changes of search-table.html (compared to search-result.html) will be transferred to the branch by applying these changes to search-output.html and storing the result as search-table.html. The Files table shows a preview of the result — a clean, minimal backport of our feature.
xMerge is licensed per-company (not per-user), for a fixed price. This means once you have licensed the add-on, all of your licensed SmartSVN users are eligible to use the xMerge functionality. You can also purchase xMerge after having purchased SmartSVN.
When starting SmartSVN the first time, it will let you evaluate SmartSVN Professional and the xMerge add-on for 31 days.