summaryrefslogtreecommitdiff
path: root/refs.go
blob: aec9c916f51e228c20929d7e92fc69bc318b9b26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package syw

import "strings"

type Ref struct {
	Repo *Repository
	Name string
	Hash string
}

func (r Ref) IsBranch() bool { return strings.HasPrefix(r.Name, "refs/heads/") }
func (r Ref) IsTag() bool    { return strings.HasPrefix(r.Name, "refs/tags/") }

func (r Ref) ShortName() string {
	if r.IsBranch() {
		return r.Name[11:]
	} else if r.IsTag() {
		return r.Name[10:]
	} else {
		return r.Name
	}
}