aboutsummaryrefslogtreecommitdiff
path: root/bpkg/rep-info.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'bpkg/rep-info.cxx')
-rw-r--r--bpkg/rep-info.cxx14
1 files changed, 13 insertions, 1 deletions
diff --git a/bpkg/rep-info.cxx b/bpkg/rep-info.cxx
index 2205a5b..241f04b 100644
--- a/bpkg/rep-info.cxx
+++ b/bpkg/rep-info.cxx
@@ -35,9 +35,21 @@ namespace bpkg
// Fetch everything we will need before printing anything. Ignore
// unknown manifest entries unless we are dumping them.
//
- repository_manifests rms (fetch_repositories (o, rl, !o.manifest ()));
package_manifests pms (fetch_packages (o, rl, !o.manifest ()));
+ repository_manifests rms;
+
+ try
+ {
+ rms = fetch_repositories (o, rl, pms.sha256sum, !o.manifest ());
+ }
+ catch (const checksum_mismatch&)
+ {
+ fail << "repository files checksum mismatch for "
+ << rl.canonical_name () <<
+ info << "try again";
+ }
+
// Now print.
//
bool all (!o.name () && !o.repositories () && !o.packages ());