diff --git a/borg/archiver.py b/borg/archiver.py index 8e3f94151..1b2d6875f 100644 --- a/borg/archiver.py +++ b/borg/archiver.py @@ -565,11 +565,13 @@ class Archiver: @with_repository() def do_prune(self, args, repository, manifest, key): """Prune repository archives according to specified rules""" - archives = manifest.list_archive_infos(sort_by='ts', reverse=True) # just a ArchiveInfo list - if args.hourly + args.daily + args.weekly + args.monthly + args.yearly == 0 and args.within is None: - self.print_error('At least one of the "keep-within", "keep-hourly", "keep-daily", "keep-weekly", ' - '"keep-monthly" or "keep-yearly" settings must be specified') + if not any((args.hourly, args.daily, + args.weekly, args.monthly, args.yearly, args.within)): + self.print_error('At least one of the "keep-within", "keep-last", ' + '"keep-hourly", "keep-daily", ' + '"keep-weekly", "keep-monthly" or "keep-yearly" settings must be specified.') return self.exit_code + archives = manifest.list_archive_infos(sort_by='ts', reverse=True) # just a ArchiveInfo list if args.prefix: archives = [archive for archive in archives if archive.name.startswith(args.prefix)] keep = []