diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2019-10-19 15:29:35 +0800 |
---|---|---|
committer | zeripath <art27@cantab.net> | 2019-10-19 08:29:35 +0100 |
commit | 22cea96c18e1746ccef1589b355b502c0fda445d (patch) | |
tree | 6f78db6ddfec2822444dd893e79aff822e85b25c /services | |
parent | 7565ac02c217272fa35450171b8759347fb046fc (diff) | |
download | gitea-22cea96c18e1746ccef1589b355b502c0fda445d.tar.gz gitea-22cea96c18e1746ccef1589b355b502c0fda445d.zip |
Fix bug on pull requests when transfer head repository (#8564) (#8569)
* fix bug on pull requests when transfer head repository
* add migration and fix lint
* fix tests and add a cache check on LoadBaseRepo
Diffstat (limited to 'services')
-rw-r--r-- | services/pull/merge.go | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/services/pull/merge.go b/services/pull/merge.go index e83784f31e..6a1c30a63e 100644 --- a/services/pull/merge.go +++ b/services/pull/merge.go @@ -65,7 +65,7 @@ func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repositor } }() - headRepoPath := models.RepoPath(pr.HeadUserName, pr.HeadRepo.Name) + headRepoPath := pr.HeadRepo.RepoPath() if err := git.InitRepository(tmpBasePath, false); err != nil { return fmt.Errorf("git init: %v", err) @@ -260,14 +260,17 @@ func Merge(pr *models.PullRequest, doer *models.User, baseGitRepo *git.Repositor } } - headUser, err := models.GetUserByName(pr.HeadUserName) + var headUser *models.User + err = pr.HeadRepo.GetOwner() if err != nil { if !models.IsErrUserNotExist(err) { - log.Error("Can't find user: %s for head repository - %v", pr.HeadUserName, err) + log.Error("Can't find user: %d for head repository - %v", pr.HeadRepo.OwnerID, err) return err } - log.Error("Can't find user: %s for head repository - defaulting to doer: %s - %v", pr.HeadUserName, doer.Name, err) + log.Error("Can't find user: %d for head repository - defaulting to doer: %s - %v", pr.HeadRepo.OwnerID, doer.Name, err) headUser = doer + } else { + headUser = pr.HeadRepo.Owner } env := models.FullPushingEnvironment( |