remote rejected] HEAD -> refs/for/v2.5 (change 256860 closed) gerrit报错原因
2016-03-24 14:37
1321 查看
_gen_ChangeIdInput() { echo "tree `git write-tree`" if parent=`git rev-parse "HEAD^0" 2>/dev/null` then echo "parent $parent" fi echo "author `git var GIT_AUTHOR_IDENT`" echo "committer `git var GIT_COMMITTER_IDENT`" echo printf '%s' "$clean_message" } _gen_ChangeId() { _gen_ChangeIdInput | git hash-object -t commit --stdin }
_gen_ChangeIdInput 函数输出的信息包括:tree parent author committer 以及 log信息原文。把这些输出到命令git hash-object -t commit --stdin 生成一个40位的哈希值,然后这个哈希值,经过awk这一串处理后,前面加上了 Change-ID: 最后就形成了 Change-Id: I7242a41d8c77df44d48aa97c9f1c9c502270bbd8 这样子的change-id内容。
出现如题所示的报错是因为历史记录里出现了两个相同的Change-ID。
回想操作过程,之前提交的时候因为有merge,所以在gerrit服务器上审核的时候,我给abandoned了,因此从新处理提交的时候就出现了相同的tree, parent, author, committer以及log原文,这也就不难怪change-id也相同了。
相关文章推荐
- 如何判断当前 app 是否在前台运行。
- Local Notification的作用
- CPU的内部架构和工作原理
- 日期格式转换
- 空 格不能多
- RecyclerView,ListView去除边缘动画效果
- sed入门实例
- 利用三维旋转矩阵在空间中旋转平面
- Mysql5.7 安装
- ASP.NET Core 1.0中的管道-中间件模式
- Python爬取房屋租售信息
- 使用Java字节流拷贝文件
- python脚本后台运行
- P2P通讯的C++实现-UDP Hole Punching方法
- PAT 乙级 1025. 反转链表
- mysql5.7.11密码修改
- XP修复任务栏程序最小化丢失
- Media Playback媒体播放
- Codeforces 140E New Year Garland (dp + 容斥)
- 【php-redis】pub/sub 公开和订阅