summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author无闻 <joe2010xtmf@163.com>2014-07-22 16:23:00 -0400
committer无闻 <joe2010xtmf@163.com>2014-07-22 16:23:00 -0400
commit40557a4f79dfa212434d7c3950b47f077708737d (patch)
treead70c792c81d41dfeba5bbf4195f51ac0f137ee4
parent8e4debe99d3c11c8604d446113331e91d7c6d198 (diff)
parent267870537dd7dc3cc0b7b81c2ac1a7be835c0f92 (diff)
downloadgitea-40557a4f79dfa212434d7c3950b47f077708737d.tar.gz
gitea-40557a4f79dfa212434d7c3950b47f077708737d.zip
Merge pull request #298 from nuss-justin/issue/278
Fix issue #278. Fall back to (default) branch for context data, if no branch selected
-rw-r--r--modules/middleware/repo.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index cf8ce412e5..c6febffb2e 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -248,13 +248,24 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler {
ctx.Repo.IsWatching = models.IsWatching(ctx.User.Id, repo.Id)
}
- ctx.Data["BranchName"] = ctx.Repo.BranchName
ctx.Data["TagName"] = ctx.Repo.TagName
brs, err := ctx.Repo.GitRepo.GetBranches()
if err != nil {
log.Error("RepoAssignment(GetBranches): %v", err)
}
ctx.Data["Branches"] = brs
+
+ // If not branch selected, try default one.
+ // If default branch doesn't exists, fall back to some other branch.
+ if ctx.Repo.BranchName == "" {
+ if ctx.Repo.Repository.DefaultBranch != "" && gitRepo.IsBranchExist(ctx.Repo.Repository.DefaultBranch) {
+ ctx.Repo.BranchName = ctx.Repo.Repository.DefaultBranch
+ } else if len(brs) > 0 {
+ ctx.Repo.BranchName = brs[0]
+ }
+ }
+
+ ctx.Data["BranchName"] = ctx.Repo.BranchName
ctx.Data["CommitId"] = ctx.Repo.CommitId
ctx.Data["IsRepositoryWatching"] = ctx.Repo.IsWatching
}