Browse Source

Set IsBare true if migrated repo is empty.

Executes `git log -1` and sets IsBare to true if stderr contains this
string:

  fatal: bad default revision 'HEAD'
Sina Siadat 9 years ago
parent
commit
ae1650824c
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 {