gix_merge::tree

Enum Resolution

Source
pub enum Resolution {
    SourceLocationAffectedByRename {
        final_location: BString,
    },
    OursModifiedTheirsRenamedAndChangedThenRename {
        merged_mode: Option<EntryMode>,
        merged_blob: Option<ContentMerge>,
        final_location: Option<BString>,
    },
    OursModifiedTheirsModifiedThenBlobContentMerge {
        merged_blob: ContentMerge,
    },
}
Expand description

Describes of a conflict involving our change and their change was specifically resolved.

Note that all resolutions are side-agnostic, so ours could also have been theirs and vice versa. Also note that symlink merges are always done via binary merge, using the same logic.

Variants§

§

SourceLocationAffectedByRename

ours had a renamed directory and theirs made a change in the now renamed directory. We moved that change into its location.

Fields

§final_location: BString

The repository-relative path to the location that the change ended up in after being affected by a renamed directory.

§

OursModifiedTheirsRenamedAndChangedThenRename

ours was a modified blob and theirs renamed that blob. We moved the changed blob from ours to its new location, and merged it successfully. If this is a copy, the source of the copy was set to be the changed blob as well so both match.

Fields

§merged_mode: Option<EntryMode>

If one side added the executable bit, we always add it in the merged result.

§merged_blob: Option<ContentMerge>

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

§final_location: Option<BString>

The repository relative path to the location the blob finally ended up in. It’s Some() only if they rewrote the blob into a directory which we renamed on our side.

§

OursModifiedTheirsModifiedThenBlobContentMerge

ours and theirs carried changes and where content-merged.

Note that ours and theirs may also be rewrites with the same destination and mode, or additions.

Fields

§merged_blob: ContentMerge

The outcome of the content merge.

Trait Implementations§

Source§

impl Clone for Resolution

Source§

fn clone(&self) -> Resolution

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 Resolution

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.