这种方式获取repo不好修改repo版本。
curl https://storage.googleapis.com/git-repo-downloads/repo> ~/bin/repo
chmod a+x ~/bin/repo
现在来使用另一种方式。repo仓地址为:
https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
clone repo的git仓库到本地。
user@user:/F$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
正克隆到 'git-repo'...
remote: Enumerating objects: 8841, done.
remote: Counting objects: 100% (5037/5037), done.
remote: Compressing objects: 100% (2530/2530), done.
remote: Total 8841 (delta 4820), reused 2507 (delta 2507), pack-reused 3804
接收对象中: 100% (8841/8841), 3.05 MiB | 15.59 MiB/s, 完成.
处理 delta 中: 100% (6086/6086), 完成.
修改环境变量配置。
// .bashrc 文件
export PATH=/F/git-repo:$PATH
使用which repo
或repo --version
可以repo查看路径,确定是否配置成功。
然后切到需要的tag版本即可。
如果后续repo sync的时候遇到问题,例如
repo sync --force-sync -j4
Fetching: 100% (1224/1224), done in 3m37.305s
info: A new version of repo is available
warning: repo is not tracking a remote branch, so it will not receive updates
================================================================================
Repo command failed: RepoUnhandledExceptionError
GitCommandError: 'reset --keep v2.45^0' on repo failed
stderr: error: Entry '.flake8' not uptodate. Cannot merge.
fatal: 不能重置索引文件至版本 'v2.45^0'。
只需要删掉本地aosp仓库的/.repo/repo文件,例如我这里是/F/aosp/.repo/repo
,然后重新执行 repo init即可(会自动重新下载这个文件夹)。
不过其实可能也可以直接在/F/aosp/.repo/repo这里切版本。
切repo版本的主要目的是,解决由于环境问题导致repo sync报错的问题,例如假设当前python使用是python2,部分版本的repo是不支持的,需更换版本。可以多试试,将本地的git-repo这个仓库的版本回退,选择合适的版本。经测试发现,部分高版本的repo,也是可以支持python2的。