1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-29 21:47:01 +02:00
goreleaser/git/tag.go
Carlos Alexandro Becker 207ce2aee7
organized imports
2016-12-29 18:10:11 -02:00

34 lines
567 B
Go

package git
import (
"errors"
"os/exec"
"strings"
)
func CurrentTag() (tag string, err error) {
return getTag("")
}
func PreviousTag(base string) (tag string, err error) {
return getTag(base + "^")
}
func getTag(ref string) (tag string, err error) {
cmd := exec.Command(
"git",
"describe",
"--tags",
"--abbrev=0",
"--always",
)
if ref != "" {
cmd.Args = append(cmd.Args, ref)
}
bts, err := cmd.CombinedOutput()
if err != nil {
return tag, errors.New(err.Error() + ": " + string(bts))
}
return strings.Split(string(bts), "\n")[0], err
}