diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index bbd1bb734f..9ffcfb4df2 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -238,6 +238,8 @@ var migrations = []Migration{ NewMigration("change length of some repository columns", changeSomeColumnsLengthOfRepo), // v91 -> v92 NewMigration("add index on owner_id of repository and type, review_id of comment", addIndexOnRepositoryAndComment), + // v92 -> v93 + NewMigration("remove orphaned repository index statuses", removeLingeringIndexStatus), } // Migrate database to current version diff --git a/models/migrations/v92.go b/models/migrations/v92.go new file mode 100644 index 0000000000..090332f151 --- /dev/null +++ b/models/migrations/v92.go @@ -0,0 +1,16 @@ +// Copyright 2019 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "github.com/go-xorm/xorm" + "xorm.io/builder" +) + +func removeLingeringIndexStatus(x *xorm.Engine) error { + + _, err := x.Exec(builder.Delete(builder.NotIn("`repo_id`", builder.Select("`id`").From("`repository`"))).From("`repo_indexer_status`")) + return err +} diff --git a/models/ssh_key.go b/models/ssh_key.go index b2a905305a..4f93b5c44f 100644 --- a/models/ssh_key.go +++ b/models/ssh_key.go @@ -685,12 +685,14 @@ func rewriteAllPublicKeys(e Engine) error { } _, err = t.WriteString(line + "\n") if err != nil { + f.Close() return err } } - defer f.Close() + f.Close() } + t.Close() return os.Rename(tmpPath, fPath) } diff --git a/models/webhook_slack.go b/models/webhook_slack.go index f422953e41..9c179bb24a 100644 --- a/models/webhook_slack.go +++ b/models/webhook_slack.go @@ -120,8 +120,8 @@ func getSlackDeletePayload(p *api.DeletePayload, slack *SlackMeta) (*SlackPayloa // getSlackForkPayload composes Slack payload for forked by a repository. func getSlackForkPayload(p *api.ForkPayload, slack *SlackMeta) (*SlackPayload, error) { - baseLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.Name) - forkLink := SlackLinkFormatter(p.Forkee.HTMLURL, p.Forkee.FullName) + baseLink := SlackLinkFormatter(p.Forkee.HTMLURL, p.Forkee.FullName) + forkLink := SlackLinkFormatter(p.Repo.HTMLURL, p.Repo.FullName) text := fmt.Sprintf("%s is forked to %s", baseLink, forkLink) return &SlackPayload{ Channel: slack.Channel,