|
|
|
|
|
by ezquerra
4610 days ago
|
|
Git currently has a greater mindshare than mercurial, specially on HN and many open source circles. I don't think that is enough to consider that "git has won". There are big projects and big companies that use mercurial instead of git (e.g. Mozilla, Python, Facebook). Both git and mercurial are great and both can (and probably will) coexist for the foreseeable future. If you only read proggit or HN you could think that everybody uses git. The reality is that there are many teams that use mercurial. There are many, many teams that are still using old style non distributed VCS. There are lots of teams that don't even use any VCS at all! There are lots of people (myself included) who consider that git is needlessly complex, and that mercurial hits a better trade off between power and complexity. A lot of teams would be much better served by using mercurial instead of git. I know for example of several HW design teams that decided to use mercurial because they found it much easier to use. In addition, I don't think that git or mercurial, as they currently stand, are the best we can do on a DVCS. There are plenty of areas where they both can improve (submodules / subrepos being one of them, but also better support for code review workflows, simpler / safer history rewriting, etc). Perhaps something else will come that will learn from git's and mercurial's mistakes and improve on what they offer? What I mean by this small rant is that it would be foolish to consider that git has "won" and that there is nothing that can come and improve on it. I hope that the git devs don't think that way. I know that the mercurial devs definitely don't think that way, given the number of cool things that they are working on (e.g. with the evolve extension being my preferred one). |
|
For local dev branches mercurial patch queues work great but working with multiple remote branches becomes a bit of a head ache. Generally you end up using several repositories instead of branches within the same repository.
That being said that was the state of the art a few years ago and I haven't followed Mercurial development closely so maybe it's not the recommended way of dealing with that anymore. Is there a way to properly delete a branch in mercurial these days?
Git branches is the only thing I could imagine a git user miss when switching to mercurial. And possibly staging, it's sometimes convenient (but can be emulated using extensions).