ResolvedRevsetExpression

Type Alias ResolvedRevsetExpression 

Source
pub type ResolvedRevsetExpression = RevsetExpression<ResolvedExpressionState>;
Expand description

RevsetExpression that never contains unresolved commit refs.

Aliased Type§

pub enum ResolvedRevsetExpression {
Show 30 variants None, All, VisibleHeads, VisibleHeadsOrReferenced, Root, Commits(Vec<CommitId>), CommitRef(Infallible), Ancestors { heads: Arc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, parents_range: Range<u32>, }, Descendants { roots: Arc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, }, Range { roots: Arc<RevsetExpression<ResolvedExpressionState>>, heads: Arc<RevsetExpression<ResolvedExpressionState>>, generation: Range<u64>, parents_range: Range<u32>, }, DagRange { roots: Arc<RevsetExpression<ResolvedExpressionState>>, heads: Arc<RevsetExpression<ResolvedExpressionState>>, }, Reachable { sources: Arc<RevsetExpression<ResolvedExpressionState>>, domain: Arc<RevsetExpression<ResolvedExpressionState>>, }, Heads(Arc<RevsetExpression<ResolvedExpressionState>>), HeadsRange { roots: Arc<RevsetExpression<ResolvedExpressionState>>, heads: Arc<RevsetExpression<ResolvedExpressionState>>, parents_range: Range<u32>, filter: Arc<RevsetExpression<ResolvedExpressionState>>, }, Roots(Arc<RevsetExpression<ResolvedExpressionState>>), ForkPoint(Arc<RevsetExpression<ResolvedExpressionState>>), Bisect(Arc<RevsetExpression<ResolvedExpressionState>>), HasSize { candidates: Arc<RevsetExpression<ResolvedExpressionState>>, count: usize, }, Latest { candidates: Arc<RevsetExpression<ResolvedExpressionState>>, count: usize, }, Filter(RevsetFilterPredicate), AsFilter(Arc<RevsetExpression<ResolvedExpressionState>>), AtOperation { operation: Infallible, candidates: Arc<RevsetExpression<ResolvedExpressionState>>, }, WithinReference { candidates: Arc<RevsetExpression<ResolvedExpressionState>>, commits: Vec<CommitId>, }, WithinVisibility { candidates: Arc<RevsetExpression<ResolvedExpressionState>>, visible_heads: Vec<CommitId>, }, Coalesce(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>), Present(Arc<RevsetExpression<ResolvedExpressionState>>), NotIn(Arc<RevsetExpression<ResolvedExpressionState>>), Union(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>), Intersection(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>), Difference(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>),
}

Variants§

§

None

§

All

§

VisibleHeads

§

VisibleHeadsOrReferenced

Visible heads and all referenced commits within the current expression scope. Used as the default of Range/DagRange heads.

§

Root

§

Commits(Vec<CommitId>)

§

CommitRef(Infallible)

§

Ancestors

Fields

§heads: Arc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§parents_range: Range<u32>
§

Descendants

Fields

§roots: Arc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§

Range

Fields

§roots: Arc<RevsetExpression<ResolvedExpressionState>>
§heads: Arc<RevsetExpression<ResolvedExpressionState>>
§generation: Range<u64>
§parents_range: Range<u32>
§

DagRange

Fields

§roots: Arc<RevsetExpression<ResolvedExpressionState>>
§heads: Arc<RevsetExpression<ResolvedExpressionState>>
§

Reachable

Fields

§sources: Arc<RevsetExpression<ResolvedExpressionState>>
§domain: Arc<RevsetExpression<ResolvedExpressionState>>
§

Heads(Arc<RevsetExpression<ResolvedExpressionState>>)

§

HeadsRange

Heads of the set of commits which are ancestors of heads but are not ancestors of roots, and which also are contained in filter.

Fields

§roots: Arc<RevsetExpression<ResolvedExpressionState>>
§heads: Arc<RevsetExpression<ResolvedExpressionState>>
§parents_range: Range<u32>
§filter: Arc<RevsetExpression<ResolvedExpressionState>>
§

Roots(Arc<RevsetExpression<ResolvedExpressionState>>)

§

ForkPoint(Arc<RevsetExpression<ResolvedExpressionState>>)

§

Bisect(Arc<RevsetExpression<ResolvedExpressionState>>)

§

HasSize

Fields

§candidates: Arc<RevsetExpression<ResolvedExpressionState>>
§count: usize
§

Latest

Fields

§candidates: Arc<RevsetExpression<ResolvedExpressionState>>
§count: usize
§

Filter(RevsetFilterPredicate)

§

AsFilter(Arc<RevsetExpression<ResolvedExpressionState>>)

Marker for subtree that should be intersected as filter.

§

AtOperation

Resolves symbols and visibility at the specified operation.

Fields

§operation: Infallible
§candidates: Arc<RevsetExpression<ResolvedExpressionState>>
§

WithinReference

Makes All include the commits and their ancestors in addition to the visible heads.

Fields

§candidates: Arc<RevsetExpression<ResolvedExpressionState>>
§commits: Vec<CommitId>

Commits explicitly referenced within the scope.

§

WithinVisibility

Resolves visibility within the specified repo state.

Fields

§candidates: Arc<RevsetExpression<ResolvedExpressionState>>
§visible_heads: Vec<CommitId>

Copy of repo.view().heads() at the operation.

§

Coalesce(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>)

§

Present(Arc<RevsetExpression<ResolvedExpressionState>>)

§

NotIn(Arc<RevsetExpression<ResolvedExpressionState>>)

§

Union(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>)

§

Intersection(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>)

§

Difference(Arc<RevsetExpression<ResolvedExpressionState>>, Arc<RevsetExpression<ResolvedExpressionState>>)

Implementations§

Source§

impl ResolvedRevsetExpression

Source

pub fn evaluate<'index>( self: Arc<Self>, repo: &'index dyn Repo, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>

Optimizes and evaluates this expression.

Source

pub fn evaluate_unoptimized<'index>( self: &Arc<Self>, repo: &'index dyn Repo, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>

Evaluates this expression without optimizing it.

Use this function if self is already optimized, or to debug optimization pass.

Source

pub fn to_backend_expression(&self, repo: &dyn Repo) -> ResolvedExpression

Transforms this expression to the form which the Index backend will process.