99 "fmt"
1010 "os/exec"
1111 "strings"
12+ "time"
1213
1314 "code.gitea.io/git"
1415
@@ -119,11 +120,24 @@ func pushUpdateAddTag(repo *Repository, gitRepo *git.Repository, tagName string)
119120 if err != nil {
120121 return fmt .Errorf ("Commit: %v" , err )
121122 }
122- tagCreatedUnix := commit .Author .When .Unix ()
123123
124- author , err := GetUserByEmail (commit .Author .Email )
125- if err != nil && ! IsErrUserNotExist (err ) {
126- return fmt .Errorf ("GetUserByEmail: %v" , err )
124+ sig := tag .Tagger
125+ if sig == nil {
126+ sig = commit .Author
127+ }
128+ if sig == nil {
129+ sig = commit .Committer
130+ }
131+
132+ var author * User
133+ var createdAt = time .Unix (1 , 0 )
134+
135+ if sig != nil {
136+ author , err = GetUserByEmail (sig .Email )
137+ if err != nil && ! IsErrUserNotExist (err ) {
138+ return fmt .Errorf ("GetUserByEmail: %v" , err )
139+ }
140+ createdAt = sig .When
127141 }
128142
129143 commitsCount , err := commit .CommitsCount ()
@@ -144,7 +158,8 @@ func pushUpdateAddTag(repo *Repository, gitRepo *git.Repository, tagName string)
144158 IsDraft : false ,
145159 IsPrerelease : false ,
146160 IsTag : true ,
147- CreatedUnix : tagCreatedUnix ,
161+ Created : createdAt ,
162+ CreatedUnix : createdAt .Unix (),
148163 }
149164 if author != nil {
150165 rel .PublisherID = author .ID
@@ -155,7 +170,8 @@ func pushUpdateAddTag(repo *Repository, gitRepo *git.Repository, tagName string)
155170 }
156171 } else {
157172 rel .Sha1 = commit .ID .String ()
158- rel .CreatedUnix = tagCreatedUnix
173+ rel .Created = createdAt
174+ rel .CreatedUnix = createdAt .Unix ()
159175 rel .NumCommits = commitsCount
160176 rel .IsDraft = false
161177 if rel .IsTag && author != nil {
0 commit comments