diff --git a/routers/web/repo/wiki_test.go b/routers/web/repo/wiki_test.go index 8b5207f9d..2894c06fb 100644 --- a/routers/web/repo/wiki_test.go +++ b/routers/web/repo/wiki_test.go @@ -226,6 +226,12 @@ func TestWikiRaw(t *testing.T) { func TestDefaultWikiBranch(t *testing.T) { unittest.PrepareTestEnv(t) + // repo with no wiki + repoWithNoWiki := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}) + assert.False(t, repoWithNoWiki.HasWiki()) + assert.NoError(t, wiki_service.ChangeDefaultWikiBranch(db.DefaultContext, repoWithNoWiki, "main")) + + // repo with wiki assert.NoError(t, repo_model.UpdateRepositoryCols(db.DefaultContext, &repo_model.Repository{ID: 1, DefaultWikiBranch: "wrong-branch"})) ctx, _ := contexttest.MockContext(t, "user2/repo1/wiki") diff --git a/services/wiki/wiki.go b/services/wiki/wiki.go index f8387416c..fdcc5feef 100644 --- a/services/wiki/wiki.go +++ b/services/wiki/wiki.go @@ -370,6 +370,10 @@ func ChangeDefaultWikiBranch(ctx context.Context, repo *repo_model.Repository, n return fmt.Errorf("unable to update database: %w", err) } + if !repo.HasWiki() { + return nil + } + oldDefBranch, err := gitrepo.GetWikiDefaultBranch(ctx, repo) if err != nil { return fmt.Errorf("unable to get default branch: %w", err)