forked from rust-lang/git2-rs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrevspec.rs
34 lines (29 loc) · 877 Bytes
/
revspec.rs
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
}
}