encoding: use s.decode to trigger UnicodeDecodeError
When calling encode on a str, the string is first decoded using the
default encoding and then encoded. So
s.encode('ascii') == s.decode().encode('ascii')
We don't care about the encode step here -- we're just after the
UnicodeDecodeError raised by decode if it finds a non-ASCII character.
This way is also marginally faster since it saves the construction of
the extra str object.
% tedious monotone keys configuration
% create monotone repository
mtn: adding dir1 to workspace manifest
mtn: adding dir1/subdir1 to workspace manifest
mtn: adding dir1/subdir1/file1 to workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 5ed13ff5582d8d1e319f079b694a37d2b45edfc8
% rename directory
mtn: skipping dir1, already accounted for in workspace
mtn: renaming dir1/subdir1 to dir1/subdir2 in workspace manifest
mtn: beginning commit on branch 'com.selenic.test'
mtn: committed revision 985204142a822b22ee86b509d61f3c5ab6857d2b
% convert
assuming destination repo.mtn-hg
initializing destination repo.mtn-hg repository
scanning source...
sorting...
converting...
1 initialize
0 rename
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
% manifest
dir1/subdir2/file1