您的位置:首页 > 其它

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也相同了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: