diff options
author | Josh Frye <joshfng@gmail.com> | 2016-03-03 12:07:43 -0500 |
---|---|---|
committer | Josh Frye <joshfng@gmail.com> | 2016-03-03 12:23:45 -0500 |
commit | edb7967dc7c1910f54b44e5ea92fea8044d74b9b (patch) | |
tree | 5fb4aba390ca0410ec6b92c0890602760f2b0442 | |
parent | c9901bbba5dd2761f2920d6a122799ee051fc7cd (diff) | |
download | gitea-edb7967dc7c1910f54b44e5ea92fea8044d74b9b.tar.gz gitea-edb7967dc7c1910f54b44e5ea92fea8044d74b9b.zip |
Set DefaultBranch to master when importing a new repo if possible
-rw-r--r-- | models/repo.go | 52 |
1 files 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) } |