forked from forgejo/forgejo
Fix bug on pull requests when transfer head repository (#8564)
* fix bug on pull requests when transfer head repository * add migration and fix lint * fix tests and add a cache check on LoadBaseRepo
This commit is contained in:
parent
fecd8f949d
commit
945f121262
10 changed files with 87 additions and 73 deletions
|
@ -71,7 +71,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)
|
||||
|
@ -306,14 +306,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(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue