#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 ). — отменить проверку / обновление — ветвление
Кроме того, мне нужны папки или что-то в этом роде.