Subversion或Mercurial SPI - 服务器应该使用什么API?

时间:2011-12-06 07:38:06

标签: java git svn mercurial webdav

我正在尝试评估一种产品理念(除了主要的,未公开的功能之外)将提供内容/更改的“修订控制”式次要视图。我期待很多用户,我不会创建真正的存储库,我想存储我认为合适的内部数据 - 我想模拟Subversion或Mercurial服务器。

我已经快速搜索API了,虽然Subversion和Mercurial在客户端API文档上很丰富,但我找不到像样的服务器端API / SPI文档/规范。

我将使用Java,但任何语言的任何格式都可能有助于确定复杂性和所需的工作量。 Git 可能是一个选项,但我没有经验。

更新#1:我不是在寻求特定工具的流行度。我需要二进制/ REST /任何协议描述给定类型的服务器,需要实现“成为”那种服务器。

3 个答案:

答案 0 :(得分:2)

也许这可能会有所帮助,它是用java编写的svn的服务器端实现。

如果git是一个选项,你应该看一下jgit-http-server:

答案 1 :(得分:1)

您可以在以下链接中找到有关Mercurial“API”的一些信息:

  1. https://www.mercurial-scm.org/wiki/WireProtocol
  2. https://www.mercurial-scm.org/wiki/HttpCommandProtocol
  3. https://www.mercurial-scm.org/wiki/SshCommandProtocol
  4. CategoryInternals page也许值得一读。

    如果您想了解更多信息,我恐怕您必须阅读该代码。

答案 2 :(得分:1)

{p> Subversion's webdav and autoversioning support可能是你所寻求的最接近的一个,虽然我不会打赌它会很容易:)