mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-04 01:34:27 +00:00 
			
		
		
		
	Handle setting default branch via API (#9030)
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							86cff86b46
						
					
				
				
					commit
					184e47f6ce
				
			@@ -606,7 +606,7 @@ func RegisterRoutes(m *macaron.Macaron) {
 | 
				
			|||||||
			m.Group("/:username/:reponame", func() {
 | 
								m.Group("/:username/:reponame", func() {
 | 
				
			||||||
				m.Combo("").Get(reqAnyRepoReader(), repo.Get).
 | 
									m.Combo("").Get(reqAnyRepoReader(), repo.Get).
 | 
				
			||||||
					Delete(reqToken(), reqOwner(), repo.Delete).
 | 
										Delete(reqToken(), reqOwner(), repo.Delete).
 | 
				
			||||||
					Patch(reqToken(), reqAdmin(), bind(api.EditRepoOption{}), repo.Edit)
 | 
										Patch(reqToken(), reqAdmin(), bind(api.EditRepoOption{}), context.RepoRef(), repo.Edit)
 | 
				
			||||||
				m.Group("/hooks", func() {
 | 
									m.Group("/hooks", func() {
 | 
				
			||||||
					m.Combo("").Get(repo.ListHooks).
 | 
										m.Combo("").Get(repo.ListHooks).
 | 
				
			||||||
						Post(bind(api.CreateHookOption{}), repo.CreateHook)
 | 
											Post(bind(api.CreateHookOption{}), repo.CreateHook)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,6 +17,7 @@ import (
 | 
				
			|||||||
	"code.gitea.io/gitea/modules/auth"
 | 
						"code.gitea.io/gitea/modules/auth"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/context"
 | 
						"code.gitea.io/gitea/modules/context"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/convert"
 | 
						"code.gitea.io/gitea/modules/convert"
 | 
				
			||||||
 | 
						"code.gitea.io/gitea/modules/git"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/log"
 | 
						"code.gitea.io/gitea/modules/log"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/migrations"
 | 
						"code.gitea.io/gitea/modules/migrations"
 | 
				
			||||||
	"code.gitea.io/gitea/modules/notification"
 | 
						"code.gitea.io/gitea/modules/notification"
 | 
				
			||||||
@@ -687,6 +688,17 @@ func updateBasicProperties(ctx *context.APIContext, opts api.EditRepoOption) err
 | 
				
			|||||||
		repo.IsTemplate = *opts.Template
 | 
							repo.IsTemplate = *opts.Template
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Default branch only updated if changed and exist
 | 
				
			||||||
 | 
						if opts.DefaultBranch != nil && repo.DefaultBranch != *opts.DefaultBranch && ctx.Repo.GitRepo.IsBranchExist(*opts.DefaultBranch) {
 | 
				
			||||||
 | 
							if err := ctx.Repo.GitRepo.SetDefaultBranch(*opts.DefaultBranch); err != nil {
 | 
				
			||||||
 | 
								if !git.IsErrUnsupportedVersion(err) {
 | 
				
			||||||
 | 
									ctx.Error(http.StatusInternalServerError, "SetDefaultBranch", err)
 | 
				
			||||||
 | 
									return err
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							repo.DefaultBranch = *opts.DefaultBranch
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if err := models.UpdateRepository(repo, visibilityChanged); err != nil {
 | 
						if err := models.UpdateRepository(repo, visibilityChanged); err != nil {
 | 
				
			||||||
		ctx.Error(http.StatusInternalServerError, "UpdateRepository", err)
 | 
							ctx.Error(http.StatusInternalServerError, "UpdateRepository", err)
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user