git caching proxy for git@ protocol
От: Young yunoshev.ru
Дата: 15.02.24 12:02
Оценка:
Всем привет, а существует ли в природе сабж?

Какую задачу я хочу решить — мне по работе нужно работать с множеством внешних приватных репозитарив. Типичный кейс clone + git submodule update --init по ключу. У всех этих реп, есть сабмодуль — тоже добавленные по git@ протоколу, как правильно один и тот же бранч — но могут быть разные коммиты. Репозитарий не много гигабайт. В результате каждый раз когда нужно забрать себе новую репу — ждем пока он выкачается. Хотя вот только что 10 минут назад мы выкачали другу репу и там был такой же сабмодуль.

Можно конечно руками копировать и прочее, но хочется все же автоматизировать.

Какие есть возможные решения? Править репы нельзя, они внешнии, мы с ними работает только на read доступ.
Re: git caching proxy for git@ protocol
От: Mumitroller Беларусь  
Дата: 15.02.24 14:34
Оценка: 6 (1) +1
Здравствуйте, Young, Вы писали:

Y>В результате каждый раз когда нужно забрать себе новую репу — ждем пока он выкачается. Хотя вот только что 10 минут назад мы выкачали другу репу и там был такой же сабмодуль.


Я бы попробовал git clone ... --reference-if-able <local repo>, где <local repo> — какой-нибудь локальный repo, где уже есть нужный submodule. Тогда git не будет скачивать файлы для submodule, а возьмёт их из <local repo>. Также можно ещё добавить ключик --dissociate, чтобы не было зависимостей между локальными repo.

https://git-scm.com/docs/git-clone

Mumitroller.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[2]: git caching proxy for git@ protocol
От: Mumitroller Беларусь  
Дата: 15.02.24 14:44
Оценка: 8 (2)
M>Я бы попробовал git clone ... --reference-if-able <local repo>, где <local repo> — какой-нибудь локальный repo, где уже есть нужный submodule. Тогда git не будет скачивать файлы для submodule, а возьмёт их из <local repo>. Также можно ещё добавить ключик --dissociate, чтобы не было зависимостей между локальными repo.

Update: для git submodule update этот ключик называется --reference

Mumitroller.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.