|
@@ -1040,6 +1040,10 @@ class Archiver:
|
|
|
stats = Statistics()
|
|
|
with Cache(repository, key, manifest, do_files=args.cache_files, lock_wait=self.lock_wait) as cache:
|
|
|
list_logger = logging.getLogger('borg.output.list')
|
|
|
+ if args.output_list:
|
|
|
+ # set up counters for the progress display
|
|
|
+ to_delete_len = len(to_delete)
|
|
|
+ archives_deleted = 0
|
|
|
for archive in archives_checkpoints:
|
|
|
if archive in to_delete:
|
|
|
if args.dry_run:
|
|
@@ -1047,8 +1051,11 @@ class Archiver:
|
|
|
list_logger.info('Would prune: %s' % format_archive(archive))
|
|
|
else:
|
|
|
if args.output_list:
|
|
|
- list_logger.info('Pruning archive: %s' % format_archive(archive))
|
|
|
- Archive(repository, key, manifest, archive.name, cache).delete(stats, forced=args.forced)
|
|
|
+ archives_deleted += 1
|
|
|
+ list_logger.info('Pruning archive: %s (%d/%d)' % (format_archive(archive),
|
|
|
+ archives_deleted, to_delete_len))
|
|
|
+ Archive(repository, key, manifest, archive.name, cache,
|
|
|
+ progress=args.progress).delete(stats, forced=args.forced)
|
|
|
else:
|
|
|
if args.output_list:
|
|
|
list_logger.info('Keeping archive: %s' % format_archive(archive))
|
|
@@ -2324,6 +2331,9 @@ class Archiver:
|
|
|
subparser.add_argument('--force', dest='forced',
|
|
|
action='store_true', default=False,
|
|
|
help='force pruning of corrupted archives')
|
|
|
+ subparser.add_argument('-p', '--progress', dest='progress',
|
|
|
+ action='store_true', default=False,
|
|
|
+ help='show progress display while deleting archives')
|
|
|
subparser.add_argument('-s', '--stats', dest='stats',
|
|
|
action='store_true', default=False,
|
|
|
help='print statistics for the deleted archive')
|