我一直在使用以下命令在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存储库使用git gc
,但在这种情况下不起作用。是否存在等效的.repo存储库?
注意:我确实尝试过repo prune
,但这并没有减少.repo目录的大小。
答案 0 :(得分:9)
A = 65
B = 66
C = 67
D = 68
E = 69
F = 70
标志似乎不再受支持了,但这是你可以做的。
在撰写本文时,
-c
会创建 33GB 的文件。
添加repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5
会将其减少为 21GB 。
添加--depth=1
以排除您不感兴趣的设备和组件会将其降低为 19GB 。
仅限存储,您可以删除.repo /中每个.git存储库的签出文件,以节省更多空间,但我不知道如何编写脚本。如果您这样做,--groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5
会检查"缺少"需要时提供文件。
作为参考,我的完整命令行是
repo sync
所以这棵树只适用于Nexus 4.我已经不尝试从这棵树构建,但没有理由它不会工作。
您还可以删除specifying a local manifest未使用的项目,甚至可以使用正确的挂载选项从btrfs等压缩文件系统中工作,但我不确定性能影响。< / p>
答案 1 :(得分:0)
未经测试,但我认为您可以使用-c
开关仅下载您当前需要的分支。
使用该标志,repo将仅下载清单中指定的修订版(分支),而不是远程服务器上的所有分支。因此,它将为我们节省相当多的空间,并且再次下载将花费更少的时间。
来源和更多信息:http://xda-university.com/as-a-developer/repo-tips-tricks