简体   繁体   中英

Handling multiple SVN users within ReviewBoard

We recently set up ReviewBoard 2.0.11 on the same Ubuntu server as our SVN repository, however I'm having an issue configuring ReviewBoard to work with projects in SVN.

Under the Path section of the Repository Information in RB, I have to supply the full path: svn+ssh://lara@buggy/data/svn/TestProject and put my username and password in the fields, otherwise I get an error message telling me that there is no repository at that location.

When I issue the command rbt post and log in successfully, I am met with the message "ERROR: Error validating diff" The specified diff file could not be parsed (HTTP 400, API Error 224)

However, when I just call rbt diff , it will show me the diff exactly as I expect, what is this error indicative of?

The more pressing issue for now, is the fact that when another user tries to run the rbt post command, this is the output that is produced:

>>> 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)

I'm assuming that this is because the usernames in the path don't match? Does anyone have any advice on how to fix this issue?

How can you configure ReviewBoard so that all users of a secure SVN repository are able to post their diffs to ReviewBoard?

This problem your having is that reviewboard requires its own unique public ssh key to access your SVN repo. you will need to add a new SSH user for reviewboard and add to your SSH allowed list. Once this is in place, you simply use the "rbt post" command that will prompt you to enter your username + password that you use to access the reviewboard site. So each user doesnt require an SSH key, only one for review board. I hope this helps?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM