…and not the one that refers to the (usually) commit the tags points to. When declaring wants, it really wants to see tips first, it appears. Quite tricky
Showing the changes to git-protocol/src (1 of 3 files). Show all
Unified · Split
| @@ -54,10 +54,12 @@ pub enum Ref { · 53 unmodified lines | |||
| 54 | } | 54 | } |
| 55 | 55 | ||
| 56 | impl Ref { | 56 | impl Ref { |
| 57 | pub fn unpack_common(&self) -> (&BString, &owned::Id) { | 57 | /// Provide shared fields referring to the ref itself. In case of peeled refs, the tag object itself is returned as it is what |
| 58 | /// the path refers to. | ||
| 59 | pub fn unpack(&self) -> (&BString, &owned::Id) { | ||
| 58 | match self { | 60 | match self { |
| 59 | Ref::Direct { path, object, .. } | 61 | Ref::Direct { path, object, .. } |
| 60 | | Ref::Peeled { path, object, .. } | 62 | | Ref::Peeled { path, tag: object, .. } // the tag acts as reference |
| 61 | | Ref::Symbolic { path, object, .. } => (path, object), | 63 | | Ref::Symbolic { path, object, .. } => (path, object), |
| 62 | } | 64 | } |
| 63 | } | 65 | } |