Как локально клонировать всю кодовую базу AOSP

У меня есть кодовая база AOSP в моей системе, и я хочу сделать резервную копию всей кодовой базы на свой внешний диск, и я не хочу выполнять синхронизацию репо или что-то в этом роде. Я попытался скопировать папки вручную, но когда я попытался выполнить git log в моей папке назначения, он отображается как фатальный, и я чувствую, что git был поврежден во время копирования вручную. Так можем ли мы сделать это с помощью git clone для всех репозиториев или есть какой-то другой способ?


person Abhishek jr    schedule 25.01.2020    source источник
comment
Обычной рекурсивной копии (cp -R или cp -a) из командной строки должно быть достаточно. Некоторые люди сообщают о проблемах с копированием с помощью перетаскивания в Windows, поэтому вам действительно следует использовать для этого командную строку.   -  person bk2204    schedule 25.01.2020


Ответы (2)


Лучше:

  • используйте git bundle, чтобы создать один файл (представляющий полный репозиторий с его историей)
  • скопируйте этот один файл на внешний диск
  • клонировать из этого одного файла в другое место (файл пакета действует как удаленный репозиторий, из которого вы можете клонировать/извлекать)
person VonC    schedule 26.01.2020
comment
Пакет Git не может быть выполнен из корня базы кода, поскольку он не содержит .git, и он покажет фатальный: нужен репозиторий для создания пакета, а кодовая база AOSP представляет собой набор большого количества репозиториев, поэтому это утомительная работа. чтобы зайти в каждый репозиторий и выполнить «git bundle». Но корень базы кода содержит папку .repo, так что есть ли способ сделать это с помощью инструмента репо? или репо в сочетании с git? - person Abhishek jr; 27.01.2020
comment
@Abhishekjr не уверен: я вижу только blog.donghwi.kim/3745 (update_bundle.sh) - person VonC; 27.01.2020

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

Если вы беспокоитесь о своих изменениях, вам следует зафиксировать их, создать файл исправления и сохранить для него резервную копию. Используя файл исправления, вы сможете восстановить свои изменения в новом репо.

person Farhan A. Rafi    schedule 14.08.2020