pub enum Phase {
Development,
Integrate,
Review,
Release,
}Expand description
Which part of a change’s life an event belongs to.
Four phases over one change: the work is made (Development),
it is brought together with the base it is going onto
(Integrate), it is proposed and ruled on
(Review), and what carries it is released
(Release). A consumer reading a session under an attention
budget names a phase rather than enumerating the kinds that happen to be in it —
which is what makes a kind added later arrive in the read that already wanted it.
Spelled Phase rather than Lifecycle, because crate::Lifecycle is already
where a session is in its life and the two are different questions: a session
that has closed still has a change in review.
Variants§
Development
The work is being made: the session, its clone, its lock, its commits, the repair of a branch that carried an incomplete step, and the push of the session’s own branch.
Integrate
The work is being brought together with the base: the host’s merge queue, the merge it completed, a base that moved out from under the publication, and a push of any branch but the session’s own.
Review
The change request is open and being ruled on: it was opened, its checks moved, and it merged.
Release
What carries the landed change is being released: a probe was run, a person acknowledged a release, and a landing was observed as released.
Implementations§
Source§impl Phase
impl Phase
Sourcepub fn as_str(self) -> &'static str
pub fn as_str(self) -> &'static str
The word this phase is spelled with, in a filter and in a rendering.
Sourcepub fn of(kind: EventKind) -> Option<Phase>
pub fn of(kind: EventKind) -> Option<Phase>
The phase an event of this kind belongs to, where the kind alone decides it.
None for exactly one kind, and it is not an omission: a
Push of the session’s own branch is
Development and a push of anything else — the base a
local-direct squash lands on, the base a merge train advanced — is
Integrate. Which of the two it was is a fact about the
push rather than about the kind, so the producer stamps it and this answers
that it cannot.
Trait Implementations§
impl Copy for Phase
Source§impl<'de> Deserialize<'de> for Phase
impl<'de> Deserialize<'de> for Phase
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for Phase
Source§impl Ord for Phase
impl Ord for Phase
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialOrd for Phase
impl PartialOrd for Phase
impl StructuralPartialEq for Phase
Auto Trait Implementations§
impl Freeze for Phase
impl RefUnwindSafe for Phase
impl Send for Phase
impl Sync for Phase
impl Unpin for Phase
impl UnsafeUnpin for Phase
impl UnwindSafe for Phase
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.