2013-06-22 6 views
0

Я хочу поэкспериментировать с построением чего-то похожего на меркуриального клиента. Я искал официальный API, и я нахожу эту страницу https://www.mercurial-scm.org/wiki/MercurialApi, которая описывает API, но сильно не поощряет людей полагаться на нее. Кроме того, страница выше состояний в каком-то месте, чтоКаков наилучший подход для меркуриального API

Для подавляющего большинства кода третьей стороны, лучший подход заключается в использовании Mercurial опубликовал, документированного и стабильного API: в командной строке интерфейса.

Как лучше всего разобрать выход из различных меркурийных команд? Я не боюсь делать что-то подобное, но то, что беспокоит меня, - это тот факт, что выход этих команд ум немного меняется в будущем, потенциально нарушая мой код.

Есть ли какой-нибудь другой подход, или вы просто полагаетесь на CLI, и если он изменится, вы просто адаптируетесь?

ответ

1

Просто положитесь на CLI. Кроме того, вы можете упаковать определенную версию hg с вашим клиентом, чтобы вы могли контролировать, какую версию вы используете. Тем не менее, вы должны изучить последствия лицензии для этого, прежде чем делать это. Начать с https://www.mercurial-scm.org/wiki/License

1

Промежуточный вариант заключается в использовании command server, который использует API командной строки, но избегает некоторых проблем, которые может вызвать наивная упаковка.

Для этого существуют различные клиенты; hglib - это реализация Python, JavaHg - это библиотека Java. Я считаю, что JavaHg также обладает расширенными функциональными возможностями для обработки вывода и взаимодействия с вами.