diff --git a/borg/archive.py b/borg/archive.py index baf212337..26ad16455 100644 --- a/borg/archive.py +++ b/borg/archive.py @@ -1100,13 +1100,21 @@ class ArchiveChecker: key=lambda name_info: name_info[1][b'time']) if prefix is not None: archive_items = [item for item in archive_items if item[0].startswith(prefix)] + if not archive_items: + logger.warning('--prefix %s does not match any archives', prefix) num_archives = len(archive_items) end = None if last is None else min(num_archives, last) + if last is not None and end < last: + logger.warning('--last %d archives: only found %d archives', last, end) else: # we only want one specific archive archive_items = [item for item in self.manifest.archives.items() if item[0] == archive] num_archives = 1 end = 1 + if not archive_items: + logger.error('Archive %s does not exist', archive) + self.error_found = True + return with cache_if_remote(self.repository) as repository: for i, (name, info) in enumerate(archive_items[:end]): diff --git a/docs/changes.rst b/docs/changes.rst index 23f9174e2..1a9b40d53 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -138,6 +138,7 @@ Bug fixes: :ref:`the issue ` is not relevant for unencrypted repositories, it now does nothing and prints an error, #1981. - Fixed change-passphrase crashing with unencrypted repositories, #1978 +- Fixed "borg check repo::archive" indicating success if "archive" does not exist, #1997 Other changes: