From f88715e29c8cd6865b69eb8e692d051d977e93a5 Mon Sep 17 00:00:00 2001
From: Brad Albright <32200834+bhalbright@users.noreply.github.com>
Date: Tue, 24 Dec 2019 23:59:41 -0600
Subject: [PATCH] Trigger webhook when deleting a branch after merging a PR
 (#9424)

* fixed so when deleting a branch after merging a PR, a webhook is triggered

* changed to use pr.HeadRepo instead of ctx.Repo when sending webhook for a deletion of branch after merging pr

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
---
 routers/repo/pull.go | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/routers/repo/pull.go b/routers/repo/pull.go
index e4b4a5ac49..932e99290b 100644
--- a/routers/repo/pull.go
+++ b/routers/repo/pull.go
@@ -22,6 +22,7 @@ import (
 	"code.gitea.io/gitea/modules/git"
 	"code.gitea.io/gitea/modules/log"
 	"code.gitea.io/gitea/modules/notification"
+	"code.gitea.io/gitea/modules/repofiles"
 	"code.gitea.io/gitea/modules/setting"
 	"code.gitea.io/gitea/modules/util"
 	"code.gitea.io/gitea/services/gitdiff"
@@ -928,6 +929,21 @@ func CleanUpPullRequest(ctx *context.Context) {
 		return
 	}
 
+	if err := repofiles.PushUpdate(
+		pr.HeadRepo,
+		pr.HeadBranch,
+		repofiles.PushUpdateOptions{
+			RefFullName:  git.BranchPrefix + pr.HeadBranch,
+			OldCommitID:  branchCommitID,
+			NewCommitID:  git.EmptySHA,
+			PusherID:     ctx.User.ID,
+			PusherName:   ctx.User.Name,
+			RepoUserName: pr.HeadRepo.Owner.Name,
+			RepoName:     pr.HeadRepo.Name,
+		}); err != nil {
+		log.Error("Update: %v", err)
+	}
+
 	if err := models.AddDeletePRBranchComment(ctx.User, pr.BaseRepo, issue.ID, pr.HeadBranch); err != nil {
 		// Do not fail here as branch has already been deleted
 		log.Error("DeleteBranch: %v", err)