get branch from commit sha1 (#142)

This commit is contained in:
Lanre Adelowo
2019-02-04 00:53:29 +01:00
committed by zeripath
parent d04f81a6f8
commit fbe468c7a6
2 changed files with 10 additions and 1 deletions
+1
View File
@@ -18,6 +18,7 @@ import (
// Commit represents a git commit.
type Commit struct {
Branch string // Branch this commit belongs to
Tree
ID SHA1 // The ID of this commit object
Author *Signature
+9 -1
View File
@@ -10,7 +10,7 @@ import (
"strconv"
"strings"
"github.com/mcuadros/go-version"
version "github.com/mcuadros/go-version"
)
// GetRefCommitID returns the last commit ID string of given reference (branch or tag).
@@ -130,6 +130,14 @@ func (repo *Repository) getCommit(id SHA1) (*Commit, error) {
commit.repo = repo
commit.ID = id
data, err = NewCommand("name-rev", id.String()).RunInDirBytes(repo.Path)
if err != nil {
return nil, err
}
// name-rev commitID ouput will be "COMMIT_ID master" or "COMMIT_ID master~12"
commit.Branch = strings.Split(strings.Split(string(data), " ")[1], "~")[0]
repo.commitCache.Set(id.String(), commit)
return commit, nil
}