diff options
Diffstat (limited to 'models')
-rw-r--r-- | models/error.go | 20 | ||||
-rw-r--r-- | models/repo.go | 14 | ||||
-rw-r--r-- | models/repo_branch.go | 24 |
3 files changed, 39 insertions, 19 deletions
diff --git a/models/error.go b/models/error.go index 8e2048de..cd7fa35d 100644 --- a/models/error.go +++ b/models/error.go @@ -392,6 +392,26 @@ func (err ErrReleaseNotExist) Error() string { return fmt.Sprintf("Release tag does not exist [id: %d, tag_name: %s]", err.ID, err.TagName) } +// __________ .__ +// \______ \____________ ____ ____ | |__ +// | | _/\_ __ \__ \ / \_/ ___\| | \ +// | | \ | | \// __ \| | \ \___| Y \ +// |______ / |__| (____ /___| /\___ >___| / +// \/ \/ \/ \/ \/ + +type ErrBranchNotExist struct { + Name string +} + +func IsErrBranchNotExist(err error) bool { + _, ok := err.(ErrBranchNotExist) + return ok +} + +func (err ErrBranchNotExist) Error() string { + return fmt.Sprintf("Branch does not exist [name: %s]", err.Name) +} + // __ __ ___. .__ __ // / \ / \ ____\_ |__ | |__ ____ ____ | | __ // \ \/\/ // __ \| __ \| | \ / _ \ / _ \| |/ / diff --git a/models/repo.go b/models/repo.go index a0074a29..8ce1f719 100644 --- a/models/repo.go +++ b/models/repo.go @@ -288,20 +288,6 @@ func (repo *Repository) GetMirror() (err error) { return err } -func (repo *Repository) GetBranch(br string) (*Branch, error) { - if(!git.IsBranchExist(repo.RepoPath(), br)){ - return nil, fmt.Errorf("Branch does not exist: %s", br); - } - return &Branch{ - Path: repo.RepoPath(), - Name: br, - },nil -} - -func (repo *Repository) GetBranches() ([]*Branch, error) { - return GetBranchesByPath(repo.RepoPath()) -} - func (repo *Repository) GetBaseRepo() (err error) { if !repo.IsFork { return nil 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) { |