Need advice about which tool to choose?Ask the StackShare community!
Mercurial vs SourceTree: What are the differences?
Introduction
Mercurial and SourceTree are both version control systems that are widely used in software development projects. While they serve the same purpose of managing and tracking changes to source code, there are key differences between the two.
Integration with other tools: Mercurial provides seamless integration with other tools commonly used in software development, such as bug tracking systems, continuous integration servers, and code review tools. SourceTree, on the other hand, has limited integration options and may require additional manual configuration for some integrations.
User interface: SourceTree offers a more visually appealing and user-friendly interface compared to Mercurial. It provides a graphical representation of branches, commits, and other repository data, making it easier for developers to understand and navigate the revision history. Mercurial, being a command-line based tool, requires users to have a good understanding of command-line commands.
Advanced features and flexibility: Mercurial supports a wide range of advanced features, such as named branches, bookmarks, and phased commits. These features provide more flexibility in managing complex codebases and allow for greater control over the versioning process. SourceTree, although user-friendly, lacks some of these advanced features and may not be suitable for more intricate version control scenarios.
Platform compatibility: Mercurial has excellent cross-platform compatibility, working seamlessly on Windows, Linux, and Mac operating systems. SourceTree, on the other hand, was primarily designed for macOS and Windows, with limited support for Linux.
Repository hosting options: While both Mercurial and SourceTree support hosting repositories on various platforms, Mercurial offers more options, such as self-hosting, as well as hosting on popular platforms like Bitbucket and Kiln. SourceTree, primarily being a client tool, relies on external hosting platforms like GitHub, Bitbucket, or GitLab.
Command-line support: Mercurial is primarily a command-line tool, offering a powerful and extensive set of commands for developers. SourceTree, while providing a graphical interface, also allows users to execute some basic command-line operations. However, it may not offer the same level of functionality and flexibility as using the command-line directly.
In Summary, Mercurial and SourceTree differ in terms of integration options, user interface, advanced features, platform compatibility, repository hosting options, and support for command-line operations.
I explored many Git Desktop tools for the Mac and my final decision was to use Fork. What I love about for that it contains three features, I like about a Git Client tool.
It allows * to handle day to day git operations (least important for me as I am cli junkie) * it helps to investigate the history * most important of all, it has a repo manager which many other tools are missing.
Pros of Mercurial
- A lot easier to extend than git18
- Easy-to-grasp system with nice tools17
- Works on windows natively without cygwin nonsense13
- Written in python11
- Free9
- Fast8
- Better than Git6
- Best GUI6
- Better than svn4
- Hg inc2
- Good user experience2
- TortoiseHg - Unified free gui for all platforms2
- Consistent UI2
- Easy-to-use2
- Native support to all platforms2
- Free to use1
Pros of SourceTree
- Visual history and branch view205
- Beautiful UI164
- Easy repository browsing134
- Gitflow support87
- Interactive stage or discard by hunks or lines75
- Great branch visualization22
- Ui/ux and user-friendliness18
- Best Git Client UI/Features8
- Search commit messages7
- Available for Windows and macOS5
- Log only one file1
- Search file content1
Sign up to add or upvote prosMake informed product decisions
Cons of Mercurial
- Track single upstream only0
- Does not distinguish between local and remote head0
Cons of SourceTree
- Crashes often12
- So many bugs8
- Fetching is slow sometimes7
- No dark theme (Windows)5
- Extremely slow5
- Very unstable5
- Can't select text in diff (windows)4
- Freezes quite frequently3
- Can't scale window from top corners3
- UI blinking2
- Windows version worse than mac version2
- Installs to AppData folder (windows)2
- Diff makes tab indentation look like spaces2
- Windows and Mac versions are very different2
- Diff appears as if space indented even if its tabs2
- Doesn't have an option for git init2
- Useless for merge conflict resolution2
- Doesn't differentiate submodules from parent repos2
- Requires bitbucket account2
- Generally hard to like1
- No reflog support1
- Bases binary check on filesize1
- Can't add remotes by right clicking remotes (windows)1