SVN supports historical merges so how is Mercurial better?
- by radman
Hi,
I'm a long time SVN user and have been hearing a lot of brou ha ha with regard to mercurial and decentralised version control systems in general. The main touted feature that I am aware of is that merging in Mercurial is much easier because it records information for each merge so each successive merge is aware of the previous ones.
Now as stated in the red book, in the section to do with merging, SVN already supports this with mergeinfo. Now I have not actually used this feature (although I wanted to, our repo version wasn't recent enough) but is this SVN feature particularly different to what Mercurial offers?
For anyone who is not aware the suggested work flow for historical merging in svn is this:
branch from the development trunk to
do your own thing.
Regularly merge changes from trunk
into your branch to stay up to date.
Merge back when your done with the
mergeinfo to smooth the process.
Without historical data merging this is a nightmare because the comparison is strictly on the differences in the files and does not take into account the steps taken on the way. So each change in the development trunk puts you further into possible conflict when you merge back.
Now what I would like to know is:
Does merging using Mercurial provide a significant advantage when compared with mergeinfo in SVN or is this just a lot of hot air about nothing?
Has anyone used the mergeinfo feature in SVN and how good is it actually in practice?