feat: update depot version to 0.13.3 and enhance remote callback handling in git source

This commit is contained in:
2026-03-10 14:34:13 -05:00
parent 433afa1ef0
commit e9d8df062f
7 changed files with 92 additions and 22 deletions
+12 -3
View File
@@ -146,7 +146,10 @@ fn ensure_mirror(url: &str, mirror_dir: &Path, pkgname: &str) -> Result<()> {
crate::log_info!("Cloning git mirror for {} ({})...", pkgname, url);
let mut fo = FetchOptions::new();
let transfer_progress = TransferProgress::new(format!("git {}", pkgname));
fo.remote_callbacks(remote_callbacks(Some(transfer_progress.bar()), url));
fo.remote_callbacks(authenticated_remote_callbacks(
Some(transfer_progress.bar()),
url,
));
let mut builder = git2::build::RepoBuilder::new();
builder.fetch_options(fo);
builder.bare(true);
@@ -168,7 +171,10 @@ fn ensure_mirror(url: &str, mirror_dir: &Path, pkgname: &str) -> Result<()> {
let mut fo = FetchOptions::new();
let transfer_progress = TransferProgress::new(format!("git {}", pkgname));
fo.remote_callbacks(remote_callbacks(Some(transfer_progress.bar()), url));
fo.remote_callbacks(authenticated_remote_callbacks(
Some(transfer_progress.bar()),
url,
));
// Fetch all remote refs (tags + heads). Empty refspec uses default.
remote
@@ -274,7 +280,10 @@ fn resolve_remote_head_like<'a>(repo: &'a Repository) -> Result<Option<git2::Obj
Ok(Some(repo.find_object(candidates[0].1, None)?))
}
fn remote_callbacks(progress_bar: Option<ProgressBar>, _label: &str) -> RemoteCallbacks<'static> {
pub(crate) fn authenticated_remote_callbacks(
progress_bar: Option<ProgressBar>,
_label: &str,
) -> RemoteCallbacks<'static> {
let mut callbacks = RemoteCallbacks::new();
let mut credential_state = CredentialState::default();
+2
View File
@@ -5,6 +5,8 @@ mod fetcher;
mod git;
pub mod hooks;
pub(crate) use git::authenticated_remote_callbacks;
use crate::package::PackageSpec;
use anyhow::{Context, Result, bail};
use sha2::{Digest, Sha256};