diff options
author | Unknown <joe2010xtmf@163.com> | 2014-04-10 22:03:31 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-04-10 22:03:31 -0400 |
commit | 306aa5bffe7868207ed7b773c1aedbf3f0a659ad (patch) | |
tree | a72a835c64833b31b2195585d018a03433917266 | |
parent | 8980675a9f8f8328a81dde63174115c4a11f02a3 (diff) | |
download | gitea-306aa5bffe7868207ed7b773c1aedbf3f0a659ad.tar.gz gitea-306aa5bffe7868207ed7b773c1aedbf3f0a659ad.zip |
Add support default branch
-rw-r--r-- | models/repo.go | 1 | ||||
-rw-r--r-- | modules/middleware/repo.go | 10 | ||||
-rw-r--r-- | routers/repo/repo.go | 29 | ||||
-rw-r--r-- | templates/install.tmpl | 4 | ||||
-rw-r--r-- | templates/repo/diff.tmpl | 8 | ||||
-rw-r--r-- | templates/repo/setting.tmpl | 11 |
6 files changed, 36 insertions, 27 deletions
diff --git a/models/repo.go b/models/repo.go index 573e0f4e6f..91dc710281 100644 --- a/models/repo.go +++ b/models/repo.go @@ -80,6 +80,7 @@ type Repository struct { IsPrivate bool IsBare bool IsGoget bool + DefaultBranch string Created time.Time `xorm:"created"` Updated time.Time `xorm:"updated"` } diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index 2139742c70..ae9f04b113 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -76,7 +76,7 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler { ctx.Redirect("/") return } - ctx.Handle(404, "RepoAssignment", err) + ctx.Handle(500, "RepoAssignment", err) return } repo.NumOpenIssues = repo.NumIssues - repo.NumClosedIssues @@ -86,7 +86,7 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler { gitRepo, err := git.OpenRepository(models.RepoPath(userName, repoName)) if err != nil { - ctx.Handle(404, "RepoAssignment Invalid repo "+models.RepoPath(userName, repoName), err) + ctx.Handle(500, "RepoAssignment Invalid repo "+models.RepoPath(userName, repoName), err) return } ctx.Repo.GitRepo = gitRepo @@ -138,7 +138,10 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler { } } else { - branchName = "master" + branchName = ctx.Repo.Repository.DefaultBranch + if len(branchName) == 0 { + branchName = "master" + } goto detect } @@ -157,6 +160,7 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler { } ctx.Data["BranchName"] = ctx.Repo.BranchName + ctx.Data["Branches"], _ = models.GetBranches(ctx.User.Name, ctx.Repo.Repository.Name) ctx.Data["CommitId"] = ctx.Repo.CommitId ctx.Data["IsRepositoryWatching"] = ctx.Repo.IsWatching } diff --git a/routers/repo/repo.go b/routers/repo/repo.go index b2897d0f51..1ae4a3740a 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -323,27 +323,29 @@ func SettingPost(ctx *middleware.Context) { switch ctx.Query("action") { case "update": - isNameChanged := false newRepoName := ctx.Query("name") // Check if repository name has been changed. if ctx.Repo.Repository.Name != newRepoName { isExist, err := models.IsRepositoryExist(ctx.Repo.Owner, newRepoName) if err != nil { - ctx.Handle(404, "repo.SettingPost(update: check existence)", err) + ctx.Handle(500, "repo.SettingPost(update: check existence)", err) return } else if isExist { ctx.RenderWithErr("Repository name has been taken in your repositories.", "repo/setting", nil) return } else if err = models.ChangeRepositoryName(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name, newRepoName); err != nil { - ctx.Handle(404, "repo.SettingPost(change repository name)", err) + ctx.Handle(500, "repo.SettingPost(change repository name)", err) return } log.Trace("%s Repository name changed: %s/%s -> %s", ctx.Req.RequestURI, ctx.User.Name, ctx.Repo.Repository.Name, newRepoName) - isNameChanged = true ctx.Repo.Repository.Name = newRepoName } + br := ctx.Query("branch") + if models.IsBranchExist(ctx.User.Name, ctx.Repo.Repository.Name, br) { + ctx.Repo.Repository.DefaultBranch = br + } ctx.Repo.Repository.Description = ctx.Query("desc") ctx.Repo.Repository.Website = ctx.Query("site") ctx.Repo.Repository.IsGoget = ctx.Query("goget") == "on" @@ -351,14 +353,10 @@ func SettingPost(ctx *middleware.Context) { ctx.Handle(404, "repo.SettingPost(update)", err) return } - - ctx.Data["IsSuccess"] = true - if isNameChanged { - ctx.Redirect(fmt.Sprintf("/%s/%s/settings", ctx.Repo.Owner.Name, ctx.Repo.Repository.Name)) - } else { - ctx.HTML(200, "repo/setting") - } log.Trace("%s Repository updated: %s/%s", ctx.Req.RequestURI, ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) + + ctx.Flash.Success("Repository options has been successfully updated.") + ctx.Redirect(fmt.Sprintf("/%s/%s/settings", ctx.Repo.Owner.Name, ctx.Repo.Repository.Name)) case "transfer": if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") { ctx.RenderWithErr("Please make sure you entered repository name is correct.", "repo/setting", nil) @@ -369,19 +367,18 @@ func SettingPost(ctx *middleware.Context) { // Check if new owner exists. isExist, err := models.IsUserExist(newOwner) if err != nil { - ctx.Handle(404, "repo.SettingPost(transfer: check existence)", err) + ctx.Handle(500, "repo.SettingPost(transfer: check existence)", err) return } else if !isExist { ctx.RenderWithErr("Please make sure you entered owner name is correct.", "repo/setting", nil) return } else if err = models.TransferOwnership(ctx.User, newOwner, ctx.Repo.Repository); err != nil { - ctx.Handle(404, "repo.SettingPost(transfer repository)", err) + ctx.Handle(500, "repo.SettingPost(transfer repository)", err) return } log.Trace("%s Repository transfered: %s/%s -> %s", ctx.Req.RequestURI, ctx.User.Name, ctx.Repo.Repository.Name, newOwner) ctx.Redirect("/") - return case "delete": if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") { ctx.RenderWithErr("Please make sure you entered repository name is correct.", "repo/setting", nil) @@ -389,11 +386,11 @@ func SettingPost(ctx *middleware.Context) { } if err := models.DeleteRepository(ctx.User.Id, ctx.Repo.Repository.Id, ctx.User.LowerName); err != nil { - ctx.Handle(200, "repo.Delete", err) + ctx.Handle(500, "repo.Delete", err) return } - log.Trace("%s Repository deleted: %s/%s", ctx.Req.RequestURI, ctx.User.LowerName, ctx.Repo.Repository.LowerName) + ctx.Redirect("/") } } diff --git a/templates/install.tmpl b/templates/install.tmpl index 3aa64ccd4b..c1fd76659c 100644 --- a/templates/install.tmpl +++ b/templates/install.tmpl @@ -184,11 +184,7 @@ <strong>Enable Register Confirmation</strong> </label> </div> - </div> - </div> - <div class="form-group"> - <div class="col-md-offset-3 col-md-7"> <div class="checkbox"> <label> <input name="mail_notify" type="checkbox" {{if .mail_notify}}checked{{end}}> diff --git a/templates/repo/diff.tmpl b/templates/repo/diff.tmpl index 5c95ddefde..396aa795f5 100644 --- a/templates/repo/diff.tmpl +++ b/templates/repo/diff.tmpl @@ -30,12 +30,16 @@ {{range .Diff.Files}} <li> <div class="diff-counter count pull-right"> + {{if Subtract .Addition .Deletion}} <span class="add" data-line="{{.Addition}}">{{.Addition}}</span> <span class="bar"> <span class="pull-left add"></span> <span class="pull-left del"></span> </span> <span class="del" data-line="{{.Deletion}}">{{.Deletion}}</span> + {{else}} + <span>BIN</span> + {{end}} </div> <!-- todo finish all file status, now modify, add, delete and rename --> <span class="status {{DiffTypeToStr .Type}}" data-toggle="tooltip" data-placement="right" title="{{DiffTypeToStr .Type}}"> </span> @@ -49,12 +53,16 @@ <div class="panel panel-default diff-file-box diff-box file-content" id="diff-2"> <div class="panel-heading"> <div class="diff-counter count pull-left"> + {{if Subtract .Addition .Deletion}} <span class="add" data-line="{{.Addition}}">+ {{.Addition}}</span> <span class="bar"> <span class="pull-left add"></span> <span class="pull-left del"></span> </span> <span class="del" data-line="{{.Deletion}}">- {{.Deletion}}</span> + {{else}} + BIN + {{end}} </div> <a class="btn btn-default btn-sm pull-right" href="{{$.SourcePath}}/{{.Name}}">View File</a> <span class="file">{{.Name}}</span> diff --git a/templates/repo/setting.tmpl b/templates/repo/setting.tmpl index 1adf0090c7..ff3b73b59a 100644 --- a/templates/repo/setting.tmpl +++ b/templates/repo/setting.tmpl @@ -12,7 +12,7 @@ </div> <div id="repo-setting-container" class="col-md-9"> - {{if .IsSuccess}}<p class="alert alert-success">Repository options has been successfully updated.</p>{{else if .HasError}}<p class="alert alert-danger form-error">{{.ErrorMsg}}</p>{{end}} + {{template "base/alert" .}} <div class="panel panel-default"> <div class="panel-heading"> Repository Options @@ -44,14 +44,17 @@ </div> </div> <hr> - <!-- <div class="form-group"> + <div class="form-group"> <label class="col-md-3 text-right">Default Branch</label> <div class="col-md-9"> <select name="branch" id="repo-default-branch" class="form-control"> - <option value="">Branch</option> + <option value="{{.Repository.DefaultBranch}}">{{.Repository.DefaultBranch}}</option> + {{range .Branches}} + {{if eq . $.Repository.DefaultBranch}}{{else}}<option value="{{.}}">{{.}}</option>{{end}} + {{end}} </select> </div> - </div> --> + </div> <div class="form-group"> <div class="col-md-offset-3 col-md-9"> |