From 7f0e137bc25abf4ce5216efb8998e40905b032e8 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Wed, 23 Sep 2020 08:18:13 +0200 Subject: [PATCH 1/2] Repo Default: use Global Default --- models/migrations/v153.go | 2 +- models/repo.go | 2 +- modules/repository/create.go | 1 - modules/repository/prune_hook_task.go | 6 +++++- 4 files changed, 7 insertions(+), 4 deletions(-) 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..549fe0c2d00d0 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 { From f6ff70707c0a4e28fc627d63c657d0b5c89dd6a2 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Wed, 23 Sep 2020 08:30:16 +0200 Subject: [PATCH 2/2] Update modules/repository/prune_hook_task.go --- modules/repository/prune_hook_task.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/repository/prune_hook_task.go b/modules/repository/prune_hook_task.go index 549fe0c2d00d0..63d8016c4f902 100644 --- a/modules/repository/prune_hook_task.go +++ b/modules/repository/prune_hook_task.go @@ -22,7 +22,7 @@ func PruneHookTaskTable(ctx context.Context) error { if err := models.Iterate( models.DefaultDBContext(), new(models.Repository), - builder.Gt{"ID": 0}.And(builder.Eq{"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():