27 lines · 1.1 KB · Rust
RawDownload
/// The name of the `git` client in a format suitable for presentation to a `git` server, using `name` as user-defined portion of the value.pub fn agent(name: impl Into<String>) -> String {    let mut name = name.into();    if !name.starts_with("git/") {        name.insert_str(0, "git/");    }    name} /// Send a message to indicate the remote side that there is nothing more to expect from us, indicating a graceful shutdown.#[cfg(any(feature = "blocking-client", feature = "async-client"))]#[maybe_async::maybe_async]pub async fn indicate_end_of_interaction(    mut transport: impl git_transport::client::Transport,) -> Result<(), git_transport::client::Error> {    // An empty request marks the (early) end of the interaction. Only relevant in stateful transports though.    if transport.connection_persists_across_multiple_requests() {        transport            .request(                git_transport::client::WriteMode::Binary,                git_transport::client::MessageKind::Flush,            )?            .into_read()            .await?;    }    Ok(())}