summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCyborus <cyborus@cyborus.xyz>2024-05-18 18:20:30 +0200
committerCyborus <cyborus@cyborus.xyz>2024-05-18 18:20:30 +0200
commit956415b55b4c2c52977158aa9bec2bf7aa229434 (patch)
treec40a08c7ad5a8008e2542ec8254561d75d9c6b7b
parentMerge pull request 'add `repo clone`' (#65) from repo-clone into main (diff)
downloadforgejo-cli-956415b55b4c2c52977158aa9bec2bf7aa229434.tar.xz
forgejo-cli-956415b55b4c2c52977158aa9bec2bf7aa229434.zip
authenticate properly in `repo clone`
-rw-r--r--src/repo.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/repo.rs b/src/repo.rs
index bb19908..16bcc0b 100644
--- a/src/repo.rs
+++ b/src/repo.rs
@@ -482,14 +482,18 @@ impl RepoCommand {
..
} = *crate::special_render();
+ let auth = auth_git2::GitAuthenticator::new();
+ let git_config = git2::Config::open_default()?;
+
let mut options = git2::FetchOptions::new();
+ let mut callbacks = git2::RemoteCallbacks::new();
+ callbacks.credentials(auth.credentials(&git_config));
if colors {
print!("{hide_cursor}");
print!(" Preparing...");
let _ = std::io::stdout().flush();
- let mut callbacks = git2::RemoteCallbacks::new();
callbacks.transfer_progress(|progress| {
print!("{clear_line}\r");
if progress.received_objects() == progress.total_objects() {