From 4d643a59db49ae47870326abb5fed8562e1d71a5 Mon Sep 17 00:00:00 2001
From: zeripath <art27@cantab.net>
Date: Tue, 30 Jul 2019 02:05:33 +0100
Subject: [PATCH] SetDefaultBranch on pushing to empty repository (#7610)

---
 models/action.go | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/models/action.go b/models/action.go
index c819c286e2..0253e2add0 100644
--- a/models/action.go
+++ b/models/action.go
@@ -685,6 +685,17 @@ func CommitRepoAction(opts CommitRepoActionOptions) error {
 	if repo.IsEmpty && opts.NewCommitID != git.EmptySHA && strings.HasPrefix(opts.RefFullName, git.BranchPrefix) {
 		repo.DefaultBranch = refName
 		repo.IsEmpty = false
+		if refName != "master" {
+			gitRepo, err := git.OpenRepository(repo.RepoPath())
+			if err != nil {
+				return err
+			}
+			if err := gitRepo.SetDefaultBranch(repo.DefaultBranch); err != nil {
+				if !git.IsErrUnsupportedVersion(err) {
+					return err
+				}
+			}
+		}
 	}
 
 	// Change repository empty status and update last updated time.