diff -r 48f1b314056b -r 53e9422a9b45 mercurial/win32.py --- a/mercurial/win32.py Tue May 31 16:54:58 2022 +0200 +++ b/mercurial/win32.py Tue May 31 21:16:17 2022 +0200 @@ -735,11 +735,10 @@ for tries in range(10): temp = b'%s-%08x' % (f, random.randint(0, 0xFFFFFFFF)) try: - os.rename(f, temp) # raises OSError EEXIST if temp exists + os.rename(f, temp) break - except OSError as e: - if e.errno != errno.EEXIST: - raise + except FileExistsError: + pass else: raise IOError(errno.EEXIST, "No usable temporary filename found")