Need advice about which tool to choose?Ask the StackShare community!

Mercurial

229
216
+ 1
105
SourceTree

10.4K
7.9K
+ 1
727
Add tool

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Decisions about Mercurial and SourceTree

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.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Mercurial
Pros of SourceTree
  • 18
    A lot easier to extend than git
  • 17
    Easy-to-grasp system with nice tools
  • 13
    Works on windows natively without cygwin nonsense
  • 11
    Written in python
  • 9
    Free
  • 8
    Fast
  • 6
    Better than Git
  • 6
    Best GUI
  • 4
    Better than svn
  • 2
    Hg inc
  • 2
    Good user experience
  • 2
    TortoiseHg - Unified free gui for all platforms
  • 2
    Consistent UI
  • 2
    Easy-to-use
  • 2
    Native support to all platforms
  • 1
    Free to use
  • 205
    Visual history and branch view
  • 164
    Beautiful UI
  • 134
    Easy repository browsing
  • 87
    Gitflow support
  • 75
    Interactive stage or discard by hunks or lines
  • 22
    Great branch visualization
  • 18
    Ui/ux and user-friendliness
  • 8
    Best Git Client UI/Features
  • 7
    Search commit messages
  • 5
    Available for Windows and macOS
  • 1
    Log only one file
  • 1
    Search file content

Sign up to add or upvote prosMake informed product decisions

Cons of Mercurial
Cons of SourceTree
  • 0
    Track single upstream only
  • 0
    Does not distinguish between local and remote head
  • 12
    Crashes often
  • 8
    So many bugs
  • 7
    Fetching is slow sometimes
  • 5
    No dark theme (Windows)
  • 5
    Extremely slow
  • 5
    Very unstable
  • 4
    Can't select text in diff (windows)
  • 3
    Freezes quite frequently
  • 3
    Can't scale window from top corners
  • 2
    UI blinking
  • 2
    Windows version worse than mac version
  • 2
    Installs to AppData folder (windows)
  • 2
    Diff makes tab indentation look like spaces
  • 2
    Windows and Mac versions are very different
  • 2
    Diff appears as if space indented even if its tabs
  • 2
    Doesn't have an option for git init
  • 2
    Useless for merge conflict resolution
  • 2
    Doesn't differentiate submodules from parent repos
  • 2
    Requires bitbucket account
  • 1
    Generally hard to like
  • 1
    No reflog support
  • 1
    Bases binary check on filesize
  • 1
    Can't add remotes by right clicking remotes (windows)

Sign up to add or upvote consMake informed product decisions

What is Mercurial?

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?

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.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Mercurial?
What companies use SourceTree?
See which teams inside your own company are using Mercurial or SourceTree.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Mercurial?
What tools integrate with SourceTree?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Mar 4 2020 at 5:14PM

Atlassian

GitBitbucketWindows+4
3
1040
What are some alternatives to Mercurial and SourceTree?
Apache Storm
Apache Storm is a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing. Storm has many use cases: realtime analytics, online machine learning, continuous computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked it at over a million tuples processed per second per node. It is scalable, fault-tolerant, guarantees your data will be processed, and is easy to set up and operate.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
SVN (Subversion)
Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.
DVC
It is an open-source Version Control System for data science and machine learning projects. It is designed to handle large files, data sets, machine learning models, and metrics as well as code.
Plastic SCM
Plastic SCM is a distributed version control designed for big projects. It excels on branching and merging, graphical user interfaces, and can also deal with large files and even file-locking (great for game devs). It includes "semantic" features like refactor detection to ease diffing complex refactors.
See all alternatives