Mercurial vs SourceTree: What are the differences?
What is Mercurial? A distributed version control system. Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.
What is SourceTree? A free Git GUI client for Windows and macOS. Use the full capability of Git and Mercurial in the SourceTree desktop app. Manage all your repositories, hosted or local, through SourceTree's simple interface.
Mercurial belongs to "Version Control System" category of the tech stack, while SourceTree can be primarily classified under "Source Code Management Desktop Apps".
"Easy-to-grasp system with nice tools" is the primary reason why developers consider Mercurial over the competitors, whereas "Visual history and branch view" was stated as the key factor in picking SourceTree.
Zillow, PedidosYa, and Coderus are some of the popular companies that use SourceTree, whereas Mercurial is used by Performance Assessment Network (PAN), Bitbucket, and Eyereturn Marketing. SourceTree has a broader approval, being mentioned in 615 company stacks & 400 developers stacks; compared to Mercurial, which is listed in 26 company stacks and 16 developer stacks.
What is Mercurial?
What is SourceTree?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to add, upvote and see more consMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
I've been excited about Git ever since it got a built-in UI. It's the perfect combination of a really solid, simple data model, which allows an experienced user to predict precisely what a Git subcommand will do, often without needing to read the documentation (see the slides linked from the attached article for details). Most important to me as the lead developer of a large open source project (Zulip) is that it makes it possible to build a really clean, clear development history that I regularly use to understand details of our code history that are critical to making correct changes.
And it performs really, really well. In 2014, I managed Dropbox's migration from Mercurial to Git. And just switching tools made just about every common operation (
git commit etc.) 2-10x faster than with Mercurial. It makes sense if you think about it, since Git was designed to perform well with Linux, one of the largest open source projects out there, but it was still a huge productivity increase that we got basically for free.
If you're learning Git, I highly recommend reading the other sections of Zulip's Git Guide; we get a lot of positive feedback from developers on it being a useful resource even for their projects unrelated to Zulip.
GitKraken is the best git client so far. The user interface is very friendly. Everything is easy to do with this tool. A branch tree vizualization is very clear. I've tried SourceTree and I got lost in such many panels. Also performance of SourceTree is not as goot as GitKraken. I like Sublime Merge but it doesn't have so many features as the other tools. I've choosen GitKraken and as bonus I got GitKraken Glo that is the next perfect tool.
Tower appears to be between GitKraken and SourceTree in detail, but gave two scary error dialogs when attempting to merge resulted in a conflict. Doing the same in SourceTree just worked and showed the conflict in its handy file view that's always visible (unlike Tower's mere "Merge branch 'X' into develop" message when the commit is selected).
Both GitKraken and Tower lack the commit hash in their history overview, requiring one to select a commit to see it.
GitKraken appears to be the only Windows 10 Git GUI suitable for night shifts, but like Tower is only free for 30 days, unlike SourceTree.
Used by various PrometheanTV technical staff to interface and interact with the Git Source Control service.
Since being familiar to git CLI, I nearly never open it again except using it as a diff tool.
Used Source Tree to maintain version / commit / pull request , merge of codes for a team.