]> source.dussan.org Git - gitea.git/commitdiff
fix delete pull head ref for DeleteIssue (#20032)
authora1012112796 <1012112796@qq.com>
Sun, 19 Jun 2022 10:05:15 +0000 (18:05 +0800)
committerGitHub <noreply@github.com>
Sun, 19 Jun 2022 10:05:15 +0000 (18:05 +0800)
* fix delete pull head ref for DeleteIssue

fix #19655

Signed-off-by: a1012112796 <1012112796@qq.com>
* add different help message for delete pull request

Signed-off-by: a1012112796 <1012112796@qq.com>
Co-authored-by: 6543 <6543@obermui.de>
options/locale/locale_en-US.ini
routers/web/repo/issue.go
services/issue/issue.go
templates/repo/issue/view_content/sidebar.tmpl

index 347022fbdb39b9989653d0a6c38ad2e4526e6dbe..72253b36408660e560a0b6232252568c670d3b3e 100644 (file)
@@ -1610,6 +1610,9 @@ pulls.auto_merge_canceled_schedule = The auto merge was canceled for this pull r
 pulls.auto_merge_newly_scheduled_comment = `scheduled this pull request to auto merge when all checks succeed %[1]s`
 pulls.auto_merge_canceled_schedule_comment = `canceled auto merging this pull request when all checks succeed %[1]s`
 
+pulls.delete.title = Delete this pull request?
+pulls.delete.text = Do you really want to delete this pull request? (This will permanently remove all content. Consider closing it instead, if you intend to keep it archived)
+
 milestones.new = New Milestone
 milestones.closed = Closed %s
 milestones.update_ago = Updated %s ago
index 11d2daeeff0da74dcd4722488082a25c857b66f7..5b72ff79af370b3b3dc62332aee4f3e60fe597fa 100644 (file)
@@ -878,6 +878,11 @@ func DeleteIssue(ctx *context.Context) {
                return
        }
 
+       if issue.IsPull {
+               ctx.Redirect(fmt.Sprintf("%s/pulls", ctx.Repo.Repository.HTMLURL()), http.StatusSeeOther)
+               return
+       }
+
        ctx.Redirect(fmt.Sprintf("%s/issues", ctx.Repo.Repository.HTMLURL()), http.StatusSeeOther)
 }
 
index ded281e209e2bcdb02b6cd5c4a8aa86fce3ef2e5..467bc14b845948e92620a912f2b77ee46f0cd398 100644 (file)
@@ -149,7 +149,7 @@ func DeleteIssue(doer *user_model.User, gitRepo *git.Repository, issue *issues_m
 
        // delete pull request related git data
        if issue.IsPull {
-               if err := gitRepo.RemoveReference(fmt.Sprintf("%s%d", git.PullPrefix, issue.PullRequest.Index)); err != nil {
+               if err := gitRepo.RemoveReference(fmt.Sprintf("%s%d/head", git.PullPrefix, issue.PullRequest.Index)); err != nil {
                        return err
                }
        }
index 7a966ce8788f436c0881ab71ccccd5f436e095ae..d58e6e7b9ff4de83b0a146e70ec0ce90b1be1712 100644 (file)
                        </button>
                        <div class="ui basic modal" id="delete">
                                <div class="ui icon header">
-                                       {{.i18n.Tr "repo.issues.delete.title"}}
+                                       {{if .Issue.IsPull}}
+                                               {{.i18n.Tr "repo.pulls.delete.title"}}
+                                       {{else}}
+                                               {{.i18n.Tr "repo.issues.delete.title"}}
+                                       {{end}}
                                </div>
                                <div class="content center">
                                        <p>
-                                               {{.i18n.Tr "repo.issues.delete.text"}}
+                                               {{if .Issue.IsPull}}
+                                                       {{.i18n.Tr "repo.pulls.delete.text"}}
+                                               {{else}}
+                                                       {{.i18n.Tr "repo.issues.delete.text"}}
+                                               {{end}}
                                        </p>
                                </div>
                                <form action="{{.Issue.Link}}/delete" method="post">