From 66379ba7aed3d00633608b265617aab31de16979 Mon Sep 17 00:00:00 2001 From: Cirno the Strongest <1447794+CirnoT@users.noreply.github.com> Date: Wed, 16 Dec 2020 13:41:21 +0100 Subject: [PATCH] Send push event when tag is created or deleted (#13999) Co-authored-by: zeripath Co-authored-by: Lunny Xiao --- 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 4ac37c970..bed5c575f 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) }