mirror of
https://github.com/foomo/posh.git
synced 2025-10-16 12:45:38 +00:00
23 lines
537 B
Go
23 lines
537 B
Go
package git
|
|
|
|
import (
|
|
"context"
|
|
"strings"
|
|
|
|
"github.com/foomo/posh/pkg/log"
|
|
"github.com/foomo/posh/pkg/shell"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
func Ref(ctx context.Context, l log.Logger) (string, error) {
|
|
value, err := shell.New(ctx, l,
|
|
"git", "describe", "--tags", "--exact-match", "2>", "/dev/null",
|
|
"||", "git", "symbolic-ref -q", "--short HEAD",
|
|
"||", "git rev-parse", "--short", "HEAD",
|
|
).Output()
|
|
if err != nil {
|
|
return "", errors.Wrap(err, "failed to retrieve git ref")
|
|
}
|
|
return strings.TrimSpace(string(value)), nil
|
|
}
|