the "env -i" is needed to ensure that no locale settings are present. So if the locale is set correctly, things seem to work as they should. That might be an option for a possible workaround: setting the locale appropriately. Will investigate that avenue for trac-bzr.
Nevertheless, it is my understanding that the above approach should only depend on current locale for the part of the path represented in the current file system. Anything below that, i.e. the relpath relative to the branch root and denoting a file inside the (treeless) branch, should be independent from locale settings if possible.
bzrlib.transport.local.LocalTransport.abspath is probably the place where this must be tackled.
OK, I take it that this is a bug in bzr. If '.' is an empty branch, the following command fails with the same error message:
env -i python -c ' BzrDir. open_containing _from_transport (transport. get_transport( ".").clone( "./t%C3% A4st")) '
from bzrlib import bzrdir, transport;
print bzrdir.
the "env -i" is needed to ensure that no locale settings are present. So if the locale is set correctly, things seem to work as they should. That might be an option for a possible workaround: setting the locale appropriately. Will investigate that avenue for trac-bzr.
Nevertheless, it is my understanding that the above approach should only depend on current locale for the part of the path represented in the current file system. Anything below that, i.e. the relpath relative to the branch root and denoting a file inside the (treeless) branch, should be independent from locale settings if possible.
bzrlib. transport. local.LocalTran sport.abspath is probably the place where this must be tackled.