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?
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.
#1 ali.k*****@visierc******* (Google Code) (Is this you? Claim this profile.)
Patch submitted: https://reviews.reviewboard.org/r/7442/diff/1/#index_header
david
#2 david
  • -reviewboard
    +rbtools
david
#3 david

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

  • -New
    +Fixed