Skip to main content

GitRunner

Trait GitRunner 

Source
pub trait GitRunner: Send {
    // Required method
    fn execute(
        &mut self,
        invocation: &GitInvocation,
    ) -> Result<Vec<u8>, GitExecutionError>;

    // Provided methods
    fn execute_file(
        &mut self,
        _invocation: &GitInvocation,
        _input: File,
        _expected_len: u64,
    ) -> Result<Vec<u8>, GitExecutionError> { ... }
    fn process_tree_is_parent_fenced(&self) -> bool { ... }
}
Expand description

Injectable fixed-argv Git executor.

Required Methods§

Source

fn execute( &mut self, invocation: &GitInvocation, ) -> Result<Vec<u8>, GitExecutionError>

Execute one bounded invocation.

§Errors

Returns a redacted process, I/O, timeout, output-limit, or exit-status failure.

Provided Methods§

Source

fn execute_file( &mut self, _invocation: &GitInvocation, _input: File, _expected_len: u64, ) -> Result<Vec<u8>, GitExecutionError>

Execute one bounded invocation with stdin streamed from an already-open regular file.

The default refuses the operation. Production and snapshot-aware test runners must prove the exact expected byte count without resolving a pathname.

§Errors

Returns a redacted process or exact-input failure.

Source

fn process_tree_is_parent_fenced(&self) -> bool

Whether process trees spawned after a successful execute setup are killed on parent exit.

Production currently proves this only on Windows. Unix therefore keeps bounded strong missing-publication retirement disabled.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§