Alternatives to Mercurial logo

Alternatives to Mercurial

Apache Storm, Git, SVN (Subversion), DVC, and Plastic SCM are the most popular alternatives and competitors to Mercurial.
212
191
+ 1
106

What is Mercurial and what are its top alternatives?

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.
Mercurial is a tool in the Version Control System category of a tech stack.

Top Alternatives to Mercurial

  • Apache Storm
    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

    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)
    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
    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

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

  • Magit
    Magit

    It is an interface to the version control system Git, implemented as an Emacs package. It aspires to be a complete Git porcelain. While we cannot (yet) claim that it wraps and improves upon each and every Git command, it is complete enough to allow even experienced Git users to perform almost all of their daily version control tasks directly from within Emacs. While many fine Git clients exist, only deserve to be called porcelains. ...

  • Pijul
    Pijul

    Pijul is a free and open source (AGPL 3) distributed version control system. Its distinctive feature is to be based on a sound theory of patches, which makes it easy to learn and use, and really distributed. ...

  • Git Reflow
    Git Reflow

    Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master with a great commit message template. ...

Mercurial alternatives & related posts

Apache Storm logo

Apache Storm

186
268
24
Distributed and fault-tolerant realtime computation
186
268
+ 1
24
PROS OF APACHE STORM
  • 10
    Flexible
  • 6
    Easy setup
  • 3
    Clojure
  • 3
    Event Processing
  • 2
    Real Time
CONS OF APACHE STORM
    Be the first to leave a con

    related Apache Storm posts

    Marc Bollinger
    Infra & Data Eng Manager at Thumbtack · | 5 upvotes · 504.1K views

    Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

    We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

    We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

    To find out more, read our 2017 engineering blog post about the migration!

    See more
    Git logo

    Git

    154.8K
    129.8K
    6.6K
    Fast, scalable, distributed revision control system
    154.8K
    129.8K
    + 1
    6.6K
    PROS OF GIT
    • 1.4K
      Distributed version control system
    • 1.1K
      Efficient branching and merging
    • 960
      Fast
    • 845
      Open source
    • 728
      Better than svn
    • 368
      Great command-line application
    • 306
      Simple
    • 291
      Free
    • 232
      Easy to use
    • 222
      Does not require server
    • 27
      Distributed
    • 22
      Small & Fast
    • 18
      Feature based workflow
    • 15
      Staging Area
    • 13
      Most wide-spread VSC
    • 11
      Disposable Experimentation
    • 11
      Role-based codelines
    • 7
      Frictionless Context Switching
    • 6
      Data Assurance
    • 5
      Efficient
    • 4
      Just awesome
    • 3
      Easy branching and merging
    • 3
      Github integration
    • 2
      Possible to lose history and commits
    • 2
      Compatible
    • 2
      Flexible
    • 1
      Team Integration
    • 1
      Light
    • 1
      Easy
    • 1
      Fast, scalable, distributed revision control system
    • 1
      Rebase supported natively; reflog; access to plumbing
    • 1
      Flexible, easy, Safe, and fast
    • 1
      CLI is great, but the GUI tools are awesome
    • 1
      It's what you do
    • 0
      Phinx
    CONS OF GIT
    • 16
      Hard to learn
    • 11
      Inconsistent command line interface
    • 9
      Easy to lose uncommitted work
    • 7
      Worst documentation ever possibly made
    • 5
      Awful merge handling
    • 3
      Unexistent preventive security flows
    • 3
      Rebase hell
    • 2
      When --force is disabled, cannot rebase
    • 2
      Ironically even die-hard supporters screw up badly

    related Git posts

    Simon Reymann
    Senior Fullstack Developer at QUANTUSflow Software GmbH · | 29 upvotes · 4.2M views

    Our whole DevOps stack consists of the following tools:

    • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
    • Respectively Git as revision control system
    • SourceTree as Git GUI
    • Visual Studio Code as IDE
    • CircleCI for continuous integration (automatize development process)
    • Prettier / TSLint / ESLint as code linter
    • SonarQube as quality gate
    • Docker as container management (incl. Docker Compose for multi-container application management)
    • VirtualBox for operating system simulation tests
    • Kubernetes as cluster management for docker containers
    • Heroku for deploying in test environments
    • nginx as web server (preferably used as facade server in production environment)
    • SSLMate (using OpenSSL) for certificate management
    • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
    • PostgreSQL as preferred database system
    • Redis as preferred in-memory database/store (great for caching)

    The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

    • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
    • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
    • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
    • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
    • Scalability: All-in-one framework for distributed systems.
    • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
    See more
    Ali Soueidan
    Creative Web Developer at Ali Soueidan · | 18 upvotes · 871.7K views

    Application and Data: Since my personal website ( https://alisoueidan.com ) is a SPA I've chosen to use Vue.js, as a framework to create it. After a short skeptical phase I immediately felt in love with the single file component concept! I also used vuex for state management, which makes working with several components, which are communicating with each other even more fun and convenient to use. Of course, using Vue requires using JavaScript as well, since it is the basis of it.

    For markup and style, I used Pug and Sass, since they’re the perfect match to me. I love the clean and strict syntax of both of them and even more that their structure is almost similar. Also, both of them come with an expanded functionality such as mixins, loops and so on related to their “siblings” (HTML and CSS). Both of them require nesting and prevent untidy code, which can be a huge advantage when working in teams. I used JSON to store data (since the data quantity on my website is moderate) – JSON works also good in combo with Pug, using for loops, based on the JSON Objects for example.

    To send my contact form I used PHP, since sending emails using PHP is still relatively convenient, simple and easy done.

    DevOps: Of course, I used Git to do my version management (which I even do in smaller projects like my website just have an additional backup of my code). On top of that I used GitHub since it now supports private repository for free accounts (which I am using for my own). I use Babel to use ES6 functionality such as arrow functions and so on, and still don’t losing cross browser compatibility.

    Side note: I used npm for package management. 🎉

    *Business Tools: * I use Asana to organize my project. This is a big advantage to me, even if I work alone, since “private” projects can get interrupted for some time. By using Asana I still know (even after month of not touching a project) what I’ve done, on which task I was at last working on and what still is to do. Working in Teams (for enterprise I’d take on Jira instead) of course Asana is a Tool which I really love to use as well. All the graphics on my website are SVG which I have created with Adobe Illustrator and adjusted within the SVG code or by using JavaScript or CSS (SASS).

    See more
    SVN (Subversion) logo

    SVN (Subversion)

    744
    563
    41
    Enterprise-class centralized version control for the masses
    744
    563
    + 1
    41
    PROS OF SVN (SUBVERSION)
    • 19
      Easy to use
    • 13
      Simple code versioning
    • 4
      User/Access Management
    • 3
      Complicated code versionioning by Subversion
    • 2
      Free
    CONS OF SVN (SUBVERSION)
    • 6
      Branching and tagging use tons of disk space

    related SVN (Subversion) posts

    I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

    • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

    • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

    • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

    • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

    • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

    • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

    • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

    See more
    rishig
    Head of Product at Zulip · | 8 upvotes · 112.8K views
    Shared insights
    on
    GitGitSVN (Subversion)SVN (Subversion)
    at

    I use Git instead of SVN (Subversion) because it allows us to scale our development team. At any given time, the Zulip open source project has hundreds of open pull requests from tens of contributors, each in various stages of the pipeline. Git's workflow makes it very easy to context switch between different feature branches.

    See more
    DVC logo

    DVC

    43
    80
    1
    Open-source Version Control System for Machine Learning Projects
    43
    80
    + 1
    1
    PROS OF DVC
    • 1
      Full reproducibility
    CONS OF DVC
      Be the first to leave a con

      related DVC posts

      Shared insights
      on
      MLflowMLflowDVCDVC

      I already use DVC to keep track and store my datasets in my machine learning pipeline. I have also started to use MLflow to keep track of my experiments. However, I still don't know whether to use DVC for my model files or I use the MLflow artifact store for this purpose. Or maybe these two serve different purposes, and it may be good to do both! Can anyone help, please?

      See more
      Plastic SCM logo

      Plastic SCM

      32
      64
      17
      A distributed version control with strong merging, great GUIs and support for huge files
      32
      64
      + 1
      17
      PROS OF PLASTIC SCM
      • 8
        Wanna do Branch per Task Dev? Plastic rocks it
      • 4
        No Size limite
      • 2
        File Locking
      • 2
        Simple, easy to use interfaces. Resilient and solid
      • 1
        Very fast
      CONS OF PLASTIC SCM
      • 1
        Always uses automatic conflict resolution first
      • 1
        Adds files with only changed timestamp to pending
      • 1
        Keyboard shortcuts are lacking
      • 1
        Can't place windows next to each other to save space
      • 1
        No dark theme
      • 1
        Doesn't have file staging

      related Plastic SCM posts

      Magit logo

      Magit

      17
      9
      2
      A Git Porcelain inside Emacs
      17
      9
      + 1
      2
      PROS OF MAGIT
      • 1
        Best parts of GUI and command line git clients combined
      • 1
        Word wise diff highlighting
      CONS OF MAGIT
      • 1
        Can be slow on big diffs

      related Magit posts

      Pijul logo

      Pijul

      9
      21
      14
      A free and open source distributed version control system
      9
      21
      + 1
      14
      PROS OF PIJUL
      • 6
        A VCS based on Category Theory? Awesome
      • 4
        Patch-based VCS
      • 2
        I like birds
      • 1
        Unrelated patches are commutative
      • 1
        The exact patch dependencies are tracked
      CONS OF PIJUL
      • 1
        Lack of hosting options

      related Pijul posts

      Git Reflow logo

      Git Reflow

      4
      10
      0
      Reflow automatically creates pull requests, ensures the code review is approved, and squash merges finished branches to master
      4
      10
      + 1
      0
      PROS OF GIT REFLOW
        Be the first to leave a pro
        CONS OF GIT REFLOW
          Be the first to leave a con

          related Git Reflow posts