在 ReviewBoard 中处理多个 SVN 用户

Handling multiple SVN users within ReviewBoard

我们最近在与我们的 SVN 存储库相同的 Ubuntu 服务器上设置了 ReviewBoard 2.0.11,但是我在配置 ReviewBoard 以处理 SVN 中的项目时遇到了问题。

在 RB 中存储库信息的路径部分下,我必须提供完整路径:svn+ssh://lara@buggy/data/svn/TestProject 并将我的用户名和密码放在字段中,否则我会收到一条错误消息,告诉我有该位置没有存储库。

当我发出命令 rbt post 并成功登录时,我收到消息 "ERROR: Error validating diff" The specified diff file could not be parsed (HTTP 400, API Error 224)

但是,当我调用 rbt diff 时,它会完全按照我的预期显示差异,这个错误表示什么?

现在更紧迫的问题是,当 另一个 用户尝试 运行 rbt post 命令时,这是输出生产:

>>> RBTools 0.7.2
>>> Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)]
>>> Running on Windows-7-6.1.7601-SP1
>>> Home = C:\Users\Anna\AppData\Roaming
>>> Current directory = C:\Users\Anna\Desktop\b
>>> Checking for a Subversion repository...
>>> Running: svn info --non-interactive
>>> Running: diff --version
>>> Running: svn --version -q
>>> repository info: Path: svn+ssh://anna@buggy/data/svn/TestProject, Base path: /, Supports changesets: False
>>> Making HTTP GET request to http://buggy/api/
>>> Making HTTP GET request to http://buggy/api/repositories/
>>> Making HTTP GET request to http://buggy/api/repositories/3/info/
>>> Got API Error 210 (HTTP code 500): There was an error fetching extended information for this repository.
>>> Error data: {u'stat': u'fail', u'err': {u'msg': u'There was an error fetching extended information for this repository.', u'code': 210}}
Traceback (most recent call last):
  File "C:\Program Files\RBTools\bin\..\Python27\Scripts\rbt-script.py", line 8, in <module>
    load_entry_point('RBTools==0.7.2', 'console_scripts', 'rbt')()
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\commands\main.py", line 133, in main
    command.run_from_argv([RB_MAIN, command_name] + args)
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\commands\__init__.py", line 555, in run_from_argv
    exit_code = self.main(*args) or 0
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\commands\post.py", line 603, in main
    repository_info = repository_info.find_server_repository_info(api_root)
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\clients\svn.py", line 762, in find_server_repository_info
    info = repository.get_info()
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\resource.py", line 146, in <lambda>
    self._get_url(url, **kwargs)))
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\decorators.py", line 27, in request_method
    *args, **kwargs)
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\transport\sync.py", line 65, in execute_request_method
    return self._execute_request(request)
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\transport\sync.py", line 74, in _execute_request
    rsp = self.server.make_request(request)
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\request.py", line 536, in make_request
    self.process_error(e.code, e.read())
  File "C:\Program Files\RBTools\Python27\lib\site-packages\rbtools-0.7.2-py2.7.egg\rbtools\api\request.py", line 509, in process_error
    rsp['err']['msg'])
rbtools.api.errors.APIError: There was an error fetching extended information for this repository. (HTTP 500, API Error 210)

我假设这是因为路径中的用户名不匹配?有人对如何解决此问题有任何建议吗?

您如何配置 ReviewBoard 以便安全 SVN 存储库的所有用户都能够 post 他们的差异到 ReviewBoard?

您遇到的问题是,reviewboard 需要它自己唯一的 public ssh 密钥才能访问您的 SVN 存储库。您将需要为审查板添加一个新的 SSH 用户并添加到您的 SSH 允许列表。 一旦就绪,您只需使用 "rbt post" 命令,该命令将提示您输入用于访问评论板站点的用户名 + 密码。所以每个用户不需要 SSH 密钥,只需要一个用于审查委员会。 希望对您有所帮助?