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 <alexisde...@gmail.com> 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 reviewboard+unsubscr...@googlegroups.com.
> 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 reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to