I wouldn't say that subversion is dead or that git is better (actually, it's the opposite). It might be true, however, that git is the more suitable option in many situations, for example the most common use-case is OpenSource code management with many features, which are developed in parallel, and many collaborators. But that's because git was specifically designed for that purpose.
For smaller projects or corporate projects, in situations where everyone has agreed to certain standards and the project itself is not in the same situation as Linux, SVN might make a lot more sense, because it has a lot less complexity. Heck, even Microsoft's TFS might be a better option than git or SVN in some cases!
Git needs a lot more knowledge and extra commands. In fact, there are so many, that I doubt even git users of many many years know them all well enough to confidently make use of them. It's nice to have features, but if you just want to have code management and simple branching, git is an overkill.
Also with growing numbers, git's complexity also grows. Keeping all the small and fractured repositories in sync is no easy feat! Every single developer has to keep track of changes and patches. Especially when used in a purely decentralized environment, missing patches can happen easily which leads to lots of problems and errors.
The next problem with git is when you have repositories which weight several hundred GBs. The Linux kernel alone is 2GB in size, but there are larger projects (GNOME, to name one) and having to copy over the repository to your computer means sacrificing space, traffic, time and performance. Btw, big repositories are not bad! They actually have a number of advantages, like visibility, atomic large-scale refactorings, better dependency management and collaboration across teams. Companies, like Facebook and Google have such big repositories. They might be more than a terabyte in size. Try to manage that with git o_O
Another problem is authentication. While git either allows a user to read or write everything, you can have permissions on a per-directory base with SVN.
Git has problems with binary. SNV supports special lock-modes for binary (unmergable) data, so if you have a project with lots of assets, git should not be your first choice!
Further reading:
I think people tend to conflate git and the hosted services that became popular around the same time. Some people literally think git===github. Git popularised a style of workflow with rapid, cheap branching and collaboration as a first-class citizen. From a technical point of view SVN probably could have powered the same thing, but it didn't at the critical moment when git became the new and shiny. From what I've read it quickly played catch-up feature-wise but it never got people back once they'd switched.
I've no doubt something will come along and blow git out of the water... just as it did to svn... and svn did to its predecessors... and so on :)
First of all, SVN is not dead. It is still widely used. And calling Git superior is plain stupid. Yes, it has it's own share of pros & cons, but still Git has it's own goal to chase, whereas SVN serve the enterprise for a long time and I don't see that to be changing anytime soon.
Most of the companies I work for, used SVN and even my present one. Yes, I used Git in couple of companies and use it for my personal projects. But those shiny things is not necessarilly means it kills SVN! AFAIK SVN covers all aspect Git covered, except one or two.
I haven't gotten into Git enough to give an opinion. I will say that Subversion, contrary to popular belief, is not dead. I use it in my company. I prefer it, but only, and let me emphasize, ONLY, because I've been using it for years and am used to it. I don't have a compelling reason to change.
Vincent
Subversion is file-based while Git is object-based which is superior IMO. Also, Git is decentralized although most users use a central repository host like GitHub, GitLab or BitBucket. But it can still be used decentral.
Git is far superior then SVN when it comes to branching and merging since it is object-based and not file-based. I haven't made use of that functionality in SVN extensively, probably for a good reason.
Also, Git has a staging and a commit area. Meaning you can make changes offline, commit them and when you are online, you can push them to a server. SVN requires a network connection to make a simple commit. That doesn't allow you to work offline effectively because you cannot place commits appropriately.