Subversion или Mercurial SPI - Какой API должен реализовывать сервер? - PullRequest
2 голосов
/ 06 декабря 2011

Я пытаюсь оценить идею продукта, которая (помимо основной нераскрытой функциональности) обеспечила бы вторичное представление контента / изменений в стиле «контроля версий».Я ожидаю много пользователей, и я бы не стал создавать настоящие репозитории, я хотел бы хранить свои внутренние данные так, как считаю нужным - я хотел бы просто эмулировать Subversion или сервер Mercurial.

Я быстропоиск API, и хотя Subversion и Mercurial богаты клиентской документацией по API, я не смог найти приличную документацию / спецификации API / SPI на стороне сервера.

Я собираюсь использовать Java, но любой формат влюбой язык может быть полезен для определения сложности и требуемых усилий.Git может быть вариант, но у меня нет опыта работы с ним.

Обновление № 1: я не ищу популярности данного инструмента.Мне нужно двоичное / REST / любое описание протокола данного типа сервера, которое необходимо реализовать, чтобы «быть» таким сервером.

Ответы [ 3 ]

2 голосов
/ 07 декабря 2011

Возможно, это могло бы помочь, это реализация svn на стороне сервера, написанная на Java.

Если опция git, вы должны взглянуть на jgit-http-server:

1 голос
/ 07 декабря 2011

Поддержка Subversion в области webdav и автоверсии может быть самой близкой к тому, что вы ищете, хотя я бы не поспорил, что это будет легко:)

1 голос
/ 06 декабря 2011

Информацию о 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

CategoryInternals page также, возможно, стоит прочесть.

Если вам нужна дополнительная информация, боюсь, вам придется прочитать код.

...