3895: UnicodeDecodeError when posting reviews

ali.k*****@visierc******* (Google Code) (Is this you? Claim this profile.)
What version are you running?
RBTools 0.7.3

What's the URL of the page containing the problem?

What steps will reproduce the problem?
1. Setup a mercurial repository with two committed files: fileA and fileB. Make sure fileA and fileB have some contents.
2. Remove fileA from the repository
3. Edit fileB and add a unicode copy right symbol: 
// Copyright © [2010-2015] ...
4. Add a new *empty* file to the repository: fileC
4. Run rbt post
What is the expected output? What do you see instead?
I expect a review request to be posted, instead I get this error from rbt:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 476: ordinal not in range(128)

What operating system are you using? What browser?
Windows 7, Mercurial 3.4.1

Please provide any additional information below.
When a new empty file is added rbt tries to add a custom string to the diff so that the review contains the fact that a new empty file has been added:
for filename in added_empty_files:
	if filename not in exclude_files:
		diff += ('diff -r %s -r %s %s\n' ...

The problem is the left hand side (diff) is a unicode string in this case because of the copyright symbol. Python generates a UnicodeDecodeError if the right encoding is not set.
#1 ali.k*****@visierc******* (Google Code) (Is this you? Claim this profile.)
Patch submitted: https://reviews.reviewboard.org/r/7442/diff/1/#index_header
#2 david
  • -reviewboard
#3 david

This should be fixed in 3a9e24e, which will ship in 0.7.5

  • -New