5 ms·
I'm a pious hg user - even gave git a good run (mostly because of Github). I can't get over how amazing mercurial patch-queues are. Big win. I love mercurial's
by Ixiaus 15y ago
I'm a pious hg user - even gave git a good run (mostly because of Github). I can't get over how amazing mercurial patch-queues are. Big win. I love mercurial's easy plugin development and hooks (thank you Python); I love how many awesome plugins exist for mercurial. On and on and on.
- jlogsdon 15y agoI keep seeing people talk about all the good of hg over git, but I haven't seen anything that really sets it apart. If you were doing a sales pitch, what would you show that hg has over git? What are some specific plugins that ease your development or release process? What are some real-world advantages of the hg patch-queue over how git handles pulls? I'm honestly curious. I just haven't seen anything to sell me on why hg is so much better than git (or even the other way around).
- owenmarshall 15y agoFrom the perspective of a longtime hg user who switched jobs and is now in git land: hg is easier to pick up and start using than git. git lets you do incredible things with your tree, things that hg forbids or makes impossible. But git also lets you make big mistakes, and isn't very nice about helping you fix them. hg, on the other hand, has a much nicer learning curve. As an example, try to forget everything you know about version control and type `hg help push` and `git help push`. Which one would you be able to parse? Personally, when I read "The format of a <refspec> parameter is an optional plus +, followed by the source ref <src>, followed by a colon :, followed by the destination ref <dst>", I want to punch a baby. At the end of the day, if I want to transition a team away from SVN onto a DVCS, I'd pick hg -- just because it lets a team Get Shit Done without spending a ton of time learning a new VCS. But if I'm starting my own project? I'd pick git in a heartbeat.
- jhonnycano 15y agoBesides the simplicity when starting to use a DVCS, i would add the simplicity for setting up a server (At least on Windows). There are a lot of organizations which need a centralized repo. And setting up mercurial for serving is a breeze. That's my 2 cents.
- eru 15y agoNext time you have to use git: Remember, there are also patch-queues for git.
- Ixiaus 15y ago/me did not know this - thank you for the fill in (I'll stop preaching about them for hg then, I thought they were unique to hg!)
- eru 15y agoAlso mercurial can do almost anything that git does (and more) with the right extensions. Nowadays the choice between git and mercurial comes down mostly to preferring on the user interface over another.
- georgebashi 15y agoWhich do you use? I've had a quick google and only found Guilt as a serious contender, and that doesn't seem to quite do what hg patch queues do (especially wrt publishing queues). I'm interested as it seems like quite a common workflow (for me at least) that doesn't really fit into the Git model.
- eru 15y agoHave you come across this discussion (http://stackoverflow.com/questions/5016862/whats-the-git-approach-to-publish-a-patch-queue http://stackoverflow.com/questions/5016862/whats-the-git-app...)? My co-workers use Guilt. We had published patch-queues in another department I worked for, and they were one of the reasons they switched to git instead. I've never warmed up to patch-queues, but I haven't really tried to use them seriously.
- cageface 15y agoI'm pretty addicted to git's lightweight branching now. Mercurial looks appealing in some ways but, from what I understand, it doesn't support anything similar, at least not in the core.
- AlexMax 15y agoYou are thinking of Bookmarks, which have been a part of core since 1.8 and was an extension included with mercurial for a few versions prior.
- eru 15y agoBookmarks mimic git's branches to some extent, but last time I tried they did not cope well with complicated merges.
- Ixiaus 15y agoFor heavier work, hg's patch queue's are unmatched. (not to mention you can version the patch queue as well!) If bookmarks are too lightweight for something (say you have an experimental branch that you want to branch on-top of) patch queues are amazing. Not to mention their ease of use!! http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html http://hgbook.red-bean.com/read/managing-change-with-mercuri...