pub trait Remote: Sync {
// Required methods
fn new<'life0, 'async_trait>(
config: &'life0 RemoteConfig,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>
where Self: Sized + 'async_trait,
'life0: 'async_trait;
fn check_auth<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_repo<'life0, 'async_trait>(
&'life0 self,
create_info: RepoCreateInfo,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn create_fork<'life0, 'async_trait>(
&'life0 self,
options: RepoForkOption,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn list_repos<'life0, 'async_trait>(
&'life0 self,
list_info: ListReposInfo,
) -> Pin<Box<dyn Future<Output = Result<Vec<Repository>>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn delete_repo<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait;
fn get_config(&self) -> &RemoteConfig;
// Provided methods
fn clone_repo<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
path: &'life2 str,
recursive: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn add_remote<'life0, 'life1, 'async_trait>(
&'life0 self,
repo_name: &'life1 str,
branch: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
fn clone_url(&self, username: &str, repo_name: &str) -> String { ... }
}
Required Methods§
Sourcefn new<'life0, 'async_trait>(
config: &'life0 RemoteConfig,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: Sized + 'async_trait,
'life0: 'async_trait,
fn new<'life0, 'async_trait>(
config: &'life0 RemoteConfig,
) -> Pin<Box<dyn Future<Output = Result<Self>> + Send + 'async_trait>>where
Self: Sized + 'async_trait,
'life0: 'async_trait,
Create a new remote with the given configuration.
Sourcefn check_auth<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn check_auth<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Check if the remote is authenticated.
Sourcefn create_repo<'life0, 'async_trait>(
&'life0 self,
create_info: RepoCreateInfo,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_repo<'life0, 'async_trait>(
&'life0 self,
create_info: RepoCreateInfo,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Create a new repository on the remote. Returns the new repository.
Sourcefn create_fork<'life0, 'async_trait>(
&'life0 self,
options: RepoForkOption,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_fork<'life0, 'async_trait>(
&'life0 self,
options: RepoForkOption,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fork a repository. Returns the new newly-created fork.
Sourcefn list_repos<'life0, 'async_trait>(
&'life0 self,
list_info: ListReposInfo,
) -> Pin<Box<dyn Future<Output = Result<Vec<Repository>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_repos<'life0, 'async_trait>(
&'life0 self,
list_info: ListReposInfo,
) -> Pin<Box<dyn Future<Output = Result<Vec<Repository>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List all repositories.
Sourcefn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_repo_info<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<Repository>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get the information of a repository.
Sourcefn delete_repo<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_repo<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete a repository. WARNING: Operation does not prompt for confirmation and is irreversible.
Sourcefn get_config(&self) -> &RemoteConfig
fn get_config(&self) -> &RemoteConfig
Get the configuration of the remote.
Provided Methods§
Sourcefn clone_repo<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
path: &'life2 str,
recursive: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn clone_repo<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
name: &'life1 str,
path: &'life2 str,
recursive: bool,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Clone a repository to the given path.
Sourcefn add_remote<'life0, 'life1, 'async_trait>(
&'life0 self,
repo_name: &'life1 str,
branch: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn add_remote<'life0, 'life1, 'async_trait>(
&'life0 self,
repo_name: &'life1 str,
branch: Option<String>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Add a remote to the local git repository. If the current directory is not a git repository, it will be initialized as one.