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.