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
2 changed files with 9 additions and 9 deletions
+1 -1
View File
@@ -190,7 +190,7 @@ pub(crate) async fn install(
if !force && settings.reinstall.is_none() && settings.upgrade.is_none() {
// We're done.
writeln!(printer.stderr(), "`{from}` is already installed")?;
return Ok(ExitStatus::Failure);
return Ok(ExitStatus::Success);
}
}
}
+8 -8
View File
@@ -403,8 +403,8 @@ fn tool_install_already_installed() {
.env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###"
success: false
exit_code: 1
success: true
exit_code: 0
----- stdout -----
----- stderr -----
@@ -676,8 +676,8 @@ fn tool_install_entry_point_exists() {
.env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###"
success: false
exit_code: 1
success: true
exit_code: 0
----- stdout -----
----- stderr -----
@@ -1407,8 +1407,8 @@ fn tool_install_python_request() {
.env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###"
success: false
exit_code: 1
success: true
exit_code: 0
----- stdout -----
----- stderr -----
@@ -1501,8 +1501,8 @@ fn tool_install_preserve_environment() {
.env("UV_TOOL_DIR", tool_dir.as_os_str())
.env("XDG_BIN_HOME", bin_dir.as_os_str())
.env("PATH", bin_dir.as_os_str()), @r###"
success: false
exit_code: 1
success: true
exit_code: 0
----- stdout -----
----- stderr -----