It is possible to create a (C/C++) project that have source roots on remote file system. Unfortunately version control isn't able to work with such projects. And, which is worse, the versioning frametwork itself (VCSContext, VcsVisibilityQuery, etc) often works in terms of java.io.File, which makes impossible to create a plugin capable of working with remote file objects.