pub struct DefaultGitRunner { /* private fields */ }Expand description
Production GitRunner that invokes the system git binary.
A 30-second timeout is applied to every invocation to prevent indefinite hangs caused by credential prompts, slow networks, or stalled lock files.
§Examples
use std::path::Path;
use zeph_worktree::git_runner::{DefaultGitRunner, GitRunner};
let runner = DefaultGitRunner::default();
let out = runner.run(&["--version"], Path::new("/tmp")).await?;
assert!(out.status.success());Implementations§
Source§impl DefaultGitRunner
impl DefaultGitRunner
Sourcepub fn with_timeout(timeout: Duration) -> Self
pub fn with_timeout(timeout: Duration) -> Self
Creates a runner with a custom command timeout.
timeout is clamped to a minimum of one second — a zero (or
sub-second) timeout would make every git invocation fail
immediately, which is never the caller’s intent.
Trait Implementations§
Source§impl Clone for DefaultGitRunner
impl Clone for DefaultGitRunner
Source§fn clone(&self) -> DefaultGitRunner
fn clone(&self) -> DefaultGitRunner
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DefaultGitRunner
impl Debug for DefaultGitRunner
Source§impl Default for DefaultGitRunner
impl Default for DefaultGitRunner
Auto Trait Implementations§
impl Freeze for DefaultGitRunner
impl RefUnwindSafe for DefaultGitRunner
impl Send for DefaultGitRunner
impl Sync for DefaultGitRunner
impl Unpin for DefaultGitRunner
impl UnsafeUnpin for DefaultGitRunner
impl UnwindSafe for DefaultGitRunner
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