Какими функциями должен обладать универсальный SCC API?

#api #version-control #labview

#API #контроль версий #labview

Вопрос:

Я планирую разработать общий API управления версиями в LabVIEW.
Этот API должен быть универсальным и совместимым с другими инструментами (LabVIEW IDE, инструменты сборки и т.д.) И предоставлять доступ к различным типам SCC (subversion, VCS, Mercurial и GIT) для начала.
Мой основной вопрос заключается не в том, как разработать такой инструмент, а в том, какие функции должны быть доступны в этом API, или есть ли какая-то документация по аналогичным проектам на разных языках?
В настоящее время я думаю о следующих функциях:

  • Добавить файл
  • Удалить файл
  • Файл блокировки
  • Файл обновления
  • Получить последнюю версию
  • Отметьте текущую редакцию
  • Экспортировать репозиторий
  • Отправка в удаленный репозиторий
  • Получить конкретную ревизию

Какую базовую функциональность я полностью упускаю?

Ответ №1:

Microsoft SCC API — хорошее место для начала. Раньше я работал над продуктом, который сейчас является частью Oracle portfolio, и мы использовали MS SCC API для интеграции с рядом систем управления версиями. В то время для получения спецификаций требовалось подписание NDA, но теперь я полагаю, что оно опубликовано в MSDN.

Комментарии:

1. LabVIEW уже предоставляет интерфейс к системам контроля версий, соответствующим MS SCC API, однако ему не хватает открытого исходного кода и базовых параметров конфигурации. И его нельзя использовать вне его области видимости.

Ответ №2:

Microsoft SCC API — это всего лишь спецификации API. Является ли система управления исходным кодом или ее SCC API открытым исходным кодом или нет, зависит от ее поставщика, а не от Microsoft. Для SCCS с открытым исходным кодом доступны реализации SCC API, например Subversion:http://www.pushok.com/soft_svn.php .

Ответ №3:

Я регулярно использую — архивировать проект — вернуть файл в редакцию x — показать историю изменений — объединить / дифференцировать (-> http://www.dmcinfo.com/blog.aspx/articleType/ArticleView/articleId/136/Using-LVmerge-LabVIEW-Merge-Tool-with-TortoiseSVN.aspx ). — отменить проверку / обновление — ветвление

Кроме того, мне нужны папки или что-то в этом роде.