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(any(feature = "blocking-client", feature = "async-client"))]
38pub mod bisync {
39 #[cfg(all(feature = "async-client", not(feature = "blocking-client")))]
40 pub use gix_macros::{discard as only_sync, keep as bisync, keep as only_async};
41 #[cfg(feature = "blocking-client")]
42 pub use gix_macros::{discard as only_async, keep as only_sync, sync as bisync};
43
44 pub const SYNC: bool = cfg!(feature = "blocking-client");
46 pub const ASYNC: bool = !SYNC;
48}
49#[cfg(feature = "async-client")]
50pub use async_trait;
51#[cfg(feature = "async-client")]
52pub use futures_io;
53#[cfg(feature = "async-client")]
54pub use futures_lite;
55#[cfg(feature = "handshake")]
56pub use gix_credentials as credentials;
57pub use gix_transport as transport;
59
60pub mod fetch;
62#[cfg(any(feature = "blocking-client", feature = "async-client"))]
63pub use fetch::function::fetch;
64
65mod remote_progress;
66pub use remote_progress::RemoteProgress;
67
68pub mod handshake;
70#[cfg(any(feature = "blocking-client", feature = "async-client"))]
71#[cfg(feature = "handshake")]
72pub use handshake::function::handshake;
73#[cfg(feature = "handshake")]
74pub use handshake::hero::Handshake;
75
76pub mod ls_refs;
78#[cfg(any(feature = "blocking-client", feature = "async-client"))]
79pub use ls_refs::function::LsRefsCommand;
80
81mod util;
82pub use util::*;