Why does Blender use both Git and Subversion to distribute it's source code?

As far as I can tell Blender uses Git to distribute Blender specific source code and Subversion for the libraries it needs.

Why is that? Wouldn’t just Git or Subversion have sufficed?

SVN is still used since GIT originally was not very good with large binary files.

git clones the whole repo in one go which is nice when you are developing code, since you get all versions of all objects in the repository, however this is problematic if you have 4-5GB worth of big binaries like the libraries that you update on a regular basis, the repo would balloon to an unmanageable size in record time.

SVN just gets you the latest version of those files which is a significantly smaller download so thats why we still use SVN for the libraries and tests.

GIT-LFS has since come to work around that issue, but afaik that still doesn’t ship with stock git we may move to it at one point but for now it’s SVN.

this is a pretty common strategy for enterprise level projects with lots of binary data. the company i work for uses git for source and perforce for assets/content, for example.