Как выполнить "repo init" в отключенной системе?
Я отразил хранилище с
repo init -u <uri of manifest> --mirror
repo sync
и скопировал его (через usb) в систему, отключенную от Интернета, вместе со сценарием репозитория и репозиторием клонов репо из https://gerrit.googlesource.com/git-repo/clone.bundle.
Теперь я хочу создать новый клиент из зеркала, но когда я запускаю команду.
repo init -u <uri of manifest on mirror>
я получаю следующую ошибку.
fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle
fatal: error [Errno -2] Name or service not known
Итак, у меня есть clone.bundle, но я не могу убедить репо использовать его.
Какие-либо предложения?
2 ответа
Существует вариант, который, как представляется, полностью недокументирован в Интернете для репо. Это --repo-url, который позволяет вам переориентироваться, когда репо ищет последнюю версию самого себя.
Вот что я сделал:
Я сохранил пакет в моем доме как git-repo-clone.bundle
repo init -u < uri of manifest on mirror > --repo-url ~/git-repo-clone.bundle
Я узнал об этом, прочитав сам скрипт репо, и подумал, что поделюсь.
Есть возможность игнорировать комплект клонов.
repo init -u <your-manifest-mirror-url> --no-clone-bundle
Кажется, что repo
инструмент, который был установлен в вашей системе, пришел из git-repo
репо из проекта Google Gerrit. Эта проблема может быть легко решена с помощью чего-то похожего на ответ OwainD, но только с использованием зеркала без необходимости делать еще одно репо.
repo init -u <mirror uri>/platform/manifest.git --repo-url <mirror uri>/tools/repo.git
Это решило проблему и для меня и избавило меня от необходимости захватывать другой репозиторий и переносить его на неподключенный компьютер.