减少Android源存储库.repo目录的大小

减少Android源存储库.repo目录的大小,android,git,android-source,repo,Android,Git,Android Source,Repo,我一直在Android源代码的几个分支之间切换,命令如下: repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2 repo sync 最近的标签是安卓-5.0.0_r2。我注意到我的.repo目录现在的大小是30GB。这是预期的尺寸吗?如果没有,那么我推测我有存储在.repo目录中的其他分支/标记的历史记录 有没有办法减小.repo目录的大小?我想仅限于源代码/对象/图像/等。我正

我一直在Android源代码的几个分支之间切换,命令如下:

repo init -u https://android.googlesource.com/platform/manifest -b android-4.4_r1.2
repo sync
最近的标签是安卓-5.0.0_r2。我注意到我的.repo目录现在的大小是30GB。这是预期的尺寸吗?如果没有,那么我推测我有存储在.repo目录中的其他分支/标记的历史记录

有没有办法减小.repo目录的大小?我想仅限于源代码/对象/图像/等。我正在处理的特定分支需要它。硬盘空间对我来说比下载时间更重要

我看到.git存储库上使用了
git gc
,但在这种情况下不起作用。对于.repo存储库是否有一个等价物

注意:我确实尝试了
repo prune
,但这并没有减少.repo目录的大小。

未经测试,但我认为您可以使用
-c
开关仅下载当前需要的分支

有了该标志,repo将只下载清单中指定的版本(分支),而不是远程服务器上的所有分支。因此,它将为我们节省相当多的空间,而且下载时间也会减少


来源和更多信息:

似乎不再支持
-c
标志,但下面是您可以做的

在撰写本文时,
repo init-uhttps://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存储库的签出文件以节省更多空间,但我不知道如何编写脚本。如果您这样做,
reposync
将在需要时检出“丢失”的文件

作为参考,我完整的命令行是
repo init-uhttps://android.googlesource.com/platform/manifest -b安卓-5.1.0_r5--depth=1--groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5,mako

所以这棵树只适用于Nexus4。我还没有尝试从这棵树上建造,但没有理由它不起作用


您还可以删除不使用的项目,甚至可以使用正确的装载选项从压缩文件系统(如btrfs)中删除项目,但我不确定这会对性能产生什么影响。

虽然这有助于最大限度地减少单个分支的空间,但如果我下载多个分支,我认为这没有帮助。我仍然会在分支不重叠的地方提供额外的内容。我认为不再支持-c。当前回购来源中没有对它的引用。支持-c。看见