1
0
mirror of https://github.com/goreleaser/goreleaser.git synced 2025-03-27 21:39:20 +02:00
goreleaser/git/tag.go
Carlos Alexandro Becker 6880f3b86b
fixed tag and shit
2016-12-29 09:00:03 -02:00

34 lines
567 B
Go

package git
import (
"os/exec"
"strings"
"errors"
)
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
}