From edb7967dc7c1910f54b44e5ea92fea8044d74b9b Mon Sep 17 00:00:00 2001 From: Josh Frye Date: Thu, 3 Mar 2016 12:07:43 -0500 Subject: [PATCH] Set DefaultBranch to master when importing a new repo if possible --- models/repo.go | 52 ++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/models/repo.go b/models/repo.go index cb040d5b34..30abc5d430 100644 --- a/models/repo.go +++ b/models/repo.go @@ -662,6 +662,33 @@ func MigrateRepository(u *User, opts MigrateRepoOptions) (*Repository, error) { return repo, fmt.Errorf("Clone: %v", err) } + // Check if repository is empty. + _, stderr, err := com.ExecCmdDir(repoPath, "git", "log", "-1") + if err != nil { + if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") { + repo.IsBare = true + } else { + return repo, fmt.Errorf("check bare: %v - %s", err, stderr) + } + } + + if !repo.IsBare { + // Try to get HEAD branch and set it as default branch. + gitRepo, err := git.OpenRepository(repoPath) + if err != nil { + log.Error(4, "OpenRepository: %v", err) + return repo, nil + } + headBranch, err := gitRepo.GetHEADBranch() + if err != nil { + log.Error(4, "GetHEADBranch: %v", err) + return repo, nil + } + if headBranch != nil { + repo.DefaultBranch = headBranch.Name + } + } + if opts.IsMirror { if _, err = x.InsertOne(&Mirror{ RepoID: repo.ID, @@ -696,31 +723,6 @@ func CleanUpMigrateInfo(repo *Repository, repoPath string) (*Repository, error) return repo, fmt.Errorf("save config file: %v", err) } - // Check if repository is empty. - _, stderr, err := com.ExecCmdDir(repoPath, "git", "log", "-1") - if err != nil { - if strings.Contains(stderr, "fatal: bad default revision 'HEAD'") { - repo.IsBare = true - } else { - return repo, fmt.Errorf("check bare: %v - %s", err, stderr) - } - } - - // Try to get HEAD branch and set it as default branch. - gitRepo, err := git.OpenRepository(repoPath) - if err != nil { - log.Error(4, "OpenRepository: %v", err) - return repo, nil - } - headBranch, err := gitRepo.GetHEADBranch() - if err != nil { - log.Error(4, "GetHEADBranch: %v", err) - return repo, nil - } - if headBranch != nil { - repo.DefaultBranch = headBranch.Name - } - return repo, UpdateRepository(repo, false) }