repo sync 加速
项目是用 repo 来管理 SDK,随着 SDK 中包含的仓库越来越多,以及单个仓库的体积越来越大,下载 SDK 的时间越来越长,目前已经超过了 15 分钟。 有没有办法加速 SDK 的下载? 答案是有的,就是利用 repo 命令的 --reference 参数,可以将下载时间优化到 1 分钟左右。
该方法需要先创建本地 SDK mirror,然后在执行 repo init 命令的时候设定 --reference 参数。 SDK mirror 只需要创建一次,未来 sync 代码时可以重复使用。
创建 SDK mirror:
mkdir sdk_repo_mirror cd sdk_repo_mirror repo init -u ssh://YOUR_ACOUNT@GERRIT_HOST/manifest --mirror repo sync --no-tags;
Download SDK Source:
mkdir sdk_work cd sdk_work repo init -u ssh://YOUR_ACOUNT@GERRIT_HOST/manifest --reference=YOUR_SDK_MIRROR_PATH repo sync
repo 仓库中的注释:
The --reference option can be used to point to a directory that has the content of a --mirror sync. This will make the working directory use as much data as possible from the local reference directory when fetching from the server. This will make the sync go a lot faster by reducing data traffic on the network.