blob: d2e08670af40e9c3b3d4de971ecabc6461f3277a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
use crate::{Object, RevparseMode};
/// A revspec represents a range of revisions within a repository.
pub struct Revspec<'repo> {
from: Option<Object<'repo>>,
to: Option<Object<'repo>>,
mode: RevparseMode,
}
impl<'repo> Revspec<'repo> {
/// Assembles a new revspec from the from/to components.
pub fn from_objects(
from: Option<Object<'repo>>,
to: Option<Object<'repo>>,
mode: RevparseMode,
) -> Revspec<'repo> {
Revspec { from, to, mode }
}
/// Access the `from` range of this revspec.
pub fn from(&self) -> Option<&Object<'repo>> {
self.from.as_ref()
}
/// Access the `to` range of this revspec.
pub fn to(&self) -> Option<&Object<'repo>> {
self.to.as_ref()
}
/// Returns the intent of the revspec.
pub fn mode(&self) -> RevparseMode {
self.mode
}
}
|