diff --git a/src/borg/archiver.py b/src/borg/archiver.py index faad942ea..7f622b888 100644 --- a/src/borg/archiver.py +++ b/src/borg/archiver.py @@ -1392,23 +1392,38 @@ class Archiver: if not args.cache_only: if args.forced == 0: # without --force, we let the user see the archives list and confirm. + id = bin_to_hex(repository.id) + location = repository._location.canonical_path() msg = [] try: manifest, key = Manifest.load(repository, Manifest.NO_OPERATION_CHECK) + n_archives = len(manifest.archives) + msg.append(f"You requested to completely DELETE the following repository " + f"*including* {n_archives} archives it contains:") except NoManifestError: - msg.append("You requested to completely DELETE the repository *including* all archives it may " - "contain.") - msg.append("This repository seems to have no manifest, so we can't tell anything about its " - "contents.") - else: - if self.output_list: - msg.append("You requested to completely DELETE the repository *including* all archives it " - "contains:") - for archive_info in manifest.archives.list(sort_by=['ts']): - msg.append(format_archive(archive_info)) + n_archives = None + msg.append("You requested to completely DELETE the following repository " + "*including* all archives it may contain:") + + msg.append(DASHES) + msg.append(f"Repository ID: {id}") + msg.append(f"Location: {location}") + + if self.output_list: + msg.append("") + msg.append("Archives:") + + if n_archives is not None: + if n_archives > 0: + for archive_info in manifest.archives.list(sort_by=['ts']): + msg.append(format_archive(archive_info)) + else: + msg.append("This repository seems to not have any archives.") else: - msg.append("You requested to completely DELETE the repository *including* %d archives it contains." - % len(manifest.archives)) + msg.append("This repository seems to have no manifest, so we can't " + "tell anything about its contents.") + + msg.append(DASHES) msg.append("Type 'YES' if you understand this and want to continue: ") msg = '\n'.join(msg) if not yes(msg, false_msg="Aborting.", invalid_msg='Invalid answer, aborting.', truish=('YES',),