2023-09-13 07:43:31 +03:00
// Copyright 2023 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package setting
import (
"net/http"
2024-01-13 00:50:38 +03:00
git_model "code.gitea.io/gitea/models/git"
2023-09-13 07:43:31 +03:00
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/routers/web/repo"
2024-02-27 10:12:22 +03:00
"code.gitea.io/gitea/services/context"
2024-01-13 00:50:38 +03:00
repo_service "code.gitea.io/gitea/services/repository"
2023-09-13 07:43:31 +03:00
)
// SetDefaultBranchPost set default branch
func SetDefaultBranchPost ( ctx * context . Context ) {
ctx . Data [ "Title" ] = ctx . Tr ( "repo.settings.branches.update_default_branch" )
ctx . Data [ "PageIsSettingsBranches" ] = true
repo . PrepareBranchList ( ctx )
if ctx . Written ( ) {
return
}
repo := ctx . Repo . Repository
switch ctx . FormString ( "action" ) {
case "default_branch" :
if ctx . HasError ( ) {
ctx . HTML ( http . StatusOK , tplBranches )
return
}
branch := ctx . FormString ( "branch" )
2024-01-13 00:50:38 +03:00
if err := repo_service . SetRepoDefaultBranch ( ctx , ctx . Repo . Repository , ctx . Repo . GitRepo , branch ) ; err != nil {
switch {
case git_model . IsErrBranchNotExist ( err ) :
ctx . Status ( http . StatusNotFound )
default :
2023-09-13 07:43:31 +03:00
ctx . ServerError ( "SetDefaultBranch" , err )
}
2024-01-13 00:50:38 +03:00
return
2023-09-13 07:43:31 +03:00
}
log . Trace ( "Repository basic settings updated: %s/%s" , ctx . Repo . Owner . Name , repo . Name )
ctx . Flash . Success ( ctx . Tr ( "repo.settings.update_settings_success" ) )
ctx . Redirect ( setting . AppSubURL + ctx . Req . URL . EscapedPath ( ) )
default :
ctx . NotFound ( "" , nil )
}
}