Message355680
The discussion on the PR has raised one scenario where our algorithm conflicts with what we can reasonably emulate from the IO manager (which is itself not entirely self-consistent):
If you call ntpath.realpath(r"C:\spam\eggs") where "spam" is a symlink/junction to "D:\foo\baz" and "D:\foo\baz\eggs" is a relative symlink to "..\bar" and "D:\foo\bar" does not exist, we will incorrectly return "C:\bar".
Note that if "D:\foo\bar" *does* exist, we will return the correct result. And if "C:\spam" is *not* a symlink/junction, we will return the correct result.
Essentially, we fail in the case where ntpath.exists(X) fails and realpath(dirname(X)) != dirname(X) and readlink(X).startswith("..\\") is True.
Considering it's taken months of patient explanation from Eryk Sun for me to understand this, and nobody has ever complained about it, I'm prepared to call it a known limitation. |
|
Date |
User |
Action |
Args |
2019-10-29 21:33:26 | steve.dower | set | recipients:
+ steve.dower, paul.moore, tim.golden, zach.ware, eryksun, miss-islington |
2019-10-29 21:33:26 | steve.dower | set | messageid: <1572384806.58.0.764210223804.issue38453@roundup.psfhosted.org> |
2019-10-29 21:33:26 | steve.dower | link | issue38453 messages |
2019-10-29 21:33:26 | steve.dower | create | |
|