pub struct PushRemote { /* private fields */ }Expand description
Push to a remote.
§Examples
use ironflow_ops_git::fetch::PushRemote;
use ironflow_core::operation::Operation;
let op = PushRemote::new("/path/to/repo", "origin", vec!["refs/heads/main"]);
assert_eq!(op.kind(), "git");Implementations§
Source§impl PushRemote
impl PushRemote
Sourcepub fn new(
repo_path: impl Into<PathBuf>,
remote_name: impl Into<String>,
refspecs: Vec<impl Into<String>>,
) -> Self
pub fn new( repo_path: impl Into<PathBuf>, remote_name: impl Into<String>, refspecs: Vec<impl Into<String>>, ) -> Self
Create a new push operation.
Sourcepub async fn run(
&self,
ctx: &OperationContext,
) -> Result<FetchPushOutput, OperationError>
pub async fn run( &self, ctx: &OperationContext, ) -> Result<FetchPushOutput, OperationError>
Execute and return a typed result.
§Errors
Returns OperationError::Secret if the secret store fails, and
OperationError::External if the push fails. The token never
appears in the message.
Source§impl PushRemote
impl PushRemote
Sourcepub fn token_secret(self, key: impl Into<String>) -> Self
pub fn token_secret(self, key: impl Into<String>) -> Self
Read the HTTPS token from the secret key instead of git_token.
§Examples
use ironflow_ops_git::fetch::PushRemote;
let op = PushRemote::new("/path/to/repo", "origin", vec!["refs/heads/main"]).token_secret("gitlab_token");Trait Implementations§
Source§impl Operation for PushRemote
impl Operation for PushRemote
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 OperationContext,
) -> Pin<Box<dyn Future<Output = Result<Value, OperationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 OperationContext,
) -> Pin<Box<dyn Future<Output = Result<Value, OperationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the operation and return the result as JSON. Read more
Source§impl TypedOperation for PushRemote
impl TypedOperation for PushRemote
Source§type Output = FetchPushOutput
type Output = FetchPushOutput
The concrete output type that
Operation::execute produces.Auto Trait Implementations§
impl Freeze for PushRemote
impl RefUnwindSafe for PushRemote
impl Send for PushRemote
impl Sync for PushRemote
impl Unpin for PushRemote
impl UnsafeUnpin for PushRemote
impl UnwindSafe for PushRemote
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more