Thank you for this handy package. I think it's a really hidden gem.
If i try to open()/listdir() filenames with non-ASCII characters, i.e. UTF-8 encoded filenames, the transaction fails.
======================================================================
ERROR: test_read_write_nonascii_name (acidfs.tests.FunctionalTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/.../acidfs/tests.py", line 132, in test_read_write_nonascii_name
transaction.commit()
File "/.../.eggs/transaction-1.4.4-py2.7.egg/transaction/_manager.py", line 111, in commit
return self.get().commit()
File "/.../.eggs/transaction-1.4.4-py2.7.egg/transaction/_transaction.py", line 280, in commit
reraise(t, v, tb)
File "/.../.eggs/transaction-1.4.4-py2.7.egg/transaction/_transaction.py", line 271, in commit
self._commitResources()
File "/.../.eggs/transaction-1.4.4-py2.7.egg/transaction/_transaction.py", line 417, in _commitResources
reraise(t, v, tb)
File "/.../.eggs/transaction-1.4.4-py2.7.egg/transaction/_transaction.py", line 394, in _commitResources
rm.tpc_vote(self)
File "/.../acidfs/__init__.py", line 521, in tpc_vote
tree_oid = self.tree.save()
File "/.../acidfs/__init__.py", line 969, in save
proc.stdin.write(_b(name))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf2' in position 4: ordinal not in range(128)