On 21.06.2011 22:44, kmradke_at_rockwellcollins.com wrote:
> Johan Corveleyn <jcorvel_at_gmail.com> wrote on 06/21/2011 03:01:31 PM:
>
> [snip]
>
>>> Max_Path is 256 chars excluding drive part. Max path for unicode
>>> version of API is 32,767 when using path with "\\?\" style. I think
>>> cmd should be able to work with \\?\ .
>>>
>>> Ref: http://msdn.microsoft.com/en-us/library/aa365247(VS.85).aspx
>>> (Naming Files, Paths, and Namespaces section: Maximum Path Length
>>> Limitation)
>> Thanks, Daniel. That explains it.
>>
>> But unfortunately, the error happens inside the python script
>> benchmark.py (in tools/dev/benchmarks/suite1), and I haven't found a
>> way to avoid it. I've experimented a bit with pre-pending the path
>> with "\\\\?\\" (which was also suggested at the end of this python
>> issue: [1]), but it didn't help.
>>
>> I'll commit the Windows variant of the run script (run.bat) for now
>> with a maximum "levels" of 25, which means it usually won't exceed the
>> maximum path length. Maybe someone else can enhance it later (and/or
>> benchmark.py) to enable benchmarks for even deeper working copies on
>> Windows ...
> I thought the windows command line automatically used the \\? paths
> when passed a fully qualified name. In fact, recently I was able
> to do a "svn cleanup x:\full\path\to\cwd" instead of a "svn cleanup"
> which died due to long path issues.
That path goes through APR which does the right thing to break the
255-character limit. The Python runtime doesn't do that.
-- Brane
Received on 2011-06-21 23:54:35 CEST