浏览代码

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 年之前
父节点
当前提交
ae1650824c
共有 1 个文件被更改,包括 6 次插入0 次删除
  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 {