Комментарии 13
А git mirror и форки чем не подошёл?
Нужно иметь две копии исходников на разных серверах Gitlab, которые не имеют связи между собой. Может вы с Github'ом перепутали?
Да вроде ничего: git clone --bare "${upstream_repo}" "${tmp_dir}"
cd "${tmp_dir}"
git push --mirror "${mirror_repo}"
Если нужны свои локальные изменения - то форкаемся от "${mirror_repo}" и храним дифф в форке. Форки в гитлабе тоже есть.
Скрипт примерно это и делает, но при чем здесь форки? Нельзя сделать форки между двумя изолированными гитлабами.
Форки делаются внутри гитлаба, зачем между-то.
Для мирроринга репозтория есть штатная тулза, в форке же хранятся уникальные патчи.
Вы читали статью? Есть два гитлаба, нужно синхронизировать исходники между ними, это требование заказчика. Мы ведем разработку в своем гитлабе, но еще выкладываем копию исходников в гитлаб заказчика.
Целевой сервер Gitlab не дает настроить стандартное зеркалирование, равно как и обратное зеркалирование, являющееся premium-фичей
Штатное средство недоступно из-за правил ИБ.
Вы читали мои сообщения или просто так в позу встали?
Форк нужен заказчику, если он пишет свои патчи в ваш код и не отдаёт их обратно. Если ему нужна просто копия репозитория - то всю статью можно заменить на 3 строчки, которые являются штатной фичей даже в git-core.
И даже если нужно фильтроваться по одной ветке - это тоже не rocket sience, а обычный pull и push в другой remote - нет там никакой мистики и непонятности. Git-core сам всё умеет синкать, на то git и распределённый.
Обожаю, когда подобные скрипты попадают в публичные репозитории. Вместе с захардкоженными токенами. А потом кто-то удивляется утечкам.
Это не "очередная истерия", всё максимально серьёзно.
Gitlab за решеткой: синхронизация репозиториев за VPN средствами bash