merge #5807: [path] fix moving files across drives on Windows

This commit is contained in:
Mike Fährmann
2024-06-29 02:33:44 +02:00

View File

@@ -338,13 +338,13 @@ class PathFormat():
while True: while True:
try: try:
os.replace(self.temppath, self.realpath) os.replace(self.temppath, self.realpath)
except FileNotFoundError:
# delayed directory creation
os.makedirs(self.realdirectory)
continue
except OSError: except OSError:
# move across different filesystems # move across different filesystems
shutil.copyfile(self.temppath, self.realpath) try:
shutil.copyfile(self.temppath, self.realpath)
except FileNotFoundError:
os.makedirs(self.realdirectory)
shutil.copyfile(self.temppath, self.realpath)
os.unlink(self.temppath) os.unlink(self.temppath)
break break