代码之家  ›  专栏  ›  技术社区  ›  maciej

Gerrit-使用集合审阅者时无法通过电子邮件找到用户

  •  0
  • maciej  · 技术社区  · 12 年前

    我一直在尝试将用户添加为更改的审阅者。我偶然发现了一个奇怪的问题。如果我通过用户名识别用户,一切都很顺利。如果我通过电子邮件确认他们,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 作为他们的电子邮件地址。 Gerrit的回应是:

    error: could not add username@example com: username@example.com does not identify a registered user or group
    
    1 回复  |  直到 12 年前
        1
  •  3
  •   maciej    12 年前

    我自己解决了,偷看源代码有帮助。

    SSH命令 设置审阅者 由名为的类处理 发布审阅者 。这将委派给 帐户集合 解析审阅者并将其转换为帐户id。这就是问题所在-我有两个用户由相同的电子邮件地址标识,因此 AccountsCollection#_parse(字符串) 不返回任何内容。

    为什么两个帐户具有相同的电子邮件?我有多个Gerrit实例,我通过OpenID登录,在一个环境中,我需要从“父”环境中看到我的更改。这就是数据库中的一个小漏洞被应用的地方,一切都奏效了。直到现在:)