Use pre Rust 1.81 compatible file-exists test

The function `std::fs::exists(...)` was stabilized in Rust 1.81, which
means it can't be used in the Debian Bookworm build. This patch swaps to
a compatible implementation leaning on the std::path::Path struct.

I'm both "upstreaming" a Debian-specific patch I had to make for the
package, and fixing the additional usage now in `main.rs`. There doesn't
seem to be any compelling reason to avoid using this function, so I
figure I should merge it into the base release.
This commit is contained in:
2025-06-01 18:01:21 -05:00
parent 88cafc096f
commit a0ba8e7ea8
2 changed files with 7 additions and 4 deletions

View File

@@ -1,4 +1,4 @@
use std::fs; use std::{fs, path};
use crate::structs::Attachment; use crate::structs::Attachment;
@@ -16,7 +16,8 @@ pub async fn create_release_attachment(
) -> crate::Result<Attachment> { ) -> crate::Result<Attachment> {
let request_url = format!("{gitea_url}/api/v1/repos/{repo}/releases/{release_id}/assets"); let request_url = format!("{gitea_url}/api/v1/repos/{repo}/releases/{release_id}/assets");
match fs::exists(&file) { let path = path::Path::new(&file);
match path.try_exists() {
Ok(true) => (), Ok(true) => (),
Ok(false) => return Err(crate::Error::NoSuchFile), Ok(false) => return Err(crate::Error::NoSuchFile),
Err(e) => { Err(e) => {

View File

@@ -1,4 +1,5 @@
use std::fs;
use std::path;
use gt_tool::cli::Args; use gt_tool::cli::Args;
use gt_tool::structs::release::{CreateReleaseOption, Release}; use gt_tool::structs::release::{CreateReleaseOption, Release};
@@ -81,7 +82,8 @@ async fn main() -> Result<(), gt_tool::Error> {
if let Some(release) = match_release_by_tag(&tag_name, release_candidates) { if let Some(release) = match_release_by_tag(&tag_name, release_candidates) {
for file in &files { for file in &files {
match fs::exists(file) { let path = path::Path::new(&file);
match path.try_exists() {
Ok(true) => continue, Ok(true) => continue,
Ok(false) => return Err(gt_tool::Error::NoSuchFile), Ok(false) => return Err(gt_tool::Error::NoSuchFile),
Err(e) => { Err(e) => {