From b121fdd9c60a416087c7d90c1c07001fc18437e4 Mon Sep 17 00:00:00 2001 From: CirnoT <1447794+CirnoT@users.noreply.github.com> Date: Tue, 15 Dec 2020 20:27:12 +0100 Subject: [PATCH] Send push event when tag is created or deleted --- services/repository/push.go | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/services/repository/push.go b/services/repository/push.go index 4ac37c9703d8e..bed5c575fe81d 100644 --- a/services/repository/push.go +++ b/services/repository/push.go @@ -96,7 +96,7 @@ func pushUpdates(optsList []*repo_module.PushUpdateOptions) error { return fmt.Errorf("Old and new revisions are both %s", git.EmptySHA) } var commits = &repo_module.PushCommits{} - if opts.IsTag() { // If is tag reference { + if opts.IsTag() { // If is tag reference if pusher == nil || pusher.ID != opts.PusherID { var err error if pusher, err = models.GetUserByID(opts.PusherID); err != nil { @@ -105,9 +105,25 @@ func pushUpdates(optsList []*repo_module.PushUpdateOptions) error { } tagName := opts.TagName() if opts.IsDelRef() { + notification.NotifyPushCommits( + pusher, repo, + &repo_module.PushUpdateOptions{ + RefFullName: git.TagPrefix + tagName, + OldCommitID: opts.OldCommitID, + NewCommitID: git.EmptySHA, + }, repo_module.NewPushCommits()) + delTags = append(delTags, tagName) notification.NotifyDeleteRef(pusher, repo, "tag", opts.RefFullName) } else { // is new tag + notification.NotifyPushCommits( + pusher, repo, + &repo_module.PushUpdateOptions{ + RefFullName: git.TagPrefix + tagName, + OldCommitID: git.EmptySHA, + NewCommitID: opts.NewCommitID, + }, repo_module.NewPushCommits()) + addTags = append(addTags, tagName) notification.NotifyCreateRef(pusher, repo, "tag", opts.RefFullName) }