I think that just the header_encoding line needs changing (since .decode() is in python-land). Can you test that it works if you only make the header_encoding change?
-David On Wed, Jul 16, 2014 at 11:16 AM, Alexis <[email protected]> wrote: > I am getting the following error: > 2014-07-15 17:14:27,319 - ERROR - - Failed to generate diff using pysvn > for revisions 3327:3328 for path https://example.com:81/svn/TSE: Can't > create a character converter from 'UTF-8' to 'utf-8' > Error reading spooled REPORT request response > Traceback (most recent call last): > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\pysvn.py", > line 278, in diff > diff_options=['-u']).decode('utf-8') > ClientError: Can't create a character converter from 'UTF-8' to 'utf-8' > Error reading spooled REPORT request response > 2014-07-15 17:14:27,321 - ERROR - None - admin - > /reviewboard/api/review-requests/ - Got unexpected SCMError when creating > repository: Unable to get diff revisions 3327 through 3328: Can't create a > character converter from 'UTF-8' to 'utf-8' > Error reading spooled REPORT request response > Traceback (most recent call last): > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\webapi\resources\review_request.py", > line 564, in create > create_from_commit_id=create_from_commit_id) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\reviews\managers.py", > line 135, in create > review_request.update_from_commit_id(commit_id) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\reviews\models\base_review_request_details.py", > line 186, in update_from_commit_id > self.update_from_committed_change(commit_id) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\reviews\models\base_review_request_details.py", > line 233, in update_from_committed_change > commit = self.repository.get_change(commit_id) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\models.py", > line 307, in get_change > return self.get_scmtool().get_change(revision) > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\__init__.py", > line 221, in get_change > raise SCMError(e) > SCMError: Unable to get diff revisions 3327 through 3328: Can't create a > character converter from 'UTF-8' to 'utf-8' > Error reading spooled REPORT request response > 2014-07-15 17:14:38,517 - ERROR - - Failed to generate diff using pysvn > for revisions 3330:3331 for path https://example.com:81/svn/TSE: Can't > create a character converter from 'UTF-8' to 'utf-8' > Error reading spooled REPORT request response > Traceback (most recent call last): > File > "C:\BitNami\reviewboard-2.0.2-0\apps\reviewboard\Lib\site-packages\ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\pysvn.py", > line 278, in diff > diff_options=['-u']).decode('utf-8') > ClientError: Can't create a character converter from 'UTF-8' to 'utf-8' > > So I changed the following in > ReviewBoard-2.0.2-py2.7.egg\reviewboard\scmtools\svn\pysvn.py: > > def diff(self, revision1, revision2, path=None): > """Returns a diff between two revisions. > The diff will contain the differences between the two revisions, > and may optionally be limited to a specific path. > > The returned diff will be returned as a Unicode object. > """ > if path: > path = self.normalize_path(path) > else: > path = self.repopath > > tmpdir = mkdtemp(prefix='reviewboard-svn.') > > try: > diff = self.client.diff( > tmpdir, > path, > revision1=self._normalize_revision(revision1), > revision2=self._normalize_revision(revision2), > header_encoding='utf-8', > diff_options=['-u']).decode('utf-8') > except Exception as e: > logging.error('Failed to generate diff using pysvn for revisions ' > '%s:%s for path %s: %s', > revision1, revision2, path, e, exc_info=1) > raise SCMError( > _('Unable to get diff revisions %s through %s: %s') > % (revision1, revision2, e)) > finally: > rmtree(tmpdir) > > return diff > > to > > header_encoding='UTF-8', > diff_options=['-u']).decode('UTF-8') > > > I am sure though that there is a better fix than this and that I don't > fully understand the issue. > > -- > Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/ > --- > Sign up for Review Board hosting at RBCommons: https://rbcommons.com/ > --- > Happy user? Let us know at http://www.reviewboard.org/users/ > --- > You received this message because you are subscribed to the Google Groups > "reviewboard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Get the Review Board Power Pack at http://www.reviewboard.org/powerpack/ --- Sign up for Review Board hosting at RBCommons: https://rbcommons.com/ --- Happy user? Let us know at http://www.reviewboard.org/users/ --- You received this message because you are subscribed to the Google Groups "reviewboard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
