diff options
author | zeripath <art27@cantab.net> | 2021-12-20 00:32:54 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-20 08:32:54 +0800 |
commit | e4e411821d985cf8f9007d9640909ab9ee271dd7 (patch) | |
tree | 11af3c3a933949d0561f1e292acd8296181a63db /templates | |
parent | b24a965b81d5aa4e7bd87c6a4c6370d7e0ec9a50 (diff) | |
download | gitea-e4e411821d985cf8f9007d9640909ab9ee271dd7.tar.gz gitea-e4e411821d985cf8f9007d9640909ab9ee271dd7.zip |
Abort merge if head has been updated before pressing merge (#18032)
* Abort merge if head has been updated before pressing merge
It is possible that a PR head may be pushed to between the merge page being shown
and the merge button being pressed. Pass the current expected head in as a parameter
and cancel the merge if it has changed.
Fix #18028
Signed-off-by: Andrew Thornton <art27@cantab.net>
* adjust swagger
Signed-off-by: Andrew Thornton <art27@cantab.net>
* fix test
Signed-off-by: Andrew Thornton <art27@cantab.net>
* placate lint
Signed-off-by: Andrew Thornton <art27@cantab.net>
Diffstat (limited to 'templates')
-rw-r--r-- | templates/repo/issue/view_content/pull.tmpl | 5 | ||||
-rw-r--r-- | templates/swagger/v1_json.tmpl | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/templates/repo/issue/view_content/pull.tmpl b/templates/repo/issue/view_content/pull.tmpl index 5a682ea06b..bb80bba7c8 100644 --- a/templates/repo/issue/view_content/pull.tmpl +++ b/templates/repo/issue/view_content/pull.tmpl @@ -327,6 +327,7 @@ <div class="ui form merge-fields" style="display: none"> <form action="{{.Link}}/merge" method="post"> {{.CsrfTokenHtml}} + <input type="hidden" name="head_commit_id" value="{{.PullHeadCommitID}}"> <div class="field"> <input type="text" name="merge_title_field" value="{{.Issue.PullRequest.GetDefaultMergeMessage}}"> </div> @@ -352,6 +353,7 @@ <div class="ui form rebase-fields" style="display: none"> <form action="{{.Link}}/merge" method="post"> {{.CsrfTokenHtml}} + <input type="hidden" name="head_commit_id" value="{{.PullHeadCommitID}}"> <button class="ui green button" type="submit" name="do" value="rebase"> {{$.i18n.Tr "repo.pulls.rebase_merge_pull_request"}} </button> @@ -371,6 +373,7 @@ <div class="ui form rebase-merge-fields" style="display: none"> <form action="{{.Link}}/merge" method="post"> {{.CsrfTokenHtml}} + <input type="hidden" name="head_commit_id" value="{{.PullHeadCommitID}}"> <div class="field"> <input type="text" name="merge_title_field" value="{{.Issue.PullRequest.GetDefaultMergeMessage}}"> </div> @@ -396,6 +399,7 @@ <div class="ui form squash-fields" style="display: none"> <form action="{{.Link}}/merge" method="post"> {{.CsrfTokenHtml}} + <input type="hidden" name="head_commit_id" value="{{.PullHeadCommitID}}"> <div class="field"> <input type="text" name="merge_title_field" value="{{.Issue.PullRequest.GetDefaultSquashMessage}}"> </div> @@ -421,6 +425,7 @@ <div class="ui form manually-merged-fields" style="display: none"> <form action="{{.Link}}/merge" method="post"> {{.CsrfTokenHtml}} + <input type="hidden" name="head_commit_id" value="{{.PullHeadCommitID}}"> <div class="field"> <input type="text" name="merge_commit_id" placeholder="{{$.i18n.Tr "repo.pulls.merge_commit_id"}}"> </div> diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 2735914d25..751d77e6ff 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -15674,6 +15674,10 @@ "force_merge": { "type": "boolean", "x-go-name": "ForceMerge" + }, + "head_commit_id": { + "type": "string", + "x-go-name": "HeadCommitID" } }, "x-go-name": "MergePullRequestForm", |