1use crate::{Object, RevparseMode};
2
3pub struct Revspec<'repo> {
5    from: Option<Object<'repo>>,
6    to: Option<Object<'repo>>,
7    mode: RevparseMode,
8}
9
10impl<'repo> Revspec<'repo> {
11    pub fn from_objects(
13        from: Option<Object<'repo>>,
14        to: Option<Object<'repo>>,
15        mode: RevparseMode,
16    ) -> Revspec<'repo> {
17        Revspec { from, to, mode }
18    }
19
20    pub fn from(&self) -> Option<&Object<'repo>> {
22        self.from.as_ref()
23    }
24
25    pub fn to(&self) -> Option<&Object<'repo>> {
27        self.to.as_ref()
28    }
29
30    pub fn mode(&self) -> RevparseMode {
32        self.mode
33    }
34}