diff options
Diffstat (limited to 'ref/refname/tag.go')
| -rw-r--r-- | ref/refname/tag.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ref/refname/tag.go b/ref/refname/tag.go new file mode 100644 index 00000000..226c0fdd --- /dev/null +++ b/ref/refname/tag.go @@ -0,0 +1,20 @@ +package refname + +import "strings" + +// Tag checks one tag shorthand and returns its fully-qualified +// refs/tags/... name. +func Tag(name string) (string, error) { + if strings.HasPrefix(name, "-") || name == "HEAD" { + return "", &NameError{Name: name, Reason: "invalid tag name"} + } + + full := "refs/tags/" + name + + err := validate(full, 0) + if err != nil { + return "", err + } + + return full, nil +} |
