@@ -89,21 +89,18 @@ impl Ref {
89
89
/// In case of peeled refs, the tag object itself is returned as it is what the ref directly refers to, and target of the tag is returned
90
90
/// as `peeled`.
91
91
/// If `unborn`, the first object id will be the null oid.
92
- pub fn unpack ( & self ) -> ( & BStr , & git_hash:: oid , Option < & git_hash:: oid > ) {
92
+ pub fn unpack ( & self ) -> ( & BStr , Option < & git_hash:: oid > , Option < & git_hash:: oid > ) {
93
93
match self {
94
94
Ref :: Direct { full_ref_name, object }
95
95
| Ref :: Symbolic {
96
96
full_ref_name, object, ..
97
- } => ( full_ref_name. as_ref ( ) , object, None ) ,
97
+ } => ( full_ref_name. as_ref ( ) , Some ( object) , None ) ,
98
98
Ref :: Peeled {
99
99
full_ref_name,
100
100
tag : object,
101
101
object : peeled,
102
- } => ( full_ref_name. as_ref ( ) , object, Some ( peeled) ) ,
103
- Ref :: Unborn { target : _ } => {
104
- static NULL : git_hash:: ObjectId = git_hash:: ObjectId :: null ( git_hash:: Kind :: Sha1 ) ;
105
- ( "HEAD" . into ( ) , & NULL , None )
106
- }
102
+ } => ( full_ref_name. as_ref ( ) , Some ( object) , Some ( peeled) ) ,
103
+ Ref :: Unborn { target : _ } => ( "HEAD" . into ( ) , None , None ) ,
107
104
}
108
105
}
109
106
}
0 commit comments