]> source.dussan.org Git - gitea.git/commitdiff
Send push event when tag is created or deleted (#13999)
authorCirno the Strongest <1447794+CirnoT@users.noreply.github.com>
Wed, 16 Dec 2020 12:41:21 +0000 (13:41 +0100)
committerGitHub <noreply@github.com>
Wed, 16 Dec 2020 12:41:21 +0000 (14:41 +0200)
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
services/repository/push.go

index 4ac37c9703d8e37c0abfdab8758d969c016b8cfd..bed5c575fe81d457a641ab812c3a83fbc934ba3e 100644 (file)
@@ -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)
                        }