Синхронизация репозитория в Android android-4.3_r1, размер каталога .repo достигает 70G - PullRequest
0 голосов
/ 05 июля 2018

Я скачал исходный код Android с такими командами, как:

repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.3_r1 --repo-url=git://codeaurora.org/tools/repo.git --repo-branch=caf-stable
repo sync

Размер исходного кода android-4.3_r1 составляет около 7G. Но размер каталога .repo достигает 70G. size of AOSP

Войдите в каталог .repo и обнаружите, что существует каталог объектов проекта размером 70G. size of .repo

Почему каталог репо такой огромный? Для какой дозы используется каталог project-objects?

1 Ответ

0 голосов
/ 05 июля 2018

Все нормально.

.repo/project-objects содержит Git Objects

Когда вы используете repo, объекты Git не сохраняются непосредственно в хранилище. Если вы посмотрите на каталог .git одного из хранилищ вашего рабочего пространства, вы увидите много символической ссылки на .repo/project-objects.

Например:

$ cd bionic/.git
$ la
-rw-rw-r-- 1 hugo hugo   41 juin  22 15:24 [2]  HEAD
lrwxrwxrwx 1 hugo hugo   38 juin  22 15:24 [3]  config -> ../../.repo/projects/bionic.git/config
lrwxrwxrwx 1 hugo hugo   55 juin  22 15:24 [4]  description -> ../../.repo/project-objects/aosp/bionic.git/description
lrwxrwxrwx 1 hugo hugo   49 juin  22 15:24 [5]  hooks -> ../../.repo/project-objects/aosp/bionic.git/hooks
-rw-rw-r-- 1 hugo hugo 440K juil.  3 15:42 [6]  index
lrwxrwxrwx 1 hugo hugo   48 juin  22 15:24 [7]  info -> ../../.repo/project-objects/aosp/bionic.git/info
lrwxrwxrwx 1 hugo hugo   36 juin  22 15:24 [8]  logs -> ../../.repo/projects/bionic.git/logs
lrwxrwxrwx 1 hugo hugo   51 juin  22 15:24 [9]  objects -> ../../.repo/project-objects/aosp/bionic.git/objects
lrwxrwxrwx 1 hugo hugo   43 juin  22 15:24 [10] packed-refs -> ../../.repo/projects/bionic.git/packed-refs
lrwxrwxrwx 1 hugo hugo   36 juin  22 15:24 [11] refs -> ../../.repo/projects/bionic.git/refs
lrwxrwxrwx 1 hugo hugo   52 juin  22 15:24 [12] rr-cache -> ../../.repo/project-objects/aosp/bionic.git/rr-cache
lrwxrwxrwx 1 hugo hugo   39 juin  22 15:24 [13] shallow -> ../../.repo/projects/bionic.git/shallow
lrwxrwxrwx 1 hugo hugo   47 juin  22 15:24 [14] svn -> ../../.repo/project-objects/aosp/bionic.git/svn

Еще одна интересная вещь, которую стоит отметить, - это два шага в repo sync:

  • первая - это выборка, во время которой объект Git будет загружен с сервера в .repo / project-objects

  • второй этап проверки, когда файлы копируются из .repo/project-objects в рабочий каталог

Это означает, что если вы удалите все каталоги, кроме .repo, и выполните синхронизацию снова, этап выборки будет довольно быстрым (в зависимости от новых модификаций на удаленном компьютере), и эта синхронизация репозитория будет в основном копировать в рабочий каталог во время этап оформления заказа.

...