#1742 Update default branch in git repository while change in web view
This commit is contained in:
		
							parent
							
								
									f04d773f4f
								
							
						
					
					
						commit
						2c653141a8
					
				
					 7 changed files with 47 additions and 4 deletions
				
			
		|  | @ -13,6 +13,7 @@ watch_dirs = [ | |||
| watch_exts = [".go"] | ||||
| build_delay = 1500 | ||||
| cmds = [ | ||||
| 	["go", "install"], | ||||
| 	["go", "install", "-race"], # sqlite redis memcache cert pam tidb | ||||
| 	["go", "build", "-race"], | ||||
| 	["./gogs", "web"] | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ Gogs - Go Git Service [ | ||||
| 
 | ||||
| ##### Current version: 0.7.16 Beta | ||||
| ##### Current version: 0.7.17 Beta | ||||
| 
 | ||||
| <table> | ||||
|     <tr> | ||||
|  |  | |||
							
								
								
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								gogs.go
									
									
									
									
									
								
							|  | @ -17,7 +17,7 @@ import ( | |||
| 	"github.com/gogits/gogs/modules/setting" | ||||
| ) | ||||
| 
 | ||||
| const APP_VER = "0.7.16.1118 Beta" | ||||
| const APP_VER = "0.7.17.1118 Beta" | ||||
| 
 | ||||
| func init() { | ||||
| 	runtime.GOMAXPROCS(runtime.NumCPU()) | ||||
|  |  | |||
							
								
								
									
										22
									
								
								modules/git/error.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								modules/git/error.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
| } | ||||
| 
 | ||||
| // 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.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 | ||||
| 			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.Website = form.Website | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 0.7.16.1118 Beta | ||||
| 0.7.17.1118 Beta | ||||
		Loading…
	
		Reference in a new issue