diff --git a/src/borg/archive.py b/src/borg/archive.py index 8337a974f..b72bbda44 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -1612,11 +1612,11 @@ class ArchiveRecreater: if self.exclude_if_present or self.exclude_caches: self.matcher_add_tagged_dirs(archive) if self.matcher.empty() and not self.recompress and not target.recreate_rechunkify and comment is None: - logger.info("Skipping archive %s, nothing to do", archive_name) - return + return False self.process_items(archive, target) replace_original = target_name is None self.save(archive, target, comment, replace_original=replace_original) + return True def process_items(self, archive, target): matcher = self.matcher diff --git a/src/borg/archiver.py b/src/borg/archiver.py index 77fdbf14b..1b135ee60 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -1599,7 +1599,9 @@ class Archiver: if recreater.is_temporary_archive(name): self.print_error('Refusing to work on temporary archive of prior recreate: %s', name) return self.exit_code - recreater.recreate(name, args.comment, target) + if not recreater.recreate(name, args.comment, target): + self.print_error('Nothing to do. Archive was not processed.\n' + 'Specify at least one pattern, PATH, --comment, re-compression or re-chunking option.') else: if args.target is not None: self.print_error('--target: Need to specify single archive') @@ -1609,7 +1611,8 @@ class Archiver: if recreater.is_temporary_archive(name): continue print('Processing', name) - recreater.recreate(name, args.comment) + if not recreater.recreate(name, args.comment): + logger.info('Skipped archive %s: Nothing to do. Archive was not processed.', name) if not args.dry_run: manifest.write() repository.commit()