Как возобновить синхронизацию репо - PullRequest
5 голосов
/ 30 мая 2010

Может кто-нибудь сказать, как возобновить команду синхронизации?

Я сделал следующие шаги: $ repo init -u git: //git.omapzoom.org/platform/omapmanifest.git -b eclair $ repo sync

Синхронизация заняла более 6 часов, и мне пришлось самому прекратить синхронизацию из-за коротких полос пропускания. Есть ли способ возобновить синхронизацию с предыдущего сеанса? Я вижу, что созданы следующие папки:

bionic.git загрузочный build.git cts.git и многое другое ....

У меня есть доступ к бесплатной пропускной способности только в течение 6 часов в день, и я должен выполнить синхронизацию в течение этого времени. Любая помощь очень ценится.

Ответы [ 4 ]

6 голосов
/ 30 мая 2010

репо состоит из 176 «проектов», некоторые из них очень большие (> 100 тыс. Объектов) Вы можете возобновить синхронизацию, только если некоторые проекты полностью загружены, а другие нет. но вы не можете возобновить прерванную синхронизацию одного большого проекта. Вот цитата из руководства Git:

При клонировании большого хранилища (такого как KDE, Open Office, ядро ​​Linux) в настоящее время нет возможности перезагрузить прерванный клон. Это может занять значительное время для пользователя на конец маленькой трубы, чтобы загрузить данные, и если клон прерван в середине пользователь в настоящее время нуждается начать все сначала и Попробуйте снова. Для некоторых пользователей это может сделать невозможным клонирование большого хранилище.

Итак, если вы действительно хотите перенести эти файлы на свой компьютер - вам лучше получить доступ к какой-либо оболочке из вашей сети, перенести туда файлы, а затем синхронизировать локальный ПК и эту удаленную оболочку с помощью некоторого перезапускаемого метода, такие как RSync.

Или даже удаленно сожмите все эти вещи в один большой архив и загрузите его на свой компьютер с вашим любимым менеджером загрузки.

4 голосов
/ 28 июня 2011

Как упоминалось выше, репо используется для управления несколькими небольшими проектами (некоторые из которых очень большие). Но вам не придется повторно загружать проекты, которые вы уже закончили загружать. Однако вам придется перезапустить проект, который вы загружали.

Просто введите:

repo sync

еще раз, и он проверит, есть ли какие-либо обновления в уже загруженных проектах, если так, загрузите их, а затем начните со следующего загруженного проекта. Если для загрузки одного проекта у вас больше времени, выделенного вам (похоже, это 6 часов), вам нужно будет найти более быстрое / другое соединение для его загрузки.

3 голосов
/ 28 марта 2013

У меня возникла та же проблема, поэтому я создал сценарий, который выполняет в точности то, что было сказано здесь, загружая 1 проект за раз, пока все не будет сделано.

Не нужно объяснений, вам нужно только выполнить repo init, а затем запустить этот скрипт в папке, где был создан .repo.

Он загрузит все проекты и создаст журнал, сообщающий о состоянии каждого проекта.

Если произошла ошибка, она будет зарегистрирована.

Если вы снова запустите скрипт, он прочтет файл журнала и попытается сначала загрузить проекты «Ошибка».

Пожалуйста, посмотрите: http://shellswissknife.blogspot.com/2013/03/long-repo-sync.html

3 голосов
/ 24 мая 2012

Один из вариантов - синхронизация одного или двух проектов одновременно.

repo sync Proj1 Proj2

Таким образом, вы можете контролировать, что синхронизируется, и полностью ли это сделано. Чтобы получить полный список ваших проектов, просмотрите каталог .git и вручную выполните repo sync для каждого проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...