Allow fast-forward-only merge when signed commits are required (#37335)
Fast-forward-only creates no Gitea commit, so skip the "can Gitea sign" precheck for it. Pre-check head-commit verification for styles that preserve user commits on the target (merge, fast-forward-only) so a PR with unsigned commits surfaces a localized error instead of a 500 at the pre-receive hook. The dropdown still shows every configured style; the avatar and signing warning toggle per selection via data-pull-merge-style. Fixes #12272 **Note**: Admin force-merge does not bypass the new head-commits check. This matches the existing `isSignedIfRequired` behavior. Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com> Signed-off-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: Claude (Opus 4.7) <noreply@anthropic.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -1850,6 +1850,7 @@
|
||||
"repo.pulls.merge_manually": "Manually merged",
|
||||
"repo.pulls.merge_commit_id": "The merge commit ID",
|
||||
"repo.pulls.require_signed_wont_sign": "The branch requires signed commits but this merge will not be signed",
|
||||
"repo.pulls.require_signed_head_commits_unverified": "The branch requires signed commits but one or more commits on this pull request are not verified",
|
||||
"repo.pulls.invalid_merge_option": "You cannot use this merge option for this pull request.",
|
||||
"repo.pulls.merge_conflict": "Merge Failed: There was a conflict while merging. Hint: Try a different strategy.",
|
||||
"repo.pulls.merge_conflict_summary": "Error Message",
|
||||
|
||||
Reference in New Issue
Block a user