Reduce the Size of the Android Source Repository .repo Directory

前端 未结 2 1799
一整个雨季
一整个雨季 2020-12-17 02:51

I have been switching between several branches of the Android source code with the commands like:

repo init -u https://android.googlesource.com/platform/mani         


        
相关标签:
2条回答
  • 2020-12-17 03:08

    Untested, but I think you can use the -c switch to only download the branches you currently need.

    With that flag, repo will only download the revision (branch) that is specified in the manifest, not all the branches that are on the remote server. It will thus save us quite some space, and again it will take less time to download.

    Source and more info: http://xda-university.com/as-a-developer/repo-tips-tricks

    0 讨论(0)
  • 2020-12-17 03:22

    The -c flag doesn't seem to be supported any more, but here's what you can do.

    At the time of writing, repo init -u https://android.googlesource.com/platform/manifest -b android-5.1.0_r5 creates 33GB worth of files.

    Adding --depth=1 reduces this to 21GB.

    Adding --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5 to exclude devices and components you're not interested in reduces this to 19GB.

    For storage only, you could remove the checked-out files for each .git repository inside .repo/ to save even more space, but I'm not sure how to script this. If you did do this, repo sync would check out the "missing" files when needed.

    For reference, my complete command line was
    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
    so this tree would only work for the Nexus 4. I have not yet tried to build from this tree but there's no reason it wouldn't work.

    You could also remove projects you're not using by specifying a local manifest, or even work from a compressed filesystem like btrfs with the right mount options, but I'm unsure of the performance impact.

    0 讨论(0)
提交回复
热议问题