[PATCH 6 of 6 v2] paths: allow util.finddirs touse os.path.sep

Matt Harbison mharbison72 at gmail.com
Sun Oct 1 23:04:22 EDT 2017


> On Oct 1, 2017, at 6:33 AM, Kostia Balytskyi <ikostia at fb.com> wrote:
> 
> You guys are correct, these patches should not land. Yesterday I did another pass of experiments on Windows 10 (build 10.0.14393), and if looks like HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled now works better than advertised (it did not two months ago...) in that if it is enabled, both CreateFileA and CreateFileW accept long paths without \\?\ prefixes and work well with them, including paths that contain forward slashes as separators. So if I understand the situation correctly, MS has fixed stuff for us and there's literally nothing we should do.  In any case, this series is obsolete now.

I don’t have easy access to Windows 10, but given this, maybe we should try running the test suite with a TEMP path > 260 characters and Greg’s manifest patch, to see if we can make this work out of the box?  I think the xxxA methods are usually a thin wrapper around the xxxW methods, so I’d be surprised if a registry entry makes them work, but the manifest entry doesn’t.  Adrian’s concern about whether or not python will handle long paths seems reasonable, but your testing seems to show that it might just work.  (I’m assuming you were running hg commands, and not doing toy C apps.)



More information about the Mercurial-devel mailing list