Avoid showing `Failed to change the default wiki branch` if repo has no wiki when saving repo settings (#30329)

This commit is contained in:
yp05327 2024-04-08 20:43:23 +09:00 committed by GitHub
parent 074a3e05f6
commit 7d66b9ea65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 0 deletions

View File

@ -226,6 +226,12 @@ func TestWikiRaw(t *testing.T) {
func TestDefaultWikiBranch(t *testing.T) { func TestDefaultWikiBranch(t *testing.T) {
unittest.PrepareTestEnv(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"})) assert.NoError(t, repo_model.UpdateRepositoryCols(db.DefaultContext, &repo_model.Repository{ID: 1, DefaultWikiBranch: "wrong-branch"}))
ctx, _ := contexttest.MockContext(t, "user2/repo1/wiki") ctx, _ := contexttest.MockContext(t, "user2/repo1/wiki")

View File

@ -370,6 +370,10 @@ func ChangeDefaultWikiBranch(ctx context.Context, repo *repo_model.Repository, n
return fmt.Errorf("unable to update database: %w", err) return fmt.Errorf("unable to update database: %w", err)
} }
if !repo.HasWiki() {
return nil
}
oldDefBranch, err := gitrepo.GetWikiDefaultBranch(ctx, repo) oldDefBranch, err := gitrepo.GetWikiDefaultBranch(ctx, repo)
if err != nil { if err != nil {
return fmt.Errorf("unable to get default branch: %w", err) return fmt.Errorf("unable to get default branch: %w", err)