mirror of
https://github.com/go-gitea/git.git
synced 2026-02-05 06:45:03 +01:00
Add function to resolve short commit ID to full SHA1 (#122)
* Add function to resolve short commit ID to full SHA1 * Add tests for GetFullCommitID
This commit is contained in:
16
commit.go
16
commit.go
@@ -274,3 +274,19 @@ func (c *Commit) GetSubModule(entryname string) (*SubModule, error) {
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// GetFullCommitID returns full length (40) of commit ID by given short SHA in a repository.
|
||||
func GetFullCommitID(repoPath, shortID string) (string, error) {
|
||||
if len(shortID) >= 40 {
|
||||
return shortID, nil
|
||||
}
|
||||
|
||||
commitID, err := NewCommand("rev-parse", shortID).RunInDir(repoPath)
|
||||
if err != nil {
|
||||
if strings.Contains(err.Error(), "exit status 128") {
|
||||
return "", ErrNotExist{shortID, ""}
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
return strings.TrimSpace(commitID), nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user