Hi, In the last few months we got two reports from Subversion users that passing certain short paths to 'svn' failed for them.
E.g. [[ > mkdir ALongName.impl > dir /x ... 27/03/2015 12:50 <DIR> ALONGN~1.IMP ALongName.impl ]] And then passing this 'ALONGN~1.IMP' path works just fine. While [[ > mkdir api.impl > dir /x ... 27/03/2015 12:52 <DIR> API~1.IMP api.impl ... ]] And then passing the 'API~1.IMP' path doesn't (uses api.implP) (Samples copied from a mail from Stephen White to dev@subversion.a.o) The problem here is that the short path is actually longer than the long path. which triggers a bug in APR's truename code that we use. In this specific case the length of the updated path is not properly updated, to reflect the shorter total path length. When trying to write a testcase for this issue I found that Windows disables short path generation on user created NTFS filesystems these days. Only on system partition the default setup enables short path creation. (An admin can enable short paths via something like 'fsutil 8dot3name set R: 1', or a flag can be passed to format.exe) The attached patch fixes the problem, which appears to be specific for the last path component (saveslash = FALSE). I would like to see this problem fixed in apr 1.5. The attached patch applies directly to 1.5.x and trunk. Thanks, Bert
apr-Long-ShortName.patch
Description: Binary data