如何仅下载AOSP源代码中的一个工作目录而不包含整个存储库历史记录?

11

最新的AOSP源代码非常庞大(.repo目录约30-35 GB,工作目录约15 GB),有没有一种方法可以仅下载最新版本的源代码快照(官方Marshmallow发布版),而不需要整个repo历史记录?这样可以节省大量带宽和存储空间。

3个回答

13
您可以指定--depth 1git clone命令中,这样它只会获取最新的快照。

5
谢谢,当在单独的项目上使用git时这个很好用。看起来要一次性为AOSP中的所有项目应用深度,可以使用以下repo命令:repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b android-6.0.0_r1在运行repo sync之前。 - Phil
2
当我使用上面评论中的命令时,我最终得到了一个6.1 Gb的.repo目录,用于marshmallow分支。 - Phil
我可以稍后下载旧的提交吗? - Suici Doga
我下载了它,大约需要2个小时才能下载完成(16兆字节)。 - Suici Doga
如果需要,我也想知道如何下载提交历史记录。 - Biao Cao

0

在Ubuntu中下载Android源代码(AOSP)的步骤

  1. 首先在您的计算机上创建一个名为“aosp-m”的文件夹,用于复制AOSP代码。

  2. 打开终端(Ctrl+Alt+T)并将您的目录更改为最新创建的目录,比如说“aosp-m

  3. 然后在终端中运行以下命令: git clone git://gitz01/cm/download/android/manifest 如果此链接无法使用,请尝试这个 repo init -u https://android.googlesource.com/platform/manifest

  4. 在终端中逐一运行以下命令 git config --global user.name "Your Name" git config --global user.email "you@example.com"

  5. 然后运行以下命令进行repo init repo init -u git://gitz01/cm/download/android/manifest -b master -m identifiedmanifest.xml 如果此链接无法使用,请尝试这个 repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b identifiedmanifest.xml 在这里,您可以将identifiedmanifest.xml替换为您想要的AOSP源代码,比如说"android-6.0.1_r10.xml" marshmellow。

  6. 最后运行"repo sync"命令。此命令开始在您的计算机中下载所需的AOSP代码。此操作需要超过1小时(取决于您的互联网连接速度)来下载源代码。 就是这样...愉快编码.......


2
什么是 git://gitz01 - Alex Cohn
"AOSP 的 git://gitz01 存储库链接。您公司的 SCM 团队进行管理。" - SAURABH_12

0

自从2018年发布的git 2.19版本以来,我们可以通过repo工具利用git的--partial-clone标志,像下面这样:

repo init -u https://android.googlesource.com/platform/manifest -b master --partial-clone --clone-filter=blob:limit=10M

针对2020年的读者,需要注意的是AOSP存储库已经变得更大了,上述命令仍会导致大约73GB的源代码和相关文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接