gix_protocol/fetch/
handshake.rsuse gix_features::progress::Progress;
use gix_transport::{client, Service};
use maybe_async::maybe_async;
use crate::{
credentials,
handshake::{Error, Outcome},
};
#[allow(clippy::result_large_err)]
#[maybe_async]
pub async fn upload_pack<AuthFn, T>(
transport: T,
authenticate: AuthFn,
extra_parameters: Vec<(String, Option<String>)>,
progress: &mut impl Progress,
) -> Result<Outcome, Error>
where
AuthFn: FnMut(credentials::helper::Action) -> credentials::protocol::Result,
T: client::Transport,
{
crate::handshake(transport, Service::UploadPack, authenticate, extra_parameters, progress).await
}