Browse Source

Merge pull request #1589 from siadat/migrating-empty-repository

Set IsBare true if migrated repo is empty
无闻 9 years ago
parent
commit
d504ee0417
1 changed files with 6 additions and 0 deletions
  1. 6 0
      models/repo.go

+ 6 - 0
models/repo.go

@@ -470,6 +470,12 @@ func MigrateRepository(u *User, name, desc string, private, mirror bool, url str
 		return repo, fmt.Errorf("create update hook: %v", err)
 	}
 
+	// Check if repository is empty.
+	_, stderr, err = com.ExecCmdDir(repoPath, "git", "log", "-1")
+	if err != nil && strings.Contains(stderr, "fatal: bad default revision 'HEAD'") {
+		repo.IsBare = true
+	}
+
 	// Check if repository has master branch, if so set it to default branch.
 	gitRepo, err := git.OpenRepository(repoPath)
 	if err != nil {