
Reintegrate merge: Reintegrate merge is used to bring changes from a feature branch back into the feature branch's immediate ancestor branch. Specifies the depth to be covered by merge. Specifies if Subversion® should ignore the ancestry of resources while merging. Specifies if the reverse merge should be performed.

Specifies revision range to be used in merge. If you need to reverse the merge, for example in order to amend the previously done one, then just select the 'Reversed merge' option. 'Revision Selection' dialog automatically decrements lowest selected revision number by 1 in order to make revision selection process be intuitively understandable. if you need all the changes from the revisions 5000-5005, you should specify revision range like this: 4999-5005 and that will include revision 5000 too. When you need changes not between a two revisions, but changes starting from a revision and up to a revision, you should decrease a start revision number of the revision range by 1, i.e. It means that only changes from 5 revisions (5001, 5002, 5003, 50) will be merged into your code: just like in math when you subtracting two numbers. In that case you should specify revision range 5000-5005. What is a difference between revisions means exactly? That is simple, lets say, for example, you need to merge all the changes happened after the revision 5000 and up to the revision 5005. There you just check the changes you need and the dialog will build a change set specification automatically.Īlso please note, that when you select revisions in the 'Revision Selection' dialog - it's intuitive and understandable that all the changes represented by the selected revisions will be merged into the target, but when you enter revision ranges manually you should take into account that revision range defines a difference between the two specified revisions. Or you can use alternatively the 'Revision Selection' dialog depicted below. In order to cherrypick an exact set of changes you can specify it manually by using revision ranges and/or enumerations, for example: 11-22, 25, 38. You can choose to merge all the eligible changes at once, which is called a 'sync' merge in terminology or merge explicitly defined set of changes using revision selection controls, which is called a 'cherrypick' merge. Single path/URL merge: It is typically used in order to merge all the eligible changes into the branch from its immediate ancestor.

So, let's see how do you actually use them. In any of the three modes the target to apply the changes is the working copy in which you're performing the merge. Two of them accept a single path or URL to pick changes from and one is used to extract changes between a two different paths or URLs. Merge modes: There're three merge modes in total. This dialog appears when the user clicks on 'Team>Merge.' menu item in the pop-up menu of the resource linked with the repository location, 'Merge.' menu item of the 'SVN main menu group' or on the 'Merge.' button on the 'SVN Toolbar'.
