 <p>If you select only HEAD, than any changes in any revisions prior to HEAD will not be included in the merge. You either need to select ALL the revisions in the branch whose changes are not yet included in your branch, or leave the range specifier empty to allow SVN to figure out which revisions to merge.</p> <p><strong>Edited to add example</strong></p> <p>When you do a "range of revisions" merge, you are picking individual CHANGES to cherry-pick over into your merge destination. If you say "merge HEAD" you are not saying "merge all changes up through HEAD", you are saying "merge only the specific change that happened in the very last revision on that branch". Consider a trunk with revision 122; a MayBranch with revisions 123, 124, and 125; and an AugustBranch with revisions 126 and 127. Both branches were copied from trunk revision 122.</p> <p>You want all three changes on the MayBranch&ndash;123, 124, and 125&ndash;to be merged into your AugustBranch. If you select all three revisions, or leave the revision specifier empty, this will happen. The merge will use revision 122 on trunk as the BASE, with 125 on MayBranch as source revision, and 127 on AugustBranch as destination revision.</p> <p>If instead you select HEAD as the revision to merge, SVN will use revision 124 on MayBranch as the BASE, with 125 as the source revision and 127 as destination as before. Since BASE is now the place where revision 125's changes were started from, you only get the changes that specifically happened in revision 125.</p> <p>The final result is as if you had exported only revision 125 on MayBranch as a diff, and then applied that diff to the AugustBranch. Except this is done with merge tracking information included so that SVN knows how to get the whole branch automatically later if you like.</p>