pub struct Unit {
pub path: String,
pub kind: Kind,
pub base: Option<String>,
pub ours: Option<String>,
pub theirs: Option<String>,
pub gitmerged: Option<String>,
pub present: Option<Candidate>,
pub unverified_git_merge: bool,
}Expand description
One file git could not merge: its three stages (absent = None) and git’s
own line merge of it, conflict markers and all.
Fields§
§path: String§kind: Kind§base: Option<String>§ours: Option<String>§theirs: Option<String>§gitmerged: Option<String>git merge-file output (plain merge style); None for
modify/delete, where git writes no markers. For a file git merges
line-cleanly that is a unit anyway (see plan), git’s clean text.
present: Option<Candidate>The answer the tree already holds, when there is one to judge: in
working-tree mode a file the merge driver resolved (stage 0 in the
index), with --result <rev> the file at that rev. It is labelled
before any resolver is asked: PROVEN when it is weave’s certified
merge, VERIFIED when it passes the gate.
unverified_git_merge: boolgit merged the file line-cleanly, and that merge is known bad: it
failed weave’s merge check, or the merge driver refused the file. An
answer then has to differ from git’s somewhere (to state case 3
once, say), so the gate does not hold it to every line of git’s merge
(AUTOMERGED); it holds it to both sides’ changes, the whole file read
as one block (DROPPED / UNDELETED).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Unit
impl RefUnwindSafe for Unit
impl Send for Unit
impl Sync for Unit
impl Unpin for Unit
impl UnsafeUnpin for Unit
impl UnwindSafe for Unit
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more