Hello from Git Systems, the team that works on the Subversion subsystem at GitHub.
As of January 8, 2024 (about a year from now), we will sunset Subversion support completely on GitHub.com. A release of GitHub Enterprise Server sometime in early 2024 will also remove Subversion support. Read on for more details.
In 2010, when GitHub introduced Subversion support, the version control landscape was very different. Many customers were using centralized version control systems. Subversion was already 10 years old and in good company with other centralized systems, while Git was still a relative newcomer. At that point in time, it was not yet clear that distributed version control would eventually take over, and even less clear that Git would be the dominant system. By natively supporting Subversion on top of a Git backend, GitHub made it easier for customers to move to Git while changing their workflows over in a gradual way.
Fast forward to now, and wow, have things changed. Git enjoys up to 94% usage by developers, and Subversion is a lot rarer in the wild than it used to be. Our traffic numbers inside GitHub back this up: fewer than 0.02% of requests made to the Git backend come through a Subversion endpoint, and only about 5,000 repositories see even a single Subversion request each month. It’s clear that Subversion support is no longer helping people migrate to Git.
But hey, if the Subversion system just works and doesn’t bother anyone, there’s no reason to make any changes, right? The reality is that there’s an ongoing maintenance cost to any software, and that goes extra for public-facing services on the internet. As the use of GitHub has evolved and the number of Subversion requests has declined dramatically, we plan to focus our efforts entirely on Git.
Why do people still use Subversion on GitHub, anyhow? Besides simple inertia, there were workflows which Git didn’t support until recently. The main thing we heard when speaking with customers and communities was checking out a subset of the repository–a single directory, or only the latest commit. I have good news: with sparse checkout, sparse index, and partial clone, Git can now do a pretty decent job at these workflows.
We will maintain Subversion support until January 8, 2024 on GitHub.com. After that date, it will be turned off and removed. Late in 2023, we’ll run a few hours-long and then day-long brownouts to help flush out any remaining use of the feature. The next version of GitHub Enterprise Server to ship after January 8, 2024, will also remove Subversion support.