Browse Source

Merge pull request #2793 from ThomasWaldmann/commit-in-with-lock

use commit() in borg with-lock, fixes #1867
enkore 8 years ago
parent
commit
2730571966
1 changed files with 7 additions and 1 deletions
  1. 7 1
      src/borg/archiver.py

+ 7 - 1
src/borg/archiver.py

@@ -1666,7 +1666,13 @@ class Archiver:
             # we exit with the return code we get from the subprocess
             return subprocess.call([args.command] + args.args)
         finally:
-            repository.rollback()
+            # we need to commit the "no change" operation we did to the manifest
+            # because it created a new segment file in the repository. if we would
+            # roll back, the same file would be later used otherwise (for other content).
+            # that would be bad if somebody uses rsync with ignore-existing (or
+            # any other mechanism relying on existing segment data not changing).
+            # see issue #1867.
+            repository.commit()
 
     def do_debug_info(self, args):
         """display system information for debugging / bug reports"""