gitea: Migration issue: PRs broken after upgrade to 1.17.0
Description
After upgrading from 1.12.6 to 1.17.0, I’m running into an issue where any mergable PRs result in server error 500s. Merged PRs and WIP PRs display normally.
Relevant log lines:
2022/08/17 10:58:16 ...vices/pull/update.go:109:IsUserAllowedToUpdate() [E] [62fcc9c8] pr.BaseRepo.GetUnit(unit.TypePullRequests): Unit type does not exist: TypePullRequests
2022/08/17 10:58:16 ...ers/web/repo/pull.go:509:PrepareViewPullInfo() [E] [62fcc9c8] IsUserAllowedToUpdate: Unit type does not exist: TypePullRequests
I followed to recommended upgrade procedure (and also removed any custom templates we had in use previously). The upgrade seems to have gone OK otherwise. gitea doctor also doesn’t show anything wrong.
If possible, a “quick fix” as a workaround for this error would be appreciated as we’re currently unable to perform any merges in gitea which is a showstopper.
Gitea Version
1.17.0
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.37.1
Operating System
CentOS Linux 7.9.2009
How are you running Gitea?
From binary downloaded from gitea.io
Database
MySQL
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 19 (9 by maintainers)
Commits related to this issue
- Fix 500 error viewing pull request when fork has pull requests disabled Fixes #20826 — committed to blender/gitea by brechtvl a year ago
- Fix 500 error viewing pull request when fork has pull requests disabled Fixes #20826 — committed to blender/gitea by brechtvl a year ago
- Fix 500 error viewing pull request when fork has pull requests disabled (#22512) Swallow error just like in #20839, for the case where there is no protected branch. Fixes #20826 for me, though I ... — committed to go-gitea/gitea by brechtvl a year ago
- Fix 500 error viewing pull request when fork has pull requests disabled (#22512) Swallow error just like in #20839, for the case where there is no protected branch. Fixes #20826 for me, though I ... — committed to jolheiser/gitea by brechtvl a year ago
We are running 1.17.1 already and the issue still persists.
OK thanks to some help from the gitea discord I figured out the root cause of this problem. The issues is that the migration apparently flipped off “enable pull requests” for the fork the PR was made upstream from. With the fork’s setting having PRs off, the PR on the upstream repo throws a 500 in 1.17.0 Going into the fork’s setting to enable PRs to the forked repo, it fixes the error on the parent repo.
This is definitely a bug - parent repo PRs should not depend on whether forks have certain settings enabled on them or not, and certainly shouldn’t be throwing a server error as a result 😉
EDIT: See also #20621