The pros and cons of Git and SVN have been discussed abundantly for many years. So what makes me ask this question anyway? Most discussions compare certain technical aspects in detail but do not ask how relevant these actually are. I like to take the discussion to a more pragmatic level.
Let's face it. Most professional developers, including myself, are not really interested in version control. Of course they are aware that it is neccessary but they want to interact with it as little as possible and focus on their actual work instead. It is something that should more or less happen in the background. And of course as an employer you don't want the precious time of your developers to be spent on non productive stuff.
When comparing SVN with Git, it is pretty safe to say that the latter is much more complex. More things can go wrong. And they will go wrong and cost money.
In SVN there is your local data and a central repository. That's easy to understand and there is a single source of truth. In Git, there are multiple repositories. A local one and potentially multiple remote ones. But that's not all. There is also a staging area and a stash. While all of this makes sense theoretically, it gives the developer a lot of things to keep in mind. It definitely adds complexity to her life.
In SVN, commits have simple consecutive numbers while in Git there are 40 digit hashes. I understand that in a distributed version control system, a numbering scheme like in SVN is not possible. But then, who really needs distributed version control? Is being able to work offline really such a big deal nowadays?
You could add more items to this list, for example the cryptic command line interface of Git or the possibility to modify history.
So why do companies keep switching from SVN to Git and not the other way round?