diff --git a/models/migrations/v153.go b/models/migrations/v153.go index a0c09efcaa84c..9d63404270b5d 100644 --- a/models/migrations/v153.go +++ b/models/migrations/v153.go @@ -14,7 +14,7 @@ func addHookTaskPurge(x *xorm.Engine) error { type Repository struct { ID int64 `xorm:"pk autoincr"` IsHookTaskPurgeEnabled bool `xorm:"NOT NULL DEFAULT true"` - NumberWebhookDeliveriesToKeep int64 `xorm:"NOT NULL DEFAULT 10"` + NumberWebhookDeliveriesToKeep int64 `xorm:"NOT NULL DEFAULT -1"` } if err := x.Sync2(new(Repository)); err != nil { diff --git a/models/repo.go b/models/repo.go index f55faaa0c2e2c..0087ce6e2ce06 100644 --- a/models/repo.go +++ b/models/repo.go @@ -238,7 +238,7 @@ type Repository struct { IsFsckEnabled bool `xorm:"NOT NULL DEFAULT true"` CloseIssuesViaCommitInAnyBranch bool `xorm:"NOT NULL DEFAULT false"` IsHookTaskPurgeEnabled bool `xorm:"NOT NULL DEFAULT true"` - NumberWebhookDeliveriesToKeep int64 `xorm:"NOT NULL DEFAULT 10"` + NumberWebhookDeliveriesToKeep int64 `xorm:"NOT NULL DEFAULT -1"` Topics []string `xorm:"TEXT JSON"` TrustModel TrustModelType diff --git a/modules/repository/create.go b/modules/repository/create.go index dba5c680e1ceb..dbbf8e4ef6c02 100644 --- a/modules/repository/create.go +++ b/modules/repository/create.go @@ -40,7 +40,6 @@ func CreateRepository(doer, u *models.User, opts models.CreateRepoOptions) (_ *m IsFsckEnabled: !opts.IsMirror, CloseIssuesViaCommitInAnyBranch: setting.Repository.DefaultCloseIssuesViaCommitsInAnyBranch, IsHookTaskPurgeEnabled: setting.Repository.DefaultIsHookTaskPurgeEnabled, - NumberWebhookDeliveriesToKeep: setting.Repository.DefaultNumberWebhookDeliveriesToKeep, Status: opts.Status, IsEmpty: !opts.AutoInit, TrustModel: opts.TrustModel, diff --git a/modules/repository/prune_hook_task.go b/modules/repository/prune_hook_task.go index db511db9bb5cd..63d8016c4f902 100644 --- a/modules/repository/prune_hook_task.go +++ b/modules/repository/prune_hook_task.go @@ -10,6 +10,7 @@ import ( "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/setting" "xorm.io/builder" ) @@ -21,7 +22,7 @@ func PruneHookTaskTable(ctx context.Context) error { if err := models.Iterate( models.DefaultDBContext(), new(models.Repository), - builder.Expr("id>0 AND is_hook_task_purge_enabled=?", true), + builder.Gt{"id": 0}.And(builder.Eq{"is_hook_task_purge_enabled": true}), func(idx int, bean interface{}) error { select { case <-ctx.Done(): @@ -29,6 +30,9 @@ func PruneHookTaskTable(ctx context.Context) error { default: } repo := bean.(*models.Repository) + if repo.NumberWebhookDeliveriesToKeep < 0 { + repo.NumberWebhookDeliveriesToKeep = setting.Repository.DefaultNumberWebhookDeliveriesToKeep + } repoPath := repo.RepoPath() log.Trace("Running prune hook_task table on repository %s", repoPath) if err := models.DeleteDeliveredHookTasks(repo.ID, repo.NumberWebhookDeliveriesToKeep); err != nil {