1. Is there a protocol specification for source control (like OStatus or ActivityPub but for communicating with a source control server)?
2. If not, can we create one with a name like Open Version Control (OVC for short)?
3. Can we then agree on what constitutes the necessary data for a commit, push, user info, etc (so we can make Linus happy[1]) so plugins/extension can be made for Git, Mercurial, TFS, VSTS, SVN, etc such that I can use Mercurial for my local workflow and then use a command like `hg ovc push GitLab/FeatureFoo` and my local Mercurial repo pushes the state of my branch to the FeatureFoo branch on the GitLab remote I've defined (and the fact that GitLab is running Git and not Hg would be irrelevant).
At that point I couldn't care less how the hosting provider works internally; it also means an OVC-compliant host could give you the repo in any supported format you could want for local use (Hg for me; Git for Linux; VSS for Steve Ballmer, etc).
Would this be a useful development or would work on such a project be a waste of time?
[1] https://www.wired.com/2012/05/torvalds-github/