Alternatives to SVN (Subversion) logo

Alternatives to SVN (Subversion)

Git, Mercurial, DVC, Plastic SCM, and Magit are the most popular alternatives and competitors to SVN (Subversion).
741
563
+ 1
41

What is SVN (Subversion) and what are its top alternatives?

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.
SVN (Subversion) is a tool in the Version Control System category of a tech stack.
SVN (Subversion) is an open source tool with 482 GitHub stars and 162 GitHub forks. Here’s a link to SVN (Subversion)'s open source repository on GitHub

Top Alternatives to SVN (Subversion)

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

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

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

  • Gitless
    Gitless

    Gitless is an experiment to see what happens if you put a simple veneer on an app that changes the underlying concepts. Because Gitless is implemented on top of Git (could be considered what Git pros call a "porcelain" of Git), you can always fall back on Git. ...

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

SVN (Subversion) alternatives & related posts

Git logo

Git

154.6K
129.9K
6.6K
Fast, scalable, distributed revision control system
154.6K
129.9K
+ 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.9K 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
Mercurial logo

Mercurial

212
191
106
A free, distributed source control management tool
212
191
+ 1
106
PROS OF MERCURIAL
  • 19
    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
CONS OF MERCURIAL
  • 0
    Track single upstream only
  • 0
    Does not distinguish between local and remote head

related Mercurial posts

Tim Abbott
Shared insights
on
GitGitMercurialMercurial
at

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 status, git log, 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.

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

    Gitless logo

    Gitless

    4
    15
    0
    An experimental version control system built on top of Git
    4
    15
    + 1
    0
    PROS OF GITLESS
      Be the first to leave a pro
      CONS OF GITLESS
        Be the first to leave a con

        related Gitless 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