如何通过“ repo sync”限制需要下载的Android源的大小?


16

我打算去一个互联网连接不佳的国家,希望在那里进行一些软件开发。

我一直在repo sync用于同步Android源(以及我的AWS服务器上的CyanogenMod源)。但是它们是如此之大(> 30 GB),以至于我在离开祖国之前都不会得到它们。

有什么办法可以从树中排除代码?我只需要Nexus 7(wifi)(石斑鱼)设备。我可以排除任何项目吗?如果是这样,怎么办?

我正在使用Ubuntu 12.04和回购协议。

(我正在使用Android平板电脑来教育世界上非常贫困的地区的孩子。我想锁定UI,以便孩子只能使用教育应用。作为一项防盗措施,我需要启用创作功能Wi-Fi热点,并让平板电脑在48小时内未通过Wi-Fi连接到其他平板电脑时自行禁用。)


2
也许您可以克隆--depth 0以便仅获取最新版本?或稀疏签出:git sparse-checkout的子目录签出»代码Nomad
slhck

同意游牧民族。来源中很大一部分是版本历史记录。设备特定的部分并不多。此外,而不是克隆整个操作系统,你可以只让Git仓库为您感兴趣的部分。
Nicholaz

非常感谢,这对于互联网连接糟糕的人来说是宝贵的建议!在“回购”文件中,有以下部分:group.add_option('--depth', type='int', default=None, dest='depth', help='create a shallow clone with given depth; see git clone')我将默认深度更改为0,然后重新启动了回购同步。如果这样做符合我的要求,我会报告。
克里斯(Chris

不知道这是否有效-完整源仍然是42GB,有人说这是完整树。目前还无法确认,因为我已经在本地进行ftp传输了一半。
克里斯(Chris

2
尊敬的OP:您的问题是一个好问题。但是,您在错误的网站上提出了要求。如果您在正确的地方(堆栈溢出)提出了问题,那么您将获得更多更好的答案。我已经对Stack Overflow提出了类似的问题;如果您想获得更好的答案,请去那里。
unforgettableidSupportsMonica

Answers:


36

这可能为时已晚。但:

  • 你可以通过--depth=1repo init获得浅克隆。
  • 而且您可以repo sync -c用来仅签出当前分支。

5
帮助原始申请者可能为时已晚。但是帮助其他也想做一个Android浅表克隆的人还为时不晚。
unforgettableidSupportsMonica

6
大提示。另一个提示:我使用repo sync -c -n -j 4 && repo sync -c -l -j 16了更快的同步功能
Korniltsev Anatoly

0

在调用回购同步时,尽管选择了特定的分支,但会下载所有分支中的代码。为了限制下载大小,您可以从github网站手动下载代码。这样,您可以从所需的分支下载代码。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.