Я пытаюсь загрузить исходный код Android и следую процедуре, описанной в https://source.android.com/source/downloading.html, который состоит из установки сценария репо, а затем запускаетсяrepo sync приводит к «фатальному: не репозиторий git:« work_dir/.repo/projects/external/ipsec-tools.git »
$ repo init -u https://android.googlesource.com/platform/manifest
$ repo sync
, чтобы получить основную ветку. Я также попытался использовать флаги -f -j1
, чтобы пройти через ошибки и использовать только одно ядро, как было предложено где-то в Интернете. На данный момент, я думаю, что я очень близок к тому, чтобы загрузить всю вещь, но она будет неизменно останавливаться до конца при работе с ipsec-инструментами. Он всегда дает следующий результат:
Fetching project platform/external/ipsec-tools
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1 100 1 0 0 3 0 --:--:-- --:--:-- --:--:-- 3
100 1690k 100 1690k 0 0 2307k 0 --:--:-- --:--:-- --:--:-- 2307k
fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git'
fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git'
fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git'
Traceback (most recent call last):
File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 500, in <module>
_Main(sys.argv[1:])
File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 476, in _Main
result = repo._Run(argv) or 0
File "/home/sebastian/WORKING_DIR/.repo/repo/main.py", line 155, in _Run
result = cmd.Execute(copts, cargs)
File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 635, in Execute
fetched = self._Fetch(to_fetch, opt)
File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 339, in _Fetch
self._FetchProjectList(**kwargs)
File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 234, in _FetchProjectList
success = self._FetchHelper(opt, project, *args, **kwargs)
File "/home/sebastian/WORKING_DIR/.repo/repo/subcmds/sync.py", line 275, in _FetchHelper
no_tags=opt.no_tags, archive=self.manifest.IsArchive)
File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 1110, in Sync_NetworkHalf
no_tags=no_tags)):
File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 1845, in _RemoteFetch
self.bare_git.pack_refs('--all', '--prune')
File "/home/sebastian/WORKING_DIR/.repo/repo/project.py", line 2483, in runner
p.stderr))
error.GitError: platform/external/ipsec-tools pack-refs: fatal: Not a git repository: '/home/sebastian/WORKING_DIR/.repo/projects/external/ipsec-tools.git'
Поскольку он говорит, что это не вместилище мерзавца, я просто пошел по наитию и выбежал git init
на директории это указано, что не работает. Я также попытался удалить весь каталог ipsec-tools.git и повторить синхронизацию репо, чтобы он начинался с нуля, но он всегда дает ту же ошибку.
Любые идеи?
Проверьте файловую систему и посмотреть, если вы находитесь вне дискового пространства. Repo по существу проверяет репозиторий git под '.repo/projects', тогда в вашем рабочем каталоге создается соответствующий путь к содержимому репозитория git и содержимое каталога .git' для этого проекта, обратившись через символическую ссылку в файлы конфигурации git в каталоге '.repo/projects'. Это похоже на то, что он не смог полностью снести все, что могло быть связано с проблемой дискового пространства. –
Спасибо за ваш комментарий, Ларри. Я не был бы удивлен, если бы это была космическая проблема, для этого я запускаю виртуальную машину и на самом деле пришлось увеличить ее дисковое пространство, а затем расширить свой корневой раздел, что было большой проблемой. Однако, когда я вхожу в систему, он говорит, что я использую только около 40% от общего количества 60 ГБ, что означает, что у меня должно быть достаточно места для завершения загрузки. Кроме того, перед расширением я получил явные сообщения о том, что на диске недостаточно места, и теперь я просто получаю эти git-ошибки. Вы все еще думаете, что это может быть причиной? – schlow
Хммм ... возможно, если вы сделали «repo init», за которым последовала «репо-синхронизация», и она потерпела неудачу из-за дискового пространства, а затем попыталась повторно запустить «репо-синхронизацию» после расширения диска. Он мог бы оставить git repos в странном состоянии. Возможно, вам захочется попытаться сдуть ваш рабочий каталог и начать снова. Или вы могли бы просто попробовать повторно запустить 'repo init' и' repo sync', но в прошлом у меня были очень смешанные результаты с этим подходом. –