gix_merge::tree

Enum ResolutionFailure

Source
pub enum ResolutionFailure {
    OursRenamedTheirsRenamedDifferently {
        merged_blob: Option<ContentMerge>,
    },
    OursModifiedTheirsDirectoryThenOursRenamed {
        renamed_unique_path_to_modified_blob: BString,
    },
    OursAddedTheirsAddedTypeMismatch {
        their_unique_location: BString,
    },
    OursModifiedTheirsRenamedTypeMismatch,
    OursDeletedTheirsRenamed,
    OursModifiedTheirsDeleted,
    Unknown,
}
Expand description

Describes of a conflict involving our change and their failed to be resolved.

Variants§

§

OursRenamedTheirsRenamedDifferently

ours was renamed, but theirs was renamed differently. Both versions will be present in the tree,

Fields

§merged_blob: Option<ContentMerge>

If Some(…), the content of the involved blob had to be merged.

§

OursModifiedTheirsDirectoryThenOursRenamed

ours was modified, but theirs was turned into a directory, so ours was renamed to a non-conflicting path.

Fields

§renamed_unique_path_to_modified_blob: BString

The path at which ours can be found in the tree - it’s in the same directory that it was in before.

§

OursAddedTheirsAddedTypeMismatch

ours was added (or renamed into place) with a different mode than theirs, e.g. blob and symlink, and we kept the symlink in its original location, renaming the other side to their_unique_location.

Fields

§their_unique_location: BString

The location at which their state was placed to resolve the name and type clash, named to indicate where the entry is coming from.

§

OursModifiedTheirsRenamedTypeMismatch

ours was modified, and they renamed the same file, but there is also a non-mergable type-change. Here we keep both versions of the file.

§

OursDeletedTheirsRenamed

ours was deleted, but theirs was renamed.

§

OursModifiedTheirsDeleted

ours was modified and theirs was deleted. We keep the modified one and ignore the deletion.

§

Unknown

ours and theirs are in an untested state so it can’t be handled yet, and is considered a conflict without adding our or their side to the resulting tree.

Trait Implementations§

Source§

impl Clone for ResolutionFailure

Source§

fn clone(&self) -> ResolutionFailure

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResolutionFailure

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.