RESTful API поверх репозитория Git

#git #rest #spring-boot

#git #rest #весенняя загрузка

Вопрос:

Я хочу разместить собственный удаленный репозиторий Git, а затем предоставить его через REST API из моего приложения (spring boot). Мой вопрос в том, как будет работать клонирование / форк и т. Д.? Технически ли возможно передать все файлы / содержимое в репозитории через Http-ответ, когда клиент вызывает мой API-интерфейс clone? Кто-нибудь добился этого и каков был бы наилучший подход?

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

1. Как вы думаете, чего достигнет RESTful API? REST не означает, что HTTP — git уже работает через HTTP. Создание другой конечной точки не имело бы смысла

Ответ №1:

Вы же не хотите создавать что-то вроде Github самостоятельно, не так ли? 🙂

Но, обращаясь к вашему конкретному вопросу, клон / форк, очевидно, НЕ должен передавать файлы с Http-ответом / запросом, а вместо этого должен отправлять на сервер, который предоставляет REST API что-то вроде HTTP-запроса POST cloneRepository с параметром HTTP repositoryName (заданным на имя клонируемого репозитория), который затем будет обработанКонтроллер Spring MVC, который, в свою очередь, запускает команды Git на сервере, на котором размещены репозитории Git.

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

1. Или вы могли бы использовать CGI и git-http-серверную часть.

2. Спасибо. Фактически, я уже размещаю Git в удаленном репозитории на своем сервере в дополнение к моему приложению spring boot. И из моего приложения мне нужно управлять этим репозиторием. Например, когда я клонирую репозиторий в своем приложении (из пользовательского интерфейса), я хочу, чтобы мое приложение выполняло клонирование git, которое передавало бы содержимое репозитория клиенту. Повторное клонирование его на сервере — это то, чего я хотел бы избежать.

3. @manubhat Если я теперь правильно понимаю (кажется, я неправильно понял ваш вопрос), вам, возможно, также следует последовать предложению Панайотиса Канавоса parallelsymmetry.com/howto/git.jsp это может быть полезно.

4. Спасибо. Я попробую.