From de26909169915ec7ce5d3ecceb5152858c32fdfb Mon Sep 17 00:00:00 2001 From: morganamilo Date: Thu, 29 Apr 2021 12:07:13 +0100 Subject: [PATCH] Fix upgrademenu crashing on non installed package Fixes #347 --- src/upgrade.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/upgrade.rs b/src/upgrade.rs index 6efd52bb..6d631a1a 100644 --- a/src/upgrade.rs +++ b/src/upgrade.rs @@ -285,6 +285,8 @@ pub async fn get_upgrades<'a, 'b>( ); } + + let (_, dbs) = repo::repo_aur_dbs(config); for (n, pkg) in aur_upgrades.iter().rev().enumerate().rev() { let remote = dbs .pkg(pkg.local.name()) @@ -309,6 +311,11 @@ pub async fn get_upgrades<'a, 'b>( .map(|p| p.db().unwrap().name()) .map(|p| format!("{}-devel", p)); let remote = remote.as_deref().unwrap_or("devel"); + let current = dbs + .pkg(pkg.as_str()) + .or_else(|_| db.pkg(pkg.as_str())) + .unwrap(); + let ver = current.version(); print_upgrade( config, n + 1, @@ -316,7 +323,7 @@ pub async fn get_upgrades<'a, 'b>( pkg, remote, db_pkg_max, - db.pkg(pkg.as_str()).unwrap().version(), + ver, old_max, "latest-commit", );