repo sync 更新源码 android-12.0.0_r34, fatal: 不能重置索引文件至版本 ‘v2.27^0‘。

1. 问题描述

AOSP 12的源码两月没有更新了,今日对其做repo sync动作,并切换到新的版本android-12.0.0_r34,结果遇到错误

  • fatal: 不能重置索引文件至版本 ‘v2.27^0’

2. 错误日志

2.1 操作过程

szhou@bc04:~/aosp/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-12.0.0_r34
.repo/manifests/: discarding 15 commits

Your identity is: mgr244 <zhoushang@casirisvision.com>
If you want to change this, please re-run 'repo init' with --config-name

repo has been initialized in /home/szhou/aosp/aosp
szhou@bc04:~/aosp/aosp$ repo sync -j4
Fetching: 100% (1040/1040), done in 23m23.215s
Garbage collecting: 100% (1040/1040), done in 3.679s
info: A new version of repo is available
warning: repo is not tracking a remote branch, so it will not receive updates
repo reset: error: Entry 'command.py' not uptodate. Cannot merge.
fatal: 不能重置索引文件至版本 'v2.27^0'。

szhou@bc04:~/aosp/aosp$

2.2 错误分析

  • 从如下提示可知,repo已经存在一个新的版本,但因为repo没有" tracking a remote branch" 所以不会被更新
info: A new version of repo is available
warning: repo is not tracking a remote branch, so it will not receive updates
repo reset: error: Entry 'command.py' not uptodate. Cannot merge.
fatal: 不能重置索引文件至版本 'v2.27^0'

3.解决办法

  • 如上,既然repo不能在repo sync时候被更新,那我们就自己git pull一下看看
  • 操作过程如下, 进入 .repo/repo/目录后,后执行git pull命令更新repo
szhou@bc04:~/aosp/aosp$ cd .repo/repo/
szhou@bc04:~/aosp/aosp/.repo/repo$ ls -al
总用量 860
drwxr-xr-x 11 szhou szhou   4096  222 17:21 .
drwxr-xr-x  7 szhou szhou   4096  720 19:21 ..
-rw-r--r--  1 szhou szhou   4438  21  2021 color.py
-rw-r--r--  1 szhou szhou   6056  31  2020 color.pyc
-rw-r--r--  1 szhou szhou  12769  222 17:21 command.py
……  省略 …… 
szhou@bc04:~/aosp/aosp/.repo/repo$ git pull
提示:不建议在没有为偏离分支指定合并策略时执行 pull 操作。 您可以在执行下一次
提示:pull 操作之前执行下面一条命令来抑制本消息:
提示:
提示:  git config pull.rebase false  # 合并(缺省策略)
提示:  git config pull.rebase true   # 变基
提示:  git config pull.ff only       # 仅快进
提示:
提示:您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
提示:缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
提示:或者 --ff-only 参数覆盖缺省设置。
来自 https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
   68d6963..a8cf575  stable     -> origin/stable
更新 8e91248..a8cf575
Fast-forward
 command.py                         |  99 +++++++++++++---
…… 省略  ……
 create mode 100644 tests/test_subcmds_sync.py
szhou@bc04:~/aosp/aosp/.repo/repo$ 

4. 最后

更新完repo之后,继续用repo sync命令,即可继续同步代码

szhou@bc04:~/aosp/aosp$ repo sync 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿迷创客

感谢!您的支持是我写作的动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值