![使用 repo 下载多个分支到同一目录](https://linux22.com/image/1442630/%E4%BD%BF%E7%94%A8%20repo%20%E4%B8%8B%E8%BD%BD%E5%A4%9A%E4%B8%AA%E5%88%86%E6%94%AF%E5%88%B0%E5%90%8C%E4%B8%80%E7%9B%AE%E5%BD%95.png)
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
所有松散的对象打包到打包文件中。