ensure write_manifest passes contents to write_file as unicode strings.
ignore .git* files
test_sdist: change the latin1 test to match the behavior of write_manifest
Improved comment in the latin1 sdist test.
Merge changes from Pull Request 50
Backed out changeset: 1ceaffff2d9b (restoring b0a2fcc5275a). Ref #193
Clean up docstring
This code path doesn't make sense. If the UnicodeEncodeError occurred above, it will occur here too.
Reindent
Extend docstring for test_write_manifest_skips_non_utf8_filenames
Test should use the same high-level interface for appending filenames as the object itself will use when building the filelist. Ideally, FileList wouldn't expose this attribute at all.
FileList.append already excludes files that are not UTF-8 encodable, so rely on it when building the manifest. Ref #193
Fix failure on non-Windows systems
Reindent
Extract _safe_path
Use compat for Python 3 detection
Move Python 3 code to the body of the function
Also override extend to check paths for safety.
Add a _repair method to repair the FileList after unsafe entries have been added.
Merge in test changes from previous try