Fun bug. This is a regression from the fix for bug 192859 specifically in r4634.159.8 on trunk. The problem only manifests with relative paths, and as noted only with more than once filename.
The basic issue is in trying to turn a (unicode) relative path into an absolute path with a (bytestring) cwd.
In cmd_add.run:
tree, file_list = tree_files_for_add(file_list)
In tree_files_for_add:
file_list = file_list[:]
file_list[0] = tree.abspath(relpath)
Which explains why passing one file at a time works, the first file given is preabsoluted.
In MutableTree.smart_add:
# expand any symlinks in the directory part, while leaving the
# filename alone
file_list = map(osutils.normalizepath, file_list)
There's the boom on Python 2.5 or earlier, that goes down to os.path.abspath which dies on a unicode argument and non-ascii cwd:
<http://bugs.python.org/issue3426>
Fun bug. This is a regression from the fix for bug 192859 specifically in r4634.159.8 on trunk. The problem only manifests with relative paths, and as noted only with more than once filename.
The basic issue is in trying to turn a (unicode) relative path into an absolute path with a (bytestring) cwd.
In cmd_add.run: for_add( file_list) relpath)
tree, file_list = tree_files_
In tree_files_for_add:
file_list = file_list[:]
file_list[0] = tree.abspath(
Which explains why passing one file at a time works, the first file given is preabsoluted.
In MutableTree. smart_add: normalizepath, file_list)
# expand any symlinks in the directory part, while leaving the
# filename alone
file_list = map(osutils.
There's the boom on Python 2.5 or earlier, that goes down to os.path.abspath which dies on a unicode argument and non-ascii cwd: bugs.python. org/issue3426>
<http://