Hacker News new | ask | show | jobs
by noelwelsh 4843 days ago
There are things you have to really care about and things that just have to be good enough. Version control is in the latter.

Just use Git. Or Mercurial. It doesn't matter. They are just about the same and the minor improvement you might get from one over the other is just not worth the effort of thinking about it. Now go do something more useful with the cycles you save.

In summary: anyone who has a pressing need for this product has their priorities wrong.

5 comments

I don't have a horse in this race, but I feel like this ship has sailed. Personally, I don't like jQuery's API, but it has become so popular that it's the honorary JavaScript standard library. I'd be hesitant to start a new project using MooTools, knowing that most people I might hire or most frameworks I might want to incorporate later probably know/expect jQuery.

I feel like GitHub has done the same thing for Git. Mercurial is in Python, which in theory would make it easier for me to hack on if I ever needed to, but the community has settled on Git. I think the fact that Atlassian bought BitBucket, which was a boutique version control tool for Pythonistas, and the very first thing they did was add Git support and position it as an alternative to GitHub speaks volumes to this.

I know that there are people who prefer Mercurial, and I'm glad they have that choice, but I feel like choosing Mercurial over Git for a new project is swimming upstream without any real benefit.

There are a fair few people who choose bitbucket over github because the pricing structure is saner if you have a load of repos and a fixed (or predictable) number of staff who require access.
And since last year, you can choose Bitbucket and still use git 100% of the time.

THAT seems to me what Fog Creek is doing here -- realizing, shit, we picked wrong, but now we have all these users, how can we take a mulligan and pick git?

And they did it. So like somebody else here said, what they've done is change the answer to "Does it work with git?" from no to yes.

(Note I am also not saying that anybody choosing hg over git for their own development 'chose wrong'. But if you are trying to do business by selling people a mainstream DVCS service, hg isn't the best choice you could make.)

I use BitBucket for my stuff as well, but if you were picking a new VCS to learn, picking Mercurial over Git seems futile.
I'd just like to add that one thing I like that bitbucket offers over github is free private git repositories (if you don't mind being limited to 5 users). Not compelling for everyone, but it's nice to have the option.
"Just use Git. Or Mercurial. It doesn't matter."

Exactly! That's the whole point of Kiln Harmony. Use whatever you want, and let the rest of your team and company do the same.

Allowing developers to use the tools they want to use and the ones that allow them to work the fastest should be your highest priority.

What if a developer is most productive using Bazaar, Fossil, Monotone, or perhaps Arch?
Then she should use the obscure dvcs and use extensions/plugins if necessary to communicate with remote git and mercurial repos. A dev can't expect the outside world to cater to some relatively obscure choice of dvcs.

You might as well ask, "What if a developer is most productive using cvs?"

A change resulting in a short-term loss of comfort and productivity can lead to a long-term increase in productivity and equal comfort, but everyone who's used to something likes to think it's a global optimum instead of merely a local optimum. There is also benefit in using the same tools that other developers use when collaborating on a project.

Well, even among developers there's clustering. So not many developers are "most productive" using those DVCS. Probably because they have never heard of them or never used them, but it doesn't really matter right now.

If your name is Git, you're number 1 in the DVCS space. If your name is Mercurial, you're a distant 2. If your name is neither of them, only a few people have ever heard of you. Sort of like this: http://xkcd.com/435/

Ugh, I really hate how Bazaar is considered "obscure". I really think it's the most usable of the three big VCSes, and even hg could learn a bit from it. git's porcelain is an asylum escapee, it's completely insane.
> In summary: anyone who has a pressing need for this product has their priorities wrong.

That's just silly. Both Git and Mercurial take a fair amount of effort to learn to use fluently, and if someone is already an expert in one, they are likely to feel that being forced to learn something else that's completely different and yet exactly the same will take a lot of useless effort and distract them from more important things. Something that solves this problem and lets programmers focus on their real work is certainly useful!

I agree, I use git and have never tried mercurial but I doubt that it is so bad that I would seek to look for a way to continue to use git on a project that was already on mercurial (CVS might be different of course).

I imagine that understanding how this tool deals with whatever the idiosyncrasies are between the two systems would be higher friction in the long run than just reading the mercurial manual.

Agreed, and let's not forget that client side GUI applications like SourceTree help to abstract away most of the common operations.
I was pretty disappointed when I installed the Windows kiln client just now and it dumped me into an unintuitive (customized?) TortioseHg Workbench GUI without any sort of direction of where to start. The link of the webpage to hg init, didn't help much because it was seemingly all about the command line interface.

Most of the tools out there in DCVS land seem to have as a prerequisite that you already know how to do it the hard way. If I've already climbed the learning curve for the hard, but powerful, way I'm probably just going to keep doing it that way.

The opportunity is for a tool that makes easy things easy. I signed up for the SourceTree Windows beta, hopefully that's it.

GitHub for Windows tries to make easy things easy: http://windows.github.com
It really is great. Not just Github repos either. :)