Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>No, Subversion is still not able to merge as robustly as Mercurial. I give an explicit example of how Subversion fails to merge two branches <a href="https://stackoverflow.com/questions/2475831/merging-hg-git-vs-svn/2486662#2486662">this answer</a>. There is nothing that prevents a centralized system from being good at merging, it is just that branches are used so much in a decentralized system that it is forced to be good at merging.</p> <p>Apart from the merge support, the bigger advantage of Mercurial over Subversion is the flexibility of decentralized version control:</p> <ul> <li><p>You can make many small commits and then do <code>hg rebase --collapse</code> to combine them into a bigger and better commit before you push them to the world.</p></li> <li><p>You can use the <a href="http://mercurial.selenic.com/wiki/RebaseExtension" rel="nofollow noreferrer">MQ extension</a> or the <a href="http://mercurial.selenic.com/wiki/MqExtension" rel="nofollow noreferrer">rebase extension</a> to refine changesets before you publish them.</p></li> <li><p>You can commit safely, and then change your mind and throw things away with <code>hg strip</code> or the more safe <code>hg clone -r</code>.</p></li> </ul> <p>This lets you experiment more freely and the end result is that Mercurial becomes a supportive <strong>safety net</strong> instead of a hindrance. It's deeply ironic that tools like Subversion end up being something that people don't use -- they don't commit their changes for days because they are afraid of breaking the build, and they wont use branches because they've been burned by them in the past.</p> <p>The above were just local flexibility -- Mercurial also lets you orchestrate nice flows of changesets between repositories: you can have a repository where a gate keeper does QA and only lets changesets through after testing them. That kind of flexibility is built into the decentralized model.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload