diff options
Diffstat (limited to 'models/repo_branch.go')
-rw-r--r-- | models/repo_branch.go | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/models/repo_branch.go b/models/repo_branch.go index b784f7d5..9cf2e9c4 100644 --- a/models/repo_branch.go +++ b/models/repo_branch.go @@ -9,8 +9,8 @@ import ( ) type Branch struct { - Path string - Name string + Path string + Name string } func GetBranchesByPath(path string) ([]*Branch, error) { @@ -24,14 +24,28 @@ func GetBranchesByPath(path string) ([]*Branch, error) { return nil, err } - Branches := make([]*Branch, len(brs)) + branches := make([]*Branch, len(brs)) for i := range brs { - Branches[i] = &Branch{ + branches[i] = &Branch{ Path: path, Name: brs[i], } } - return Branches, nil + return branches, nil +} + +func (repo *Repository) GetBranch(br string) (*Branch, error) { + if !git.IsBranchExist(repo.RepoPath(), br) { + return nil, &ErrBranchNotExist{br} + } + return &Branch{ + Path: repo.RepoPath(), + Name: br, + }, nil +} + +func (repo *Repository) GetBranches() ([]*Branch, error) { + return GetBranchesByPath(repo.RepoPath()) } func (br *Branch) GetCommit() (*git.Commit, error) { |