diff --git a/models/repo.go b/models/repo.go index 82fea00a6..a0074a295 100644 --- a/models/repo.go +++ b/models/repo.go @@ -288,9 +288,9 @@ func (repo *Repository) GetMirror() (err error) { return err } -func (repo *Repository) GetBranch(br string) (_ *Branch, err error) { +func (repo *Repository) GetBranch(br string) (*Branch, error) { if(!git.IsBranchExist(repo.RepoPath(), br)){ - return nil, errors.New("Branch do not exist"); + return nil, fmt.Errorf("Branch does not exist: %s", br); } return &Branch{ Path: repo.RepoPath(), @@ -298,7 +298,7 @@ func (repo *Repository) GetBranch(br string) (_ *Branch, err error) { },nil } -func (repo *Repository) GetBranches() (_ []*Branch, err error) { +func (repo *Repository) GetBranches() ([]*Branch, error) { return GetBranchesByPath(repo.RepoPath()) } diff --git a/models/branch.go b/models/repo_branch.go similarity index 80% rename from models/branch.go rename to models/repo_branch.go index 08b5b7c31..b784f7d53 100644 --- a/models/branch.go +++ b/models/repo_branch.go @@ -1,3 +1,7 @@ +// Copyright 2016 The Gogs Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + package models import ( @@ -30,10 +34,6 @@ func GetBranchesByPath(path string) ([]*Branch, error) { return Branches, nil } -func GetBranchesByRepo(user,repo string) ([]*Branch, error) { - return GetBranchesByPath(RepoPath(user, repo)) -} - func (br *Branch) GetCommit() (*git.Commit, error) { gitRepo, err := git.OpenRepository(br.Path) if err != nil { diff --git a/routers/api/v1/api.go b/routers/api/v1/api.go index 0152eec29..04b392fc9 100644 --- a/routers/api/v1/api.go +++ b/routers/api/v1/api.go @@ -185,7 +185,7 @@ func RegisterRoutes(m *macaron.Macaron) { m.Get("/archive/*", repo.GetArchive) m.Group("/branches", func() { m.Get("",repo.ListBranches) - m.Get("/:id",repo.GetBranch) + m.Get("/:branchname",repo.GetBranch) }) m.Group("/keys", func() { m.Combo("").Get(repo.ListDeployKeys). diff --git a/routers/api/v1/convert/convert.go b/routers/api/v1/convert/convert.go index d20732bfd..57b3d44e2 100644 --- a/routers/api/v1/convert/convert.go +++ b/routers/api/v1/convert/convert.go @@ -16,26 +16,6 @@ import ( "github.com/gogits/gogs/modules/setting" ) -// ToApiBranch converts user to its API format. -func ToApiBranch(b *models.Branch,c *git.Commit) *api.Branch { - return &api.Branch{ - Name: b.Name, - Commit: ToApiCommit(c), - } -} -// ToApiCommit converts user to its API format. -func ToApiCommit(c *git.Commit) *api.PayloadCommit { - return &api.PayloadCommit{ - ID: c.ID.String(), - Message: c.Message(), - URL: "Not implemented", - Author: &api.PayloadAuthor{ - Name: c.Committer.Name, - Email: c.Committer.Email, - /* UserName: c.Committer.UserName, */ - }, - } -} // ToApiUser converts user to its API format. func ToApiUser(u *models.User) *api.User { return &api.User{ @@ -71,6 +51,28 @@ func ToApiRepository(owner *models.User, repo *models.Repository, permission api } } +// ToApiBranch converts user to its API format. +func ToApiBranch(b *models.Branch,c *git.Commit) *api.Branch { + return &api.Branch{ + Name: b.Name, + Commit: ToApiCommit(c), + } +} + +// ToApiCommit converts user to its API format. +func ToApiCommit(c *git.Commit) *api.PayloadCommit { + return &api.PayloadCommit{ + ID: c.ID.String(), + Message: c.Message(), + URL: "Not implemented", + Author: &api.PayloadAuthor{ + Name: c.Committer.Name, + Email: c.Committer.Email, + /* UserName: c.Committer.UserName, */ + }, + } +} + // ToApiPublicKey converts public key to its API format. func ToApiPublicKey(apiLink string, key *models.PublicKey) *api.PublicKey { return &api.PublicKey{ diff --git a/routers/api/v1/repo/branch.go b/routers/api/v1/repo/branch.go index 2f4c36f75..d322b6b59 100644 --- a/routers/api/v1/repo/branch.go +++ b/routers/api/v1/repo/branch.go @@ -1,4 +1,4 @@ -// Copyright 2014 The Gogs Authors. All rights reserved. +// Copyright 2016 The Gogs Authors. All rights reserved. // Use of this source code is governed by a MIT-style // license that can be found in the LICENSE file. @@ -14,32 +14,32 @@ import ( // Temporary: https://gist.github.com/sapk/df64347ff218baf4a277#get-a-branch // https://github.com/gogits/go-gogs-client/wiki/Repositories-Branches#get-a-branch func GetBranch(ctx *middleware.Context) { - //Getting the branch requested - branch, err := ctx.Repo.Repository.GetBranch(ctx.Params(":id")) + // Getting the branch requested + branch, err := ctx.Repo.Repository.GetBranch(ctx.Params(":branchname")) if err != nil { ctx.APIError(500, "Repository.GetBranch", err) return } - //Getting the last commit of the branch + // Getting the last commit of the branch c, err := branch.GetCommit() if err != nil { ctx.APIError(500, "Branch.GetCommit", err) return } - //Converting to API format and send payload + // Converting to API format and send payload ctx.JSON(200, convert.ToApiBranch(branch,c)) } // Temporary: https://gist.github.com/sapk/df64347ff218baf4a277#list-branches // https://github.com/gogits/go-gogs-client/wiki/Repositories-Branches#list-branches func ListBranches(ctx *middleware.Context) { - //Listing of branches + // Listing of branches Branches, err := ctx.Repo.Repository.GetBranches() if err != nil { ctx.APIError(500, "Repository.GetBranches", err) return } - //Getting the last commit of each branch + // Getting the last commit of each branch apiBranches := make([]*api.Branch, len(Branches)) for i := range Branches { c, err := Branches[i].GetCommit() @@ -47,9 +47,9 @@ func ListBranches(ctx *middleware.Context) { ctx.APIError(500, "Branch.GetCommit", err) return } - //Converting to API format + // Converting to API format apiBranches[i] = convert.ToApiBranch(Branches[i],c) } - //Sending the payload + // Sending the payload ctx.JSON(200, &apiBranches) }