Earlier quoted context omitted.
This seems a little exaggerated. Before git took over there were all kinds of VCS in use including a bunch of proprietary stuff. If most of your work is done with one group of people inside your company and you decide mercurial is a better fit it would seem silly just to go with git because it is popular. Besides the two are similar enough that someone versed in mercurial should be able to learn enough git to be usef…
No, before git took over there was CVS (and a brief moment when svn looked like it might win, before being forgotten). There still are "all kinds of VCS including a bunch of proprietary stuff". But as before with CVS (and RCS before it) the open source community has picked an overwhelming favorite. And I'm not saying you should choose git because it's better. I'm saying git "won" in the community because it was the c…
Why did Git become so popular?
71–80 of 122 posts
Re: Why did Git become so popular?
#72Earlier quoted context omitted.
My personal favorite is Bazaar, but Mercurial is good, too. I also heard very good opinions about darcs, but didn't try it yet. Mercurial has BitBucket and Bazaar has Launchpad, so they hardly 'loose' to git and GitHub here. There is but one thing that git does better (I'm forced to use git at work) - it's faster, or at least feels faster. Other than that, on the technical side, both Bazaar and Mercurial are I think…
Popularity itself is an often overlooked feature. When trying to sell the use of a version control system to others (peers, coworkers, bosses, etc. Or more difficult if you are trying to make an institutional change) you are already in a better position with git than you are with mercurial. If all mercurial is bringing to the table is being a bit more pleasant, I am still going to pass over it for that reason.
Re: Why did Git become so popular?
#73If you can find the 'open source updates' from oscon on youtube/oreilly, Shawn Pearce gives an architectural update that will inform your speculations.
Re: Why did Git become so popular?
#74I think the question betrays the authors bias and assumes too much; by claiming that "almost every article comparing mercurial and git" and saying "it seems like Mercurial has a better command line UX", the author is obviously a fan of Mercurial; neither of those points seem to be true. While I can understand the sour grapes at seeing an "inferior" technology win, it's not that clear cut. I haven't used Mercurial eno…
You said you haven't used Mercurial much to really compare, and then you compared, and said git is more flexible, and the CLI difference are negligible. So I think you definitely have a bias towards git. I use Mercurial and Git every day, and I can tell you there's a marked difference between the usability of Mercurial and Git. Git would become totally unusable if it weren't for stackoverflow and google, while I can…
Re: Why did Git become so popular?
#75I think the question betrays the authors bias and assumes too much; by claiming that "almost every article comparing mercurial and git" and saying "it seems like Mercurial has a better command line UX", the author is obviously a fan of Mercurial; neither of those points seem to be true. While I can understand the sour grapes at seeing an "inferior" technology win, it's not that clear cut. I haven't used Mercurial eno…
I really do think that Mercurial's user interface is easier for beginners to pick up, and more difficult to shoot oneself in the foot with. It's the little things, like the fact that Mercurial's push and pull commands do exactly the opposite of one another, that hg clone/pull URLs are identical to what you type into a web browser to browse the repo, and the ease of dealing with Mercurial "bare" repositories (hg up -r null) for mirroring and backup purposes.
And the way Mercurial's command-line interface strongly discourages one from modifying history; it makes it harder for things to get messed up on a small team coordinating with a shared-access repo. Yes, I know git has the reflog, but in general people seem to have much fewer "OMG WHAT JUST HAPPENED TO MY BRANCH" moments with Mercurial than with git. That (along with mq, which provided a unique solution to our team's needs) was the major reason I chose Mercurial over git at work. If we're going to brandish about the term "UX" here, then I'd say Mercurial definitely has a better "UX" than git.
But Mercurial has pain points, too. The biggest one, in my opinion, is the way branches work: Mercurial started out with named branches, which it seems the community has recognized as a mistake, and has moved to replace with git-style branches (called "bookmarks" in Mercurial land). These work better, but there are still some drawbacks: for one thing, Mercurial lacks the notion of a "remote", so unlike in git your local bookmarks and remote bookmarks have to share the same namespace. This leads to counter-intuitive behavior when it comes to synchronizing bookmarks with a remote server, and often you'll find that bookmarks aren't necessarily updated when you'd expect them to be.
Additionally, the notion of a "tip" makes working with feature branches frustrating, because by default Mercurial will check out from whatever branch was pushed to most recently, rather than a de-facto standard "master" as in git. Hand in hand with this complaint, by default Mercurial will want to push all your changesets, not just those under your current working bookmark, so you have to constantly specify e.g. "hg push -r master" to keep from pushing local throw-away branches. And it's not easy to delete local throw-away branches if you decide you don't want them (the downside of Mercurials aversion toward history modification), so one generally winds up using a separately-cloned repo for temporary work, which is unfortunate in contrast with git.
Mercurial and git are both great, efficient, high-performance tools. But if I had to generalize, I'd say that Mercurial is better for beginners and for "enterprisey" usage, whereas git, despite its interface inconsistencies, can be more powerful once you fully understand it and its data model (but only if you aren't working primarily on Windows, and don't need Mercurial Queues).
Re: Why did Git become so popular?
#76Having used ClearCase, CVS, Subversion, TFS, Git and Mercurial, I would have to say it's because not enough people have tried Mercurial. I have no interest in Git, but I think people like GitHub (or maybe don't know about BitBucket)
This contains the answer for why git won: Mercurial people have "no interest" in it. What that tells me is that you have no interest in working with the community and contributing to other peoples' projects, most of which use git these days. Sure, if you want a SCM for your own team or your own private use, you can make a strong case for hg being "better". But that's not what SCM is for. Using it in your own ivory to…
Network effect: many many people pick git because everyone else uses it (and that’s a good reason), thus they never try Mercurial, which may or may not be better suited to their use case.
Re: Why did Git become so popular?
#77Earlier quoted context omitted.
This contains the answer for why git won: Mercurial people have "no interest" in it. What that tells me is that you have no interest in working with the community and contributing to other peoples' projects, most of which use git these days. Sure, if you want a SCM for your own team or your own private use, you can make a strong case for hg being "better". But that's not what SCM is for. Using it in your own ivory to…
I looked at mercurial once. I didn't start using it, because it has a more complicated vocabulary than git. Git just has a directed acyclic graph and pointers to the nodes of it. That's all. End of story. Mercurial has the concept of a branch, a tag and so on as seemingly separate axiomatic things. It's not as stupid. I like stupid.
Arguments can be made for both sides, picking a single design decision and saying that that’s obviously better is not going to work. Implementation and (especially in a case like distributed systems) network effects are much stronger than any single isolated design decision.
Re: Why did Git become so popular?
#78Earlier quoted context omitted.
This contains the answer for why git won: Mercurial people have "no interest" in it. What that tells me is that you have no interest in working with the community and contributing to other peoples' projects, most of which use git these days. Sure, if you want a SCM for your own team or your own private use, you can make a strong case for hg being "better". But that's not what SCM is for. Using it in your own ivory to…
A lot of us work on closed-source projects you know. Open source is great, but it isn't the whole world.
Re: Why did Git become so popular?
#79Earlier quoted context omitted.
[deleted]
This still misses the point. It's not a technical problem, and you can't solve it with software. Being able to interoperate with git does nothing to convince users to use your great tool when all the cool people they know are using git. Where are the hg champions? The culture is the point, not the software.
Re: Why did Git become so popular?
#80Earlier quoted context omitted.
No, before git took over there was CVS (and a brief moment when svn looked like it might win, before being forgotten). There still are "all kinds of VCS including a bunch of proprietary stuff". But as before with CVS (and RCS before it) the open source community has picked an overwhelming favorite. And I'm not saying you should choose git because it's better. I'm saying git "won" in the community because it was the c…
I'd like to know your grounds for saying svn was "forgotten". Forgotten by who?
Subversion was indeed a much better CVS than CVS. And the world almost jumped on it as a standard. But then git appeared. If you were a young person looking at building exciting projects from source, you might never have reason to learn svn. I think that qualifies as "forgotten"