diff options
author | Levente Kurusa <lkurusa@kernelstuff.org> | 2023-05-16 03:21:59 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-16 03:21:59 +0200 |
commit | ab9a17eeee01a3b04fac2bf583c812179f410c91 (patch) | |
tree | f11971ecafdf20963e9682d0f6e103c63fdc948c | |
parent | 27303ef688ae56008aafab513d84e39096a51e34 (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.rs | 10 |
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!( |