I am working with the Android source code. Every time I do a repo sync
I get to download loads of device-specific repositories I don't want because I will only target one device, let's say, HTC Ace.
Is there a way to avoid such overhead?
As someone else already has suggested, the local manifest can be used to patch the original manifest. However, manifests can also put projects into groups and you can use the -g
option to repo init
to choose which groups of projects you want to download.
I think all the device gits that you don't care about have been placed in the "device" group, so excluding that group by prefixing it with a hyphen should accomplish what you want. The default set of groups is "default,platform-platform", e.g. "default,platform-linux" or "default,platform-darwin", although the platform-* entry doesn't appear to match how the AOSP projects have been tagged. Anyway, this should get rid of the unwanted projects:
repo init -u ... -g default,-device
You can poke around the manifest (.repo/manifest.xml
) to find additional groups that you're not interested in.