1#![cfg_attr(
14 all(doc, feature = "document-features"),
15 doc = ::document_features::document_features!()
16)]
17#![cfg_attr(all(doc, feature = "document-features"), feature(doc_cfg))]
18#![deny(missing_docs, unsafe_code)]
19
20#[cfg(feature = "handshake")]
24pub type AuthenticateFn<'a> = Box<dyn FnMut(gix_credentials::helper::Action) -> gix_credentials::protocol::Result + 'a>;
25
26#[derive(PartialEq, Eq, Debug, Hash, Ord, PartialOrd, Clone, Copy)]
28pub enum Command {
29 LsRefs,
31 Fetch,
33}
34pub mod command;
35
36#[cfg(all(feature = "async-client", not(feature = "blocking-client")))]
37pub use ::bisync::asynchronous as bisync;
38#[cfg(feature = "blocking-client")]
39pub use ::bisync::synchronous as bisync;
40#[cfg(feature = "async-client")]
41pub use async_trait;
42#[cfg(feature = "async-client")]
43pub use futures_io;
44#[cfg(feature = "async-client")]
45pub use futures_lite;
46#[cfg(feature = "handshake")]
47pub use gix_credentials as credentials;
48pub use gix_transport as transport;
50
51pub mod fetch;
53#[cfg(any(feature = "blocking-client", feature = "async-client"))]
54pub use fetch::function::fetch;
55
56mod remote_progress;
57pub use remote_progress::RemoteProgress;
58
59pub mod handshake;
61#[cfg(any(feature = "blocking-client", feature = "async-client"))]
62#[cfg(feature = "handshake")]
63pub use handshake::function::handshake;
64#[cfg(feature = "handshake")]
65pub use handshake::hero::Handshake;
66
67pub mod ls_refs;
69#[cfg(any(feature = "blocking-client", feature = "async-client"))]
70pub use ls_refs::function::LsRefsCommand;
71
72mod util;
73pub use util::*;