我一直在使用如下命令在 Android 源代码的几个分支之间切换:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2
repo sync
最近的标签是 android-5.0.0_r2
。我注意到我的 .repo 目录现在大小为 30 GB。那是预期的大小吗?如果没有,那么我推测我在 .repo 目录中存储了我使用过的其他分支/标签的历史记录。
有没有办法减小 .repo 目录的大小?我想仅限于源/对象/图像/等。我需要我正在处理的特定分支。硬盘空间对我来说比下载时间更重要。
我看到 git gc
用于 .git 存储库,但在这种情况下不起作用。 .repo 存储库是否有等效项?
注意:我确实尝试了 repo prune
,但这并没有减少 .repo 目录的大小。
最佳答案
-c
标志似乎不再受支持,但您可以执行以下操作。
在撰写本文时,
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5
创建 33GB 的文件。
添加 --depth=1
将其减少到 21GB。
添加 --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5
以排除您不感兴趣的设备和组件将其减少到 19GB。
仅对于存储,您可以删除 .repo/中每个 .git 存储库的 checkout 文件以节省更多空间,但我不确定如何编写脚本。如果您这样做,repo sync
将在需要时检查“丢失”的文件。
作为引用,我的完整命令行是
repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 --depth=1 --groups=all,-notdefault,-device,-darwin,-x86, -mips,-exynos5,mako
所以这棵树只适用于 Nexus 4。我还没有尝试从这棵树构建,但没有理由它不起作用。
您还可以通过 specifying a local manifest 删除未使用的项目,甚至可以使用具有正确挂载选项的压缩文件系统(如 btrfs)工作,但我不确定对性能的影响。
关于android - 减小 Android 源存储库 .repo 目录的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761114/