From 3939971d82605a6102298b5cf4a8a7499d5af3fd Mon Sep 17 00:00:00 2001 From: Cassowary Date: Thu, 9 Nov 2023 10:50:40 -0800 Subject: [PATCH 1/2] Fix ls -S to deal with broken/unparsable app versions more correctly --- cli/app/list.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/cli/app/list.go b/cli/app/list.go index 08dff6f2..d9cb5cd5 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -176,13 +176,14 @@ can take some time. appStats.AutoUpdate = autoUpdate var newUpdates []string - if version != "unknown" { - updates, err := recipe.GetRecipeCatalogueVersions(app.Recipe, catl) - if err != nil { - logrus.Fatal(err) - } + parsedVersion, err := tagcmp.Parse(version) + if err != nil { + logrus.Warning("Can't parse ", app.Recipe, " version ", version, " ", err) + } + + if ((version != "unknown") && (err == nil)) { + updates, err := recipe.GetRecipeCatalogueVersions(app.Recipe, catl) - parsedVersion, err := tagcmp.Parse(version) if err != nil { logrus.Fatal(err) } @@ -190,7 +191,7 @@ can take some time. for _, update := range updates { parsedUpdate, err := tagcmp.Parse(update) if err != nil { - logrus.Fatal(err) + logrus.Warning("can't parse ", app.Recipe," update version ", update, " ", err) } if update != version && parsedUpdate.IsGreaterThan(parsedVersion) { -- 2.49.0 From d041deec68cce0a37ae51d4d8751aa42e2624724 Mon Sep 17 00:00:00 2001 From: Cassowary Date: Thu, 9 Nov 2023 11:14:20 -0800 Subject: [PATCH 2/2] Better logical layout for app ls -S --- cli/app/list.go | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/cli/app/list.go b/cli/app/list.go index d9cb5cd5..c6ebee4d 100644 --- a/cli/app/list.go +++ b/cli/app/list.go @@ -176,26 +176,28 @@ can take some time. appStats.AutoUpdate = autoUpdate var newUpdates []string - parsedVersion, err := tagcmp.Parse(version) - if err != nil { - logrus.Warning("Can't parse ", app.Recipe, " version ", version, " ", err) - } - if ((version != "unknown") && (err == nil)) { - updates, err := recipe.GetRecipeCatalogueVersions(app.Recipe, catl) + if (version != "unknown") { + parsedVersion, err := tagcmp.Parse(version) + if (err != nil) { + logrus.Warning("Can't parse ", app.Recipe, " version ", version, " ", err) + } else { + updates, err := recipe.GetRecipeCatalogueVersions(app.Recipe, catl) - if err != nil { - logrus.Fatal(err) - } - - for _, update := range updates { - parsedUpdate, err := tagcmp.Parse(update) if err != nil { - logrus.Warning("can't parse ", app.Recipe," update version ", update, " ", err) + logrus.Fatal(err) } - if update != version && parsedUpdate.IsGreaterThan(parsedVersion) { - newUpdates = append(newUpdates, update) + for _, update := range updates { + parsedUpdate, err := tagcmp.Parse(update) + if err != nil { + logrus.Warning("can't parse ", app.Recipe," update version ", update, " ", err) + continue + } + + if update != version && parsedUpdate.IsGreaterThan(parsedVersion) { + newUpdates = append(newUpdates, update) + } } } } -- 2.49.0