summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLevente Kurusa <lkurusa@kernelstuff.org>2023-05-16 03:21:59 +0200
committerGitHub <noreply@github.com>2023-05-16 03:21:59 +0200
commitab9a17eeee01a3b04fac2bf583c812179f410c91 (patch)
treef11971ecafdf20963e9682d0f6e103c63fdc948c
parent27303ef688ae56008aafab513d84e39096a51e34 (diff)
fix(deno/upgrade): allow --version vX.Y.Z (#19139)
Instead of just supporting X.Y.Z, support vX.Y.Z. Otherwise we'll try to download something like vvX.Y.Z
-rw-r--r--cli/tools/upgrade.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/cli/tools/upgrade.rs b/cli/tools/upgrade.rs
index cbd924755..48e8b0ade 100644
--- a/cli/tools/upgrade.rs
+++ b/cli/tools/upgrade.rs
@@ -294,6 +294,10 @@ pub async fn upgrade(
let install_version = match upgrade_flags.version {
Some(passed_version) => {
let re_hash = lazy_regex::regex!("^[0-9a-f]{40}$");
+ let passed_version = passed_version
+ .strip_prefix('v')
+ .unwrap_or(&passed_version)
+ .to_string();
if upgrade_flags.canary && !re_hash.is_match(&passed_version) {
bail!("Invalid commit hash passed");
@@ -317,9 +321,9 @@ pub async fn upgrade(
{
log::info!("Version {} is already installed", crate::version::deno());
return Ok(());
- } else {
- passed_version
}
+
+ passed_version
}
None => {
let latest_version = if upgrade_flags.canary {
@@ -363,7 +367,7 @@ pub async fn upgrade(
let download_url = if upgrade_flags.canary {
if env!("TARGET") == "aarch64-apple-darwin" {
- bail!("Canary builds are not available for M1");
+ bail!("Canary builds are not available for M1/M2");
}
format!(