summaryrefslogtreecommitdiffstats
path: root/vendor/gix/src/remote/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/gix/src/remote/mod.rs')
-rw-r--r--vendor/gix/src/remote/mod.rs62
1 files changed, 62 insertions, 0 deletions
diff --git a/vendor/gix/src/remote/mod.rs b/vendor/gix/src/remote/mod.rs
new file mode 100644
index 000000000..f016575c7
--- /dev/null
+++ b/vendor/gix/src/remote/mod.rs
@@ -0,0 +1,62 @@
+use std::borrow::Cow;
+
+use crate::bstr::BStr;
+
+/// The direction of an operation carried out (or to be carried out) through a remote.
+#[derive(Debug, Eq, PartialEq, Copy, Clone, Hash)]
+pub enum Direction {
+ /// Push local changes to the remote.
+ Push,
+ /// Fetch changes from the remote to the local repository.
+ Fetch,
+}
+
+impl Direction {
+ /// Return ourselves as string suitable for use as verb in an english sentence.
+ pub fn as_str(&self) -> &'static str {
+ match self {
+ Direction::Push => "push",
+ Direction::Fetch => "fetch",
+ }
+ }
+}
+
+/// The name of a remote, either interpreted as symbol like `origin` or as url as returned by [`Remote::name()`][crate::Remote::name()].
+#[derive(Debug, PartialEq, Eq, Clone)]
+pub enum Name<'repo> {
+ /// A symbolic name, like `origin`.
+ /// Note that it has not necessarily been validated yet.
+ Symbol(Cow<'repo, str>),
+ /// A url pointing to the remote host directly.
+ Url(Cow<'repo, BStr>),
+}
+
+///
+pub mod name;
+
+mod build;
+
+mod errors;
+pub use errors::find;
+
+///
+pub mod init;
+
+///
+pub mod fetch;
+
+///
+#[cfg(any(feature = "async-network-client", feature = "blocking-network-client"))]
+pub mod connect;
+
+#[cfg(any(feature = "async-network-client", feature = "blocking-network-client"))]
+mod connection;
+#[cfg(any(feature = "async-network-client", feature = "blocking-network-client"))]
+pub use connection::{ref_map, AuthenticateFn, Connection};
+
+///
+pub mod save;
+
+mod access;
+///
+pub mod url;