summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--models/release.go4
-rw-r--r--routers/repo/release.go10
2 files changed, 13 insertions, 1 deletions
diff --git a/models/release.go b/models/release.go
index b38c2f5259..c79ff222e5 100644
--- a/models/release.go
+++ b/models/release.go
@@ -39,7 +39,9 @@ type Release struct {
}
func (r *Release) BeforeInsert() {
- r.CreatedUnix = time.Now().Unix()
+ if r.CreatedUnix == 0 {
+ r.CreatedUnix = time.Now().Unix()
+ }
}
func (r *Release) AfterSet(colName string, _ xorm.Cell) {
diff --git a/routers/repo/release.go b/routers/repo/release.go
index 672741c5ba..efbe6c982f 100644
--- a/routers/repo/release.go
+++ b/routers/repo/release.go
@@ -167,6 +167,15 @@ func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) {
return
}
+ var tagCreatedUnix int64
+ tag, err := ctx.Repo.GitRepo.GetTag(form.TagName)
+ if err == nil {
+ commit, err := tag.Commit()
+ if err == nil {
+ tagCreatedUnix = commit.Author.When.Unix()
+ }
+ }
+
commit, err := ctx.Repo.GitRepo.GetBranchCommit(form.Target)
if err != nil {
ctx.Handle(500, "GetBranchCommit", err)
@@ -190,6 +199,7 @@ func NewReleasePost(ctx *context.Context, form auth.NewReleaseForm) {
Note: form.Content,
IsDraft: len(form.Draft) > 0,
IsPrerelease: form.Prerelease,
+ CreatedUnix: tagCreatedUnix,
}
if err = models.CreateRelease(ctx.Repo.GitRepo, rel); err != nil {