]> source.dussan.org Git - gitea.git/commitdiff
Set IsBare true if migrated repo is empty.
authorSina Siadat <siadat@gmail.com>
Sun, 6 Sep 2015 20:34:35 +0000 (01:04 +0430)
committerSina Siadat <siadat@gmail.com>
Sun, 6 Sep 2015 21:50:51 +0000 (02:20 +0430)
Executes `git log -1` and sets IsBare to true if stderr contains this
string:

  fatal: bad default revision 'HEAD'

models/repo.go

index 2835b6f9e3c7b52c26cd2d1094ff6f7f0b5b27d2..06c97baf24bc7ef6c229d9c83a0758cd6cd628ce 100644 (file)
@@ -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 {