Browse Source

repository: use os.replace instead of os.rename

On Windows, os.rename raises an exception if the destination file already exists, unlike os.replace which replaces the destination file.

Docs:
https://docs.python.org/3/library/os.html#os.rename
https://docs.python.org/3/library/os.html#os.replace
Rayyan Ansari 2 years ago
parent
commit
62341673c1
1 changed files with 1 additions and 1 deletions
  1. 1 1
      src/borg/repository.py

+ 1 - 1
src/borg/repository.py

@@ -636,7 +636,7 @@ class Repository:
             os.fsync(fd.fileno())
 
         def rename_tmp(file):
-            os.rename(file + ".tmp", file)
+            os.replace(file + ".tmp", file)
 
         hints = {
             "version": 2,