2021-09-16 16:34:54 +03:00
// Copyright 2021 The Gitea Authors. All rights reserved.
2022-11-27 21:20:29 +03:00
// SPDX-License-Identifier: MIT
2021-09-16 16:34:54 +03:00
package private
import (
"fmt"
"net/http"
2021-12-10 04:27:50 +03:00
repo_model "code.gitea.io/gitea/models/repo"
2021-09-16 16:34:54 +03:00
"code.gitea.io/gitea/modules/git"
2024-03-08 10:30:10 +03:00
"code.gitea.io/gitea/modules/gitrepo"
2021-09-16 16:34:54 +03:00
"code.gitea.io/gitea/modules/private"
2024-02-27 10:12:22 +03:00
gitea_context "code.gitea.io/gitea/services/context"
2021-09-16 16:34:54 +03:00
)
// SetDefaultBranch updates the default branch
func SetDefaultBranch ( ctx * gitea_context . PrivateContext ) {
ownerName := ctx . Params ( ":owner" )
repoName := ctx . Params ( ":repo" )
branch := ctx . Params ( ":branch" )
2022-01-20 02:26:57 +03:00
ctx . Repo . Repository . DefaultBranch = branch
2024-03-08 10:30:10 +03:00
if err := gitrepo . SetDefaultBranch ( ctx , ctx . Repo . Repository , ctx . Repo . Repository . DefaultBranch ) ; err != nil {
2021-09-16 16:34:54 +03:00
if ! git . IsErrUnsupportedVersion ( err ) {
ctx . JSON ( http . StatusInternalServerError , private . Response {
Err : fmt . Sprintf ( "Unable to set default branch on repository: %s/%s Error: %v" , ownerName , repoName , err ) ,
} )
return
}
}
2023-09-14 20:09:32 +03:00
if err := repo_model . UpdateDefaultBranch ( ctx , ctx . Repo . Repository ) ; err != nil {
2021-09-16 16:34:54 +03:00
ctx . JSON ( http . StatusInternalServerError , private . Response {
Err : fmt . Sprintf ( "Unable to set default branch on repository: %s/%s Error: %v" , ownerName , repoName , err ) ,
} )
return
}
2021-12-15 09:59:57 +03:00
ctx . PlainText ( http . StatusOK , "success" )
2021-09-16 16:34:54 +03:00
}