mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 19:38:23 +00:00 
			
		
		
		
	Handle setting default branch via API (#9030)
This commit is contained in:
		
				
					committed by
					
						 techknowlogick
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							86cff86b46
						
					
				
				
					commit
					184e47f6ce
				
			| @@ -606,7 +606,7 @@ func RegisterRoutes(m *macaron.Macaron) { | ||||
| 			m.Group("/:username/:reponame", func() { | ||||
| 				m.Combo("").Get(reqAnyRepoReader(), repo.Get). | ||||
| 					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.Combo("").Get(repo.ListHooks). | ||||
| 						Post(bind(api.CreateHookOption{}), repo.CreateHook) | ||||
|   | ||||
| @@ -17,6 +17,7 @@ import ( | ||||
| 	"code.gitea.io/gitea/modules/auth" | ||||
| 	"code.gitea.io/gitea/modules/context" | ||||
| 	"code.gitea.io/gitea/modules/convert" | ||||
| 	"code.gitea.io/gitea/modules/git" | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 	"code.gitea.io/gitea/modules/migrations" | ||||
| 	"code.gitea.io/gitea/modules/notification" | ||||
| @@ -687,6 +688,17 @@ func updateBasicProperties(ctx *context.APIContext, opts api.EditRepoOption) err | ||||
| 		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 { | ||||
| 		ctx.Error(http.StatusInternalServerError, "UpdateRepository", err) | ||||
| 		return err | ||||
|   | ||||
		Reference in New Issue
	
	Block a user