pub enum Spec {
Include(ObjectId),
Exclude(ObjectId),
Range {
from: ObjectId,
to: ObjectId,
},
Merge {
theirs: ObjectId,
ours: ObjectId,
},
IncludeOnlyParents(ObjectId),
ExcludeParents(ObjectId),
}Expand description
A revision specification without any bindings to a repository, useful for serialization or movement over thread boundaries.
Note that all object ids should be a committish, but don’t have to be.
Unless the field name contains _exclusive, the respective objects are included in the set.
Variants§
Include(ObjectId)
Include commits reachable from this revision, i.e. a and its ancestors.
The equivalent to crate::spec::Kind::IncludeReachable, but with data.
Exclude(ObjectId)
Exclude commits reachable from this revision, i.e. a and its ancestors. Example: ^a.
The equivalent to crate::spec::Kind::ExcludeReachable, but with data.
Range
Every commit that is reachable from from to to, but not any ancestors of from. Example: from..to.
The equivalent to crate::spec::Kind::RangeBetween, but with data.
Fields
Merge
Every commit reachable through either theirs or ours, but no commit that is reachable by both. Example: theirs...ours.
The equivalent to crate::spec::Kind::ReachableToMergeBase, but with data.
Fields
IncludeOnlyParents(ObjectId)
Include every commit of all parents of a, but not a itself. Example: a^@.
The equivalent to crate::spec::Kind::IncludeReachableFromParents, but with data.
ExcludeParents(ObjectId)
Exclude every commit of all parents of a, but not a itself. Example: a^!.
The equivalent to crate::spec::Kind::ExcludeReachableFromParents, but with data.