From e52feec09c4e6781bef18c56e0b34be4c745bfe4 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 30 Jan 2022 18:17:49 +0100 Subject: [PATCH] delete: don't commit if nothing was deleted, avoid cache sync, fixes #6060 --- src/borg/archiver.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/borg/archiver.py b/src/borg/archiver.py index 8676229d6..b043f96d1 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -1352,6 +1352,7 @@ class Archiver: with Cache(repository, key, manifest, progress=args.progress, lock_wait=self.lock_wait) as cache: msg_delete = 'Would delete archive: {} ({}/{})' if dry_run else 'Deleting archive: {} ({}/{})' msg_not_found = 'Archive {} not found ({}/{}).' + delete_count = 0 for i, archive_name in enumerate(archive_names, 1): try: archive_info = manifest.archives[archive_name] @@ -1363,7 +1364,9 @@ class Archiver: archive = Archive(repository, key, manifest, archive_name, cache=cache, consider_part_files=args.consider_part_files) archive.delete(stats, progress=args.progress, forced=args.forced) - if not dry_run: + delete_count += 1 + if delete_count > 0: + # only write/commit if we actually changed something, see #6060. manifest.write() repository.commit(save_space=args.save_space) cache.commit()