<p>Handling multiple merges onto branches in Subversion or CVS is just one of those things that has to be experienced. It is inordinately easier to keep track of branches and merges in Mercurial (and probably any other distributed system) but I don't know why. Does anyone else know?</p>

<p>My question stems from the fact that with Mercurial you can adopt a working practice similar to that of Subversions/CVSs central repository and everything will work just fine. You can do multiple merges on the same branch and you won't need endless scraps of paper with commit numbers and tag names.</p>

<p>I know the latest version of Subversion has the ability to track merges to branches so you don't get quite the same degree of hassle but it was a huge and major development on their side and it still doesn't do everything the development team would like it to do.</p>

<p>There must be a fundamental difference in the way it all works.</p>

I only have experience with Subversion but I can tell you that the merge screen in TortoiseSVN is horribly complicated.  Luckily they include a dry run button so that you can see if you are doing it right.  The complication is in the configuration of what you want to merge to where.  Once you get that set up for the merge the merge generally goes fine.  Then you need to resolve any and all conflicts and then commit your merged in working copy to the repository.
If Mercurial can make the configuration of the merge easier then I can say that would make merging 100% easier then Subversion.