diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-12-15 11:28:51 +0800 |
---|---|---|
committer | Antoine GIRARD <sapk@users.noreply.github.com> | 2019-12-15 04:28:51 +0100 |
commit | ce2d488c9497c12105935d363b66136a0c2bd0b5 (patch) | |
tree | 65f73708a844d3fb7a5e05290fc6c0ddf5cfafdd /models | |
parent | 6715677b2bf7a065d0184ea7f2647e70ca2598d4 (diff) | |
download | gitea-ce2d488c9497c12105935d363b66136a0c2bd0b5.tar.gz gitea-ce2d488c9497c12105935d363b66136a0c2bd0b5.zip |
Move PushToBaseRepo from models to services/pull (#9352)
Diffstat (limited to 'models')
-rw-r--r-- | models/pull.go | 44 | ||||
-rw-r--r-- | models/pull_test.go | 2 |
2 files changed, 0 insertions, 46 deletions
diff --git a/models/pull.go b/models/pull.go index 33adc3214f..3af51112d4 100644 --- a/models/pull.go +++ b/models/pull.go @@ -7,8 +7,6 @@ package models import ( "fmt" - "os" - "path" "strings" "code.gitea.io/gitea/modules/git" @@ -631,48 +629,6 @@ func (pr *PullRequest) UpdateCols(cols ...string) error { return err } -// PushToBaseRepo pushes commits from branches of head repository to -// corresponding branches of base repository. -// FIXME: Only push branches that are actually updates? -func (pr *PullRequest) PushToBaseRepo() (err error) { - log.Trace("PushToBaseRepo[%d]: pushing commits to base repo '%s'", pr.BaseRepoID, pr.GetGitRefName()) - - headRepoPath := pr.HeadRepo.RepoPath() - headGitRepo, err := git.OpenRepository(headRepoPath) - if err != nil { - return fmt.Errorf("OpenRepository: %v", err) - } - defer headGitRepo.Close() - - tmpRemoteName := fmt.Sprintf("tmp-pull-%d", pr.ID) - if err = headGitRepo.AddRemote(tmpRemoteName, pr.BaseRepo.RepoPath(), false); err != nil { - return fmt.Errorf("headGitRepo.AddRemote: %v", err) - } - // Make sure to remove the remote even if the push fails - defer func() { - if err := headGitRepo.RemoveRemote(tmpRemoteName); err != nil { - log.Error("PushToBaseRepo: RemoveRemote: %s", err) - } - }() - - headFile := pr.GetGitRefName() - - // Remove head in case there is a conflict. - file := path.Join(pr.BaseRepo.RepoPath(), headFile) - - _ = os.Remove(file) - - if err = git.Push(headRepoPath, git.PushOptions{ - Remote: tmpRemoteName, - Branch: fmt.Sprintf("%s:%s", pr.HeadBranch, headFile), - Force: true, - }); err != nil { - return fmt.Errorf("Push: %v", err) - } - - return nil -} - // IsWorkInProgress determine if the Pull Request is a Work In Progress by its title func (pr *PullRequest) IsWorkInProgress() bool { if err := pr.LoadIssue(); err != nil { diff --git a/models/pull_test.go b/models/pull_test.go index 6f799c1c82..325818e0bf 100644 --- a/models/pull_test.go +++ b/models/pull_test.go @@ -190,8 +190,6 @@ func TestPullRequest_UpdateCols(t *testing.T) { CheckConsistencyFor(t, pr) } -// TODO TestPullRequest_PushToBaseRepo - func TestPullRequestList_LoadAttributes(t *testing.T) { assert.NoError(t, PrepareTestDatabase()) |