What version are you running?
RBTools 0.7.3
What's the URL of the page containing the problem?
http://reviews.internal
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:
mercurial.py:
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.