使用 repo 下载多个分支到同一目录

使用 repo 下载多个分支到同一目录

repo 是一个管理 cyanogenmod 源代码下载的python脚本。

要下载 cm-10.1 分支,repo 命令是,

cd~/厘米-10.1

仓库初始化-uhttps://github.com/CyanogenMod/android.git-b 厘米-10.1

cd〜/厘米-11

然后我们可以使用--reference选项下载cm-11源代码,例如

repo init --reference=~/cm-10.1 -uhttps://github.com/CyanogenMod/android.git-b 厘米-11.0

但是,这会将增量数据下载到 cm-11 目录中。

我想将所有 cyanogenmod 分支下载到单个目录中并根据需要进行构建。我该怎么做?

答案1

由于您使用的是相同的网址对于所有分支,您都可以将它们下载到一个文件夹中,但它们仍然是分开的。

您可以将多个项目文件分支下载到.repo单个工作目录中的单个文件夹中。这样可以节省磁盘空间并消除路径敏感repo --reference、无法使用多个引用等障碍。

要将所有分支下载到同一.repo文件夹中,请执行以下操作:

repo init -u https://github.com/CyanogenMod/android.git -b cm-10.1
repo sync
repo init -b cm-10.2
repo sync
repo init -b cm-11.0
repo sync

列表如下。
这会将所有分支下载到.repo单个工作目录中的单个文件夹中。初始化第二个分支时,我们不提供该-u url选项,因为我们正在重用本地存储库中的其他分支。

repo sync工作目录包含最后初始化的分支之后,这完全无害。我们只关心工作目录,而不是.repo文件夹的内容。分支仍然保持独立。

您可能偶尔会将repo forall -c git gc所有松散的对象打包到打包文件中。

相关内容