Skip to content

Commit

Permalink
Rm unnecessary warning msg "Failed to read git credential file" (#1479)
Browse files Browse the repository at this point in the history
* Rm unnecessary warning msg "Failed to read git credential file"

Fixed #1476

If `gh auth token` executed successfully and binstall obtained a gh
token from it, then there's no reason to issue any warning msg.

Only when binstall cannot read from `.git-credential` and
`gh auth token` failed does binstall need to issue warning.

Signed-off-by: Jiahao XU <[email protected]>

* Fix clippy warning

Signed-off-by: Jiahao XU <[email protected]>

---------

Signed-off-by: Jiahao XU <[email protected]>
  • Loading branch information
NobodyXu authored Nov 8, 2023
1 parent 3414c4e commit d76a40b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 29 deletions.
9 changes: 8 additions & 1 deletion crates/bin/src/entry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,14 @@ pub fn install_crates(
if args.no_discover_github_token {
None
} else {
git_credentials::try_from_home().or_else(gh_token::get)
git_credentials::try_from_home().or_else(|| match gh_token::get() {
Ok(token) => Some(token),
Err(err) => {
warn!(?err, "Failed to retrieve token from `gh auth token`");
warn!("Failed to read git credential file");
None
}
})
}
}),
);
Expand Down
13 changes: 1 addition & 12 deletions crates/bin/src/gh_token.rs
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
use std::{io, process};

use compact_str::CompactString;
use tracing::warn;

fn get_inner() -> io::Result<CompactString> {
pub(super) fn get() -> io::Result<CompactString> {
let process::Output { status, stdout, .. } = process::Command::new("gh")
.args(["auth", "token"])
.stdin(process::Stdio::null())
Expand All @@ -26,13 +25,3 @@ fn get_inner() -> io::Result<CompactString> {

Ok(s.trim().into())
}

pub(super) fn get() -> Option<CompactString> {
match get_inner() {
Ok(token) => Some(token),
Err(err) => {
warn!(?err, "Failed to retrieve token from `gh auth token`");
None
}
}
}
18 changes: 2 additions & 16 deletions crates/bin/src/git_credentials.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ use std::{env, fs, path::PathBuf};

use compact_str::CompactString;
use dirs::home_dir;
use tracing::warn;

pub fn try_from_home() -> Option<CompactString> {
if let Some(mut home) = home_dir() {
Expand All @@ -25,7 +24,8 @@ pub fn try_from_home() -> Option<CompactString> {
}

fn from_file(path: PathBuf) -> Option<CompactString> {
read_cred_file(path)?
fs::read_to_string(path)
.ok()?
.lines()
.find_map(from_line)
.map(CompactString::from)
Expand All @@ -40,20 +40,6 @@ fn from_line(line: &str) -> Option<&str> {
Some(cred.split_once(':')?.1)
}

fn read_cred_file(path: PathBuf) -> Option<String> {
match fs::read_to_string(&path) {
Ok(s) => Some(s),
Err(err) => {
warn!(
?err,
"Failed to read git credential file {}",
path.display()
);
None
}
}
}

#[cfg(test)]
mod test {
use super::*;
Expand Down

0 comments on commit d76a40b

Please sign in to comment.