Exit with zero when uv tool install request is already satisfied (#4986)

## Summary

`uv tool install X` fails for tools already installed and exits with
code 1. Allow already installed tools to exit with code 0.
This commit is contained in:
Billy Doyle 2024-07-11 20:43:31 -04:00 committed by GitHub
parent 42cb2541b5
commit 22cca77329
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 9 deletions

View file

@ -190,7 +190,7 @@ pub(crate) async fn install(
if !force && settings.reinstall.is_none() && settings.upgrade.is_none() { if !force && settings.reinstall.is_none() && settings.upgrade.is_none() {
// We're done. // We're done.
writeln!(printer.stderr(), "`{from}` is already installed")?; writeln!(printer.stderr(), "`{from}` is already installed")?;
return Ok(ExitStatus::Failure); return Ok(ExitStatus::Success);
} }
} }
} }

View file

@ -403,8 +403,8 @@ fn tool_install_already_installed() {
.env("UV_TOOL_DIR", tool_dir.as_os_str()) .env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str()) .env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###" .env("PATH", bin_dir.as_os_str()), @r###"
success: false success: true
exit_code: 1 exit_code: 0
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
@ -676,8 +676,8 @@ fn tool_install_entry_point_exists() {
.env("UV_TOOL_DIR", tool_dir.as_os_str()) .env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str()) .env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###" .env("PATH", bin_dir.as_os_str()), @r###"
success: false success: true
exit_code: 1 exit_code: 0
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
@ -1407,8 +1407,8 @@ fn tool_install_python_request() {
.env("UV_TOOL_DIR", tool_dir.as_os_str()) .env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str()) .env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###" .env("PATH", bin_dir.as_os_str()), @r###"
success: false success: true
exit_code: 1 exit_code: 0
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
@ -1501,8 +1501,8 @@ fn tool_install_preserve_environment() {
.env("UV_TOOL_DIR", tool_dir.as_os_str()) .env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str()) .env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###" .env("PATH", bin_dir.as_os_str()), @r###"
success: false success: true
exit_code: 1 exit_code: 0
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----