Skip to main content

Tracer

Struct Tracer 

Source
pub struct Tracer { /* private fields */ }
Expand description

The reader. Opened from anywhere inside the repository; every question is answered by running git again, because the history changes outside this process.

Implementations§

Source§

impl Tracer

Source

pub fn open(start: &Path) -> Result<Self>

Open the tracer for the repository holding start. Git runs in the work tree the caller named: every ref and every commit of the repository is visible from any of them, so the answer does not depend on which one it is, while reading the project model from somewhere else would answer about a plan this checkout does not have. The trunk is the repository’s, discovered the way the topology discovers it.

Source

pub fn with_issues(self, issues: Vec<String>) -> Self

The issue ids to look for in branch names, from a caller that has already read the project model — the index, which parsed every issue record, rather than a second directory listing that could disagree with it.

Source

pub fn trunk(&self) -> Option<&str>

The trunk every measurement is against, when one was discovered.

Source

pub fn issues(&self) -> &[String]

The issue ids the project model declares.

Source

pub fn traces(&self) -> Result<Vec<IssueTrace>>

Every issue at least one ref names, in id order, each with its branches and commits.

Source

pub fn trace(&self, issue: &str) -> Result<IssueTrace>

One issue: its branches and their commits. An id no ref names is a trace with no branches, not an error — an issue nobody has started yet is a legitimate answer.

Source

pub fn commit(&self, rev: &str) -> Result<Option<CommitRef>>

Resolve a revision to the commit it names, with the fields a report shows. None when nothing in this repository answers to it.

Source

pub fn trunk_commits(&self, limit: usize) -> Result<Vec<CommitRef>>

The newest limit commits of the trunk, merges excluded: the work a report attributes. Merge commits are integration events rather than work, and each is already named as the merge_commit of the branch it brought in.

Source

pub fn report(&self, limit: usize) -> Result<TraceReport>

The whole answer: every issue with a branch, every issue without one, and the newest limit trunk commits each attributed to the issue whose branches contain it or reported as having none.

Trait Implementations§

Source§

impl Clone for Tracer

Source§

fn clone(&self) -> Tracer

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Tracer

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
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

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

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

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more