| @@ -13,6 +13,7 @@ watch_dirs = [ | |||||
| watch_exts = [".go"] | watch_exts = [".go"] | ||||
| build_delay = 1500 | build_delay = 1500 | ||||
| cmds = [ | cmds = [ | ||||
| ["go", "install"], | |||||
| ["go", "install", "-race"], # sqlite redis memcache cert pam tidb | ["go", "install", "-race"], # sqlite redis memcache cert pam tidb | ||||
| ["go", "build", "-race"], | ["go", "build", "-race"], | ||||
| ["./gogs", "web"] | ["./gogs", "web"] | ||||
| @@ -5,7 +5,7 @@ Gogs - Go Git Service [ |  | ||||
| ##### Current version: 0.7.16 Beta | |||||
| ##### Current version: 0.7.17 Beta | |||||
| <table> | <table> | ||||
| <tr> | <tr> | ||||
| @@ -17,7 +17,7 @@ import ( | |||||
| "github.com/gogits/gogs/modules/setting" | "github.com/gogits/gogs/modules/setting" | ||||
| ) | ) | ||||
| const APP_VER = "0.7.16.1118 Beta" | |||||
| const APP_VER = "0.7.17.1118 Beta" | |||||
| func init() { | func init() { | ||||
| runtime.GOMAXPROCS(runtime.NumCPU()) | runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
| @@ -0,0 +1,22 @@ | |||||
| // Copyright 2015 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 git | |||||
| import ( | |||||
| "fmt" | |||||
| ) | |||||
| type ErrUnsupportedVersion struct { | |||||
| Required string | |||||
| } | |||||
| func IsErrUnsupportedVersion(err error) bool { | |||||
| _, ok := err.(ErrUnsupportedVersion) | |||||
| return ok | |||||
| } | |||||
| func (err ErrUnsupportedVersion) Error() string { | |||||
| return fmt.Sprintf("Operation requires higher version [required: %s]", err.Required) | |||||
| } | |||||
| @@ -35,3 +35,16 @@ func (repo *Repository) GetBranches() ([]string, error) { | |||||
| } | } | ||||
| return branches, nil | return branches, nil | ||||
| } | } | ||||
| // SetDefaultBranch sets default branch of repository. | |||||
| func (repo *Repository) SetDefaultBranch(branchName string) error { | |||||
| if gitVer.LessThan(MustParseVersion("1.7.10")) { | |||||
| return ErrUnsupportedVersion{"1.7.10"} | |||||
| } | |||||
| _, stderr, err := com.ExecCmdDir(repo.Path, "git", "symbolic-ref", "HEAD", "refs/heads/"+branchName) | |||||
| if err != nil { | |||||
| return concatenateError(err, stderr) | |||||
| } | |||||
| return nil | |||||
| } | |||||
| @@ -80,8 +80,15 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) { | |||||
| repo.Name = newRepoName | repo.Name = newRepoName | ||||
| repo.LowerName = strings.ToLower(newRepoName) | repo.LowerName = strings.ToLower(newRepoName) | ||||
| if ctx.Repo.GitRepo.IsBranchExist(form.Branch) { | |||||
| if ctx.Repo.GitRepo.IsBranchExist(form.Branch) && | |||||
| repo.DefaultBranch != form.Branch { | |||||
| repo.DefaultBranch = form.Branch | repo.DefaultBranch = form.Branch | ||||
| if err := ctx.Repo.GitRepo.SetDefaultBranch(form.Branch); err != nil { | |||||
| if !git.IsErrUnsupportedVersion(err) { | |||||
| ctx.Handle(500, "SetDefaultBranch", err) | |||||
| return | |||||
| } | |||||
| } | |||||
| } | } | ||||
| repo.Description = form.Description | repo.Description = form.Description | ||||
| repo.Website = form.Website | repo.Website = form.Website | ||||
| @@ -1 +1 @@ | |||||
| 0.7.16.1118 Beta | |||||
| 0.7.17.1118 Beta | |||||