diff -r e74274fc1b35 -r 3dfebba99ef6 mercurial/encoding.py --- a/mercurial/encoding.py Tue Dec 01 21:51:41 2020 -0500 +++ b/mercurial/encoding.py Wed Dec 09 00:51:35 2020 -0500 @@ -298,7 +298,12 @@ if pycompat.iswindows: # Python 3 on Windows issues a DeprecationWarning about using the bytes # API when os.getcwdb() is called. - getcwd = lambda: strtolocal(os.getcwd()) # re-exports + # + # Additionally, py3.8+ uppercases the drive letter when calling + # os.path.realpath(), which is used on ``repo.root``. Since those + # strings are compared in various places as simple strings, also call + # realpath here. See https://bugs.python.org/issue40368 + getcwd = lambda: strtolocal(os.path.realpath(os.getcwd())) # re-exports else: getcwd = os.getcwdb # re-exports else: