Subversion or Mercurial SPI – What API shall a server implement?
I’m trying to evaluate a product idea that (besides the main, non-disclosed functionality) would provide a “revision control”-style secondary view of the content/changes. I expect many users, and I wouldn’t create real repositories, I would like to store my internal data as I see fit – I would like to just emulate the Subversion or the Mercurial server.
I’ve quickly search for APIs, and although Subversion and Mercurial is rich on client API documentation, I couldn’t find decent server-side API/SPI docs/specification.
I’m going to use Java, but any format in any language could be helpful to decide on the complexity and required effort. Git might be an option, but I have no experience with it.
Update #1: I am not seeking popularity of a given tool. I need the binary/REST/whatever protocol description of the given type of server that need to be implemented to “be” that kind of server.
3 Solutions collect form web for “Subversion or Mercurial SPI – What API shall a server implement?”
Perhaps this could help, it is the server side implementation of svn written in java.
If git is an option you should have a look at the jgit-http-server:
Subversion’s webdav and autoversioning support might be the closest one what you are seeking, although I wouldn’t bet on that it will be easy 🙂
You can find some information about Mercurial “API” in the following links :
The CategoryInternals page is also maybe worth reading.
If you want more information, I’m afraid you will have to read the code.