Настройка зеркального репозитория с зарубежного сервера на локальный сервер

В нашем проекте участвуют 5 разработчиков в Китае и 3 разработчика в США. Серверная машина в Китае считается главной машиной. Я хочу настроить зеркало репозитория с сервера в Китае на сервер в США, чтобы наши местные разработчики могли repo sync работать намного быстрее. Прямо сейчас сервер repo init / sync из Китая занял 5 часов.

В качестве примера предположим, что сервер в Китае называется server1.china.com, а сервер в США — server2.usa.com.

Проект вытягивается с китайского сервера с помощью команды:

repo init -u ssh://server1.china.com/projectA/standard.git -b release17
repo sync

Я хочу иметь возможность настроить локальное зеркало таким образом, чтобы вытягивание проекта стало:

repo init -u ssh://server2.usa.com/projectA/standard.git -b release 17
repo sync

Я ожидаю, что также потребуется периодически запускать задание cron, чтобы получать последние изменения с сервера 1 на сервер 2 после первоначальной настройки.

Я видел обсуждения использования git clone --mirror, но не совсем уверен, что это даст именно то, что мне нужно.

Спасибо


person user3161526    schedule 05.01.2014    source источник
comment
Этот вопрос, вероятно, больше подходит для одного из других форумов по обмену стеками, поскольку речь идет не о программировании.   -  person Tim Dean    schedule 05.01.2014
comment
Похоже на дубликат stackoverflow.com/questions/6136789/.   -  person Magnus Bäck    schedule 05.01.2014


Ответы (1)


Вам нужно repo init --mirror, от repo init -h:

--mirror            create a replica of the remote repositories rather
                    than a client working directory

После того, как вы создали его, вы можете поддерживать его в актуальном состоянии с помощью repo sync.

person onionjake    schedule 23.01.2014
comment
После этого мне пришлось изменить файл .repo/manifests/default.xml, как в этом сообщении - person trapezoid; 06.12.2014