From 7dc8db9ea8442f0c30a591c1627e85b27c6bde46 Mon Sep 17 00:00:00 2001 From: techknowlogick Date: Wed, 17 Jun 2020 19:32:06 -0400 Subject: [PATCH] Global default branch setting (#11918) (#11937) * Global default branch setting (#11918) * Global default branch setting * add to app.ini example per @silverwind * update per @lunny Co-authored-by: John Olheiser * Update modules/setting/repository.go Co-authored-by: John Olheiser --- custom/conf/app.ini.sample | 2 ++ docs/content/doc/advanced/config-cheat-sheet.en-us.md | 1 + modules/repository/init.go | 3 ++- modules/setting/repository.go | 2 ++ routers/repo/repo.go | 1 + templates/repo/create.tmpl | 2 +- templates/repo/empty.tmpl | 3 ++- 7 files changed, 11 insertions(+), 3 deletions(-) diff --git a/custom/conf/app.ini.sample b/custom/conf/app.ini.sample index de25f824029f..aef5972f6bf1 100644 --- a/custom/conf/app.ini.sample +++ b/custom/conf/app.ini.sample @@ -50,6 +50,8 @@ DISABLED_REPO_UNITS = DEFAULT_REPO_UNITS = repo.code,repo.releases,repo.issues,repo.pulls,repo.wiki ; Prefix archive files by placing them in a directory named after the repository PREFIX_ARCHIVE_FILES = true +; The default branch name of new repositories +DEFAULT_BRANCH=master [repository.editor] ; List of file extensions for which lines should be wrapped in the Monaco editor diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md index 90baa18c9809..cb5aad35583c 100644 --- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md +++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md @@ -69,6 +69,7 @@ Values containing `#` or `;` must be quoted using `` ` `` or `"""`. - `ENABLE_PUSH_CREATE_USER`: **false**: Allow users to push local repositories to Gitea and have them automatically created for a user. - `ENABLE_PUSH_CREATE_ORG`: **false**: Allow users to push local repositories to Gitea and have them automatically created for an org. - `PREFIX_ARCHIVE_FILES`: **true**: Prefix archive files by placing them in a directory named after the repository. +- `DEFAULT_BRANCH`: **master**: Default branch name of all repositories. ### Repository - Pull Request (`repository.pull-request`) diff --git a/modules/repository/init.go b/modules/repository/init.go index f468ca0435fc..8f3f2f05906e 100644 --- a/modules/repository/init.go +++ b/modules/repository/init.go @@ -16,6 +16,7 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" "github.com/mcuadros/go-version" "github.com/unknwon/com" @@ -147,7 +148,7 @@ func initRepoCommit(tmpPath string, repo *models.Repository, u *models.User, def } if len(defaultBranch) == 0 { - defaultBranch = "master" + defaultBranch = setting.Repository.DefaultBranch } if stdout, err := git.NewCommand("push", "origin", "master:"+defaultBranch). diff --git a/modules/setting/repository.go b/modules/setting/repository.go index 8af3eaaf4693..164ba733e7e1 100644 --- a/modules/setting/repository.go +++ b/modules/setting/repository.go @@ -40,6 +40,7 @@ var ( DisabledRepoUnits []string DefaultRepoUnits []string PrefixArchiveFiles bool + DefaultBranch string // Repository editor settings Editor struct { @@ -201,6 +202,7 @@ func newRepository() { Repository.DisableHTTPGit = sec.Key("DISABLE_HTTP_GIT").MustBool() Repository.UseCompatSSHURI = sec.Key("USE_COMPAT_SSH_URI").MustBool() Repository.MaxCreationLimit = sec.Key("MAX_CREATION_LIMIT").MustInt(-1) + Repository.DefaultBranch = sec.Key("DEFAULT_BRANCH").MustString("master") RepoRootPath = sec.Key("ROOT").MustString(path.Join(homeDir, "gitea-repositories")) forcePathSeparator(RepoRootPath) if !filepath.IsAbs(RepoRootPath) { diff --git a/routers/repo/repo.go b/routers/repo/repo.go index b0bb608d09b1..4d363820e6db 100644 --- a/routers/repo/repo.go +++ b/routers/repo/repo.go @@ -134,6 +134,7 @@ func Create(ctx *context.Context) { ctx.Data["readme"] = "Default" ctx.Data["private"] = getRepoPrivate(ctx) ctx.Data["IsForcedPrivate"] = setting.Repository.ForcePrivate + ctx.Data["default_branch"] = setting.Repository.DefaultBranch ctxUser := checkContextUser(ctx, ctx.QueryInt64("org")) if ctx.Written() { diff --git a/templates/repo/create.tmpl b/templates/repo/create.tmpl index cad60126ef9c..c4b25c73d831 100644 --- a/templates/repo/create.tmpl +++ b/templates/repo/create.tmpl @@ -165,7 +165,7 @@
- +
diff --git a/templates/repo/empty.tmpl b/templates/repo/empty.tmpl index 8efb6d28664f..9aa0706c29ea 100644 --- a/templates/repo/empty.tmpl +++ b/templates/repo/empty.tmpl @@ -49,10 +49,11 @@
touch README.md
 git init
+{{if ne .Repository.DefaultBranch "master"}}git branch -m master {{.Repository.DefaultBranch}}{{end}}
 git add README.md
 git commit -m "first commit"
 git remote add origin {{if $.DisableSSH}}{{$.CloneLink.HTTPS}}{{else}}{{$.CloneLink.SSH}}{{end}}
-git push -u origin {{if ne .Repository.DefaultBranch "master"}}master:{{.Repository.DefaultBranch}}{{else}}master{{end}}
+git push -u origin {{.Repository.DefaultBranch}}