I've done some rough hacks to the 1.2.5 source to try and
test the \\?\C:\etc.
I've found that
>>> os.mkdir(u"\\\\?\\c:\\backups\\dir"
Works fine, but
>>> os.mkdir(u"\\\\?\\c:\\backups/dir"
does not.
Unfortunately, the latter is what is produced when rdiff-backup adds a
directory to the current path. Using os.path.join(existing_path,
new_dir) will add the separator specific to the host operating system.
I'm familiarizing myself with the rdiff-backup codebase, so I'm hoping
it won't be too long before I can figure out where to make the needed
changes.
Perhaps someone reading this could point me in the right direction?
- Austin
On Sun, Jan 18, 2009 at 11:42 AM, Andrew
Ferguson
<address@hidden>
wrote:
On Jan 18, 2009, at 12:36 PM, Andrew Ferguson wrote:
However,
>>> os.listdir("\\\\?\\c:\\Temp\\")
['dest', 'source', 'test', 'test-dest']
>>> os.listdir("\\\\?\\c:\\Temp")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WindowsError: [Error 123] The filename, directory name, or volume label
syntax is incorrect: '\\\\?\\c:\\Temp/*.*'
so, \\?\C:\Temp\ works, but \\?\C:\Temp fails. WTF?
And a followup, almost as a note, if we change to unicode, then it
works...
>>> os.listdir("\\\\?\\c:\\Temp")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
WindowsError: [Error 123] The filename, directory name, or volume label
syntax is incorrect: '\\\\?\\c:\\Temp/*.*'
>>> os.listdir(u"\\\\?\\c:\\Temp")
[u'dest', u'source', u'test', u'test-dest']
Gah.
Andrew