Gerrit - 使用set-reviewers时无法通过电子邮件找到用户

时间:2014-02-26 04:07:23

标签: ssh gerrit

我一直在尝试将用户添加为审核人员以进行更改。我偶然发现了一个奇怪的问题。如果我通过用户名识别用户,一切顺利。如果我通过电子邮件识别他们,Gerrit会抱怨。

什么有效:

ssh -p 29418 user@review.example.com gerrit set-reviewers --add username changeid

什么行不通:

ssh -p 29418 user@review.example.com gerrit set-reviewers --add username@example.com changeid

用户将用户名作为其用户名,将 username@example.com 作为其电子邮件地址。 格里特回应的是:

error: could not add username@example com: username@example.com does not identify a registered user or group

1 个答案:

答案 0 :(得分:3)

我自己解决了这个问题,偷看了源代码帮助。

SSH命令 set-reviewers 由名为 PostReviewers 的类处理。委派 AccountsCollection 来解析审阅者并将其转换为帐户ID。这就是问题所在 - 我有两个用户通过相同的电子邮件地址识别,因此 AccountsCollection#_parse(String)不返回任何内容。

为什么两个帐户使用相同的电子邮件?我有多个Gerrit实例,我通过OpenID登录,在一个环境中,我需要从“父”环境中看到我的更改。这就是应用数据库中的小黑客并且一切正常的地方。到现在为止:)