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

标签 android git android-source repo

我一直在使用如下命令在 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/

相关文章:

java - 在满足条件之前防止关闭 AlertDialog.Builder

android - 刷新谷歌地图上的标记以在 Android 中查看标记上的图像

java - 爱欲 |只读文件系统错误

git - 告诉 git 不要 merge 二进制文件而是选择

git - 我在 git-svn 中打了标签,现在我的主人总是提交到 svn 标签!

java - 运行make时出现错误110

android - 是否可以同时 ping 测试双卡 3G 网络?

git - Jenkins 服务不可用错误 - 503 - 以不同用户身份运行

android - 如何在android框架[AOSP] java文件(不是Android Studio或Java IDE)中使用像jsoup库这样的外部jar

Android 电子邮件应用程序源代码