"...you can already build such a system yourself quite trivially by getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem."
This comment is what led me down the rabbit hole of building a Dropbox like UI for FTP [1] and generalise the approach to work with SFTP, WebDAV, S3 and ultimately any system that can be modelled as a filesystem [2] with the magic of interfaces in OO [3]
[1] https://github.com/mickael-kerjean/filestash
[2] https://www.filestash.app/img/illustration/filestash-framewo...
[3] https://github.com/mickael-kerjean/filestash/blob/cddbcfc6d1...