#![cfg_attr(
all(doc, feature = "document-features"),
doc = ::document_features::document_features!()
)]
#![cfg_attr(all(doc, feature = "document-features"), feature(doc_cfg, doc_auto_cfg))]
#![deny(missing_docs, rust_2018_idioms, unsafe_code)]
#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)]
pub enum Command {
LsRefs,
Fetch,
}
pub mod command;
#[cfg(feature = "async-trait")]
pub use async_trait;
#[cfg(feature = "futures-io")]
pub use futures_io;
#[cfg(feature = "futures-lite")]
pub use futures_lite;
pub use gix_credentials as credentials;
pub use gix_transport as transport;
pub use maybe_async;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub mod fetch;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
mod fetch_fn;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub use fetch_fn::{fetch, FetchConnection};
mod remote_progress;
pub use remote_progress::RemoteProgress;
#[cfg(all(feature = "blocking-client", feature = "async-client"))]
compile_error!("Cannot set both 'blocking-client' and 'async-client' features as they are mutually exclusive");
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub mod handshake;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub use handshake::function::handshake;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub mod ls_refs;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub use ls_refs::function::ls_refs;
mod util;
pub use util::agent;
#[cfg(any(feature = "blocking-client", feature = "async-client"))]
pub use util::indicate_end_of_interaction;