pub type ResolvedRevsetExpression = RevsetExpression<ResolvedExpressionState>;
Expand description
RevsetExpression
that never contains unresolved commit refs.
Aliased Type§
pub enum ResolvedRevsetExpression {
Show 28 variants
None,
All,
VisibleHeads,
VisibleHeadsOrReferenced,
Root,
Commits(Vec<CommitId>),
CommitRef(Infallible),
Ancestors {
heads: Rc<RevsetExpression<ResolvedExpressionState>>,
generation: Range<u64>,
},
Descendants {
roots: Rc<RevsetExpression<ResolvedExpressionState>>,
generation: Range<u64>,
},
Range {
roots: Rc<RevsetExpression<ResolvedExpressionState>>,
heads: Rc<RevsetExpression<ResolvedExpressionState>>,
generation: Range<u64>,
},
DagRange {
roots: Rc<RevsetExpression<ResolvedExpressionState>>,
heads: Rc<RevsetExpression<ResolvedExpressionState>>,
},
Reachable {
sources: Rc<RevsetExpression<ResolvedExpressionState>>,
domain: Rc<RevsetExpression<ResolvedExpressionState>>,
},
Heads(Rc<RevsetExpression<ResolvedExpressionState>>),
HeadsRange {
roots: Rc<RevsetExpression<ResolvedExpressionState>>,
heads: Rc<RevsetExpression<ResolvedExpressionState>>,
filter: Rc<RevsetExpression<ResolvedExpressionState>>,
},
Roots(Rc<RevsetExpression<ResolvedExpressionState>>),
ForkPoint(Rc<RevsetExpression<ResolvedExpressionState>>),
Latest {
candidates: Rc<RevsetExpression<ResolvedExpressionState>>,
count: usize,
},
Filter(RevsetFilterPredicate),
AsFilter(Rc<RevsetExpression<ResolvedExpressionState>>),
AtOperation {
operation: Infallible,
candidates: Rc<RevsetExpression<ResolvedExpressionState>>,
},
WithinReference {
candidates: Rc<RevsetExpression<ResolvedExpressionState>>,
commits: Vec<CommitId>,
},
WithinVisibility {
candidates: Rc<RevsetExpression<ResolvedExpressionState>>,
visible_heads: Vec<CommitId>,
},
Coalesce(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>),
Present(Rc<RevsetExpression<ResolvedExpressionState>>),
NotIn(Rc<RevsetExpression<ResolvedExpressionState>>),
Union(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>),
Intersection(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>),
Difference(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<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
Descendants
Range
Fields
roots: Rc<RevsetExpression<ResolvedExpressionState>>
heads: Rc<RevsetExpression<ResolvedExpressionState>>
DagRange
Fields
roots: Rc<RevsetExpression<ResolvedExpressionState>>
heads: Rc<RevsetExpression<ResolvedExpressionState>>
Reachable
Fields
sources: Rc<RevsetExpression<ResolvedExpressionState>>
domain: Rc<RevsetExpression<ResolvedExpressionState>>
Heads(Rc<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: Rc<RevsetExpression<ResolvedExpressionState>>
heads: Rc<RevsetExpression<ResolvedExpressionState>>
filter: Rc<RevsetExpression<ResolvedExpressionState>>
Roots(Rc<RevsetExpression<ResolvedExpressionState>>)
ForkPoint(Rc<RevsetExpression<ResolvedExpressionState>>)
Latest
Filter(RevsetFilterPredicate)
AsFilter(Rc<RevsetExpression<ResolvedExpressionState>>)
Marker for subtree that should be intersected as filter.
AtOperation
Resolves symbols and visibility at the specified operation.
WithinReference
Makes All
include the commits and their ancestors in addition to the
visible heads.
Fields
candidates: Rc<RevsetExpression<ResolvedExpressionState>>
WithinVisibility
Resolves visibility within the specified repo state.
Fields
candidates: Rc<RevsetExpression<ResolvedExpressionState>>
Coalesce(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)
Present(Rc<RevsetExpression<ResolvedExpressionState>>)
NotIn(Rc<RevsetExpression<ResolvedExpressionState>>)
Union(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)
Intersection(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)
Difference(Rc<RevsetExpression<ResolvedExpressionState>>, Rc<RevsetExpression<ResolvedExpressionState>>)
Implementations§
Source§impl ResolvedRevsetExpression
impl ResolvedRevsetExpression
Sourcepub fn evaluate<'index>(
self: Rc<Self>,
repo: &'index dyn Repo,
) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>
pub fn evaluate<'index>( self: Rc<Self>, repo: &'index dyn Repo, ) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>
Optimizes and evaluates this expression.
Sourcepub fn evaluate_unoptimized<'index>(
self: &Rc<Self>,
repo: &'index dyn Repo,
) -> Result<Box<dyn Revset + 'index>, RevsetEvaluationError>
pub fn evaluate_unoptimized<'index>( self: &Rc<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.
Sourcepub fn to_backend_expression(&self, repo: &dyn Repo) -> ResolvedExpression
pub fn to_backend_expression(&self, repo: &dyn Repo) -> ResolvedExpression
Transforms this expression to the form which the Index
backend will
process.