Skip to content
7 changes: 5 additions & 2 deletions routers/web/repo/setting/setting.go
Original file line number Diff line number Diff line change
Expand Up @@ -208,11 +208,14 @@ func handleSettingsPostUpdate(ctx *context.Context) {
repo.IsTemplate = form.Template

// Visibility of forked repository is forced sync with base repository.
visibilityChanged := false
if repo.IsFork {
form.Private = repo.BaseRepo.IsPrivate || repo.BaseRepo.Owner.Visibility == structs.VisibleTypePrivate
preVisibility := repo.IsPrivate
repo.IsPrivate = repo.BaseRepo.IsPrivate || repo.BaseRepo.Owner.Visibility == structs.VisibleTypePrivate
visibilityChanged = preVisibility != repo.IsPrivate
}

if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
if err := repo_service.UpdateRepository(ctx, repo, visibilityChanged); err != nil {
ctx.ServerError("UpdateRepository", err)
return
}
Expand Down