]> source.dussan.org Git - gitea.git/commitdiff
Migrate all branches and tags
authorVyacheslav Bakhmutov <m0sth8@yandex-team.ru>
Mon, 25 Aug 2014 13:28:14 +0000 (20:28 +0700)
committerVyacheslav Bakhmutov <m0sth8@yandex-team.ru>
Mon, 25 Aug 2014 13:28:14 +0000 (20:28 +0700)
models/repo.go

index f5d1ca834e29cc6512084e0f9855ef51bb05338f..08c9f8dc2529ff7a92f46c86751689c8fe06c851 100644 (file)
@@ -305,17 +305,17 @@ func MigrateRepository(u *User, name, desc string, private, mirror bool, url str
                return repo, errors.New("git clone: " + stderr)
        }
 
-       // Pull data from source.
+       // Add remote and fetch data.
        if _, stderr, err = process.ExecDir(3*time.Minute,
                tmpDir, fmt.Sprintf("MigrateRepository(git pull): %s", repoPath),
-               "git", "pull", url); err != nil {
-               return repo, errors.New("git pull: " + stderr)
+               "git", "remote", "add", "-f", "--tags", "upstream", url); err != nil {
+               return repo, errors.New("git remote: " + stderr)
        }
 
        // Push data to local repository.
        if _, stderr, err = process.ExecDir(3*time.Minute,
                tmpDir, fmt.Sprintf("MigrateRepository(git push): %s", repoPath),
-               "git", "push", "origin", "master"); err != nil {
+               "git", "push", "--tags", "origin", "refs/remotes/upstream/*:refs/heads/*"); err != nil {
                return repo, errors.New("git push: " + stderr)
        }