diff options
-rw-r--r-- | bpkg/rep-fetch.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/bpkg/rep-fetch.cxx b/bpkg/rep-fetch.cxx index 531f1d0..f6165b7 100644 --- a/bpkg/rep-fetch.cxx +++ b/bpkg/rep-fetch.cxx @@ -1265,7 +1265,14 @@ namespace bpkg // Remove dangling repositories. // for (const shared_ptr<repository>& r: removed_repositories) - rep_remove (db, t, r); + { + // Prior to removing the repository we need to make sure it still + // exists, which may not be the case due to earlier removal of the + // dependent dangling repository. + // + if (db.find<repository> (r->name) != nullptr) + rep_remove (db, t, r); + } // Remove dangling repository fragments. // |