Enum jujutsu_lib::evolution::EvolutionRef[][src]

pub enum EvolutionRef<'a> {
    Readonly(Arc<ReadonlyEvolution>),
    Mutable(&'a MutableEvolution),
}

Variants

Mutable(&'a MutableEvolution)

Implementations

impl EvolutionRef<'_>[src]

pub fn successors(&self, commit_id: &CommitId) -> HashSet<CommitId>[src]

pub fn is_obsolete(&self, commit_id: &CommitId) -> bool[src]

pub fn is_orphan(&self, commit_id: &CommitId) -> bool[src]

pub fn is_divergent(&self, change_id: &ChangeId) -> bool[src]

pub fn new_parent(
    &self,
    repo: RepoRef<'_>,
    old_parent_id: &CommitId
) -> HashSet<CommitId>
[src]

Given a current parent, finds the new parent candidates. If the current parent is not obsolete, then a singleton set of that commit will be returned.

  • If a successor is pruned, its parent(s) will instead be included (or their parents if they are also pruned).

  • If the commit has multiple live successors, the tip-most one(s) of them will be chosen.

The second case is more complex than it probably seems. For example, let’s say commit A was split into B, A’, and C (where A’ has the same change id as A). Then C is rebased to somewhere else and becomes C’. We will choose that C’ as effective successor even though it has a different change id and is not a descendant of one that does.

Auto Trait Implementations

impl<'a> RefUnwindSafe for EvolutionRef<'a>

impl<'a> Send for EvolutionRef<'a>

impl<'a> Sync for EvolutionRef<'a>

impl<'a> Unpin for EvolutionRef<'a>

impl<'a> UnwindSafe for EvolutionRef<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V