Skip to content

Commit 7881a93

Browse files
committed
Merge remote-tracking branch 'giteaofficial/main'
* giteaofficial/main: [skip ci] Updated translations via Crowdin Use standalone function to update repository cols (go-gitea#34811)
2 parents e0ab522 + 376bf01 commit 7881a93

File tree

6 files changed

+38
-50
lines changed

6 files changed

+38
-50
lines changed

models/repo/update.go

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,21 +40,15 @@ func UpdateRepositoryUpdatedTime(ctx context.Context, repoID int64, updateTime t
4040
return err
4141
}
4242

43-
// UpdateRepositoryColsWithAutoTime updates repository's columns
44-
func UpdateRepositoryColsWithAutoTime(ctx context.Context, repo *Repository, cols ...string) error {
45-
if len(cols) == 0 {
46-
return nil
47-
}
48-
_, err := db.GetEngine(ctx).ID(repo.ID).Cols(cols...).Update(repo)
43+
// UpdateRepositoryColsWithAutoTime updates repository's columns and the timestamp fields automatically
44+
func UpdateRepositoryColsWithAutoTime(ctx context.Context, repo *Repository, colName string, moreColNames ...string) error {
45+
_, err := db.GetEngine(ctx).ID(repo.ID).Cols(append([]string{colName}, moreColNames...)...).Update(repo)
4946
return err
5047
}
5148

52-
// UpdateRepositoryColsNoAutoTime updates repository's columns and but applies time change automatically
53-
func UpdateRepositoryColsNoAutoTime(ctx context.Context, repo *Repository, cols ...string) error {
54-
if len(cols) == 0 {
55-
return nil
56-
}
57-
_, err := db.GetEngine(ctx).ID(repo.ID).Cols(cols...).NoAutoTime().Update(repo)
49+
// UpdateRepositoryColsNoAutoTime updates repository's columns, doesn't change timestamp field automatically
50+
func UpdateRepositoryColsNoAutoTime(ctx context.Context, repo *Repository, colName string, moreColNames ...string) error {
51+
_, err := db.GetEngine(ctx).ID(repo.ID).Cols(append([]string{colName}, moreColNames...)...).NoAutoTime().Update(repo)
5852
return err
5953
}
6054

modules/repository/branch.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@ func SyncRepoBranchesWithRepo(ctx context.Context, repo *repo_model.Repository,
4141
if err != nil {
4242
return 0, fmt.Errorf("GetObjectFormat: %w", err)
4343
}
44-
_, err = db.GetEngine(ctx).ID(repo.ID).Update(&repo_model.Repository{ObjectFormatName: objFmt.Name()})
45-
if err != nil {
46-
return 0, fmt.Errorf("UpdateRepository: %w", err)
44+
if objFmt.Name() != repo.ObjectFormatName {
45+
repo.ObjectFormatName = objFmt.Name()
46+
if err = repo_model.UpdateRepositoryColsWithAutoTime(ctx, repo, "object_format_name"); err != nil {
47+
return 0, fmt.Errorf("UpdateRepositoryColsWithAutoTime: %w", err)
48+
}
4749
}
48-
repo.ObjectFormatName = objFmt.Name() // keep consistent with db
4950

5051
allBranches := container.Set[string]{}
5152
{

options/locale/locale_fr-FR.ini

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1347,7 +1347,7 @@ editor.name_your_file=Nommez votre fichier…
13471347
editor.filename_help=Ajoutez un dossier en entrant son nom suivi d'une barre oblique ('/'). Supprimez un dossier avec un retour arrière au début du champ.
13481348
editor.or=ou
13491349
editor.cancel_lower=Annuler
1350-
editor.commit_signed_changes=Réviser les changements (signé)
1350+
editor.commit_signed_changes=Réviser les changements signés
13511351
editor.commit_changes=Réviser les changements
13521352
editor.add_tmpl=Ajouter {filename}
13531353
editor.add=Ajouter %s
@@ -1399,6 +1399,7 @@ editor.revert=Rétablir %s sur:
13991399
editor.failed_to_commit=Impossible de réviser les modifications.
14001400
editor.failed_to_commit_summary=Message d’erreur :
14011401

1402+
editor.fork_create=Bifurquer le Dépôt pour proposer vos modifications
14021403
editor.fork_create_description=Vous ne pouvez pas modifier ce dépôt directement. Cependant, vous pouvez bifurquer ce dépôt, et créer une demande d’ajout avec vos contributions.
14031404
editor.fork_edit_description=Vous ne pouvez pas modifier ce dépôt directement. Les modifications seront écrites sur une bifurcation <b>%s</b>, et ainsi faire une demande d’ajout.
14041405
editor.fork_not_editable=Vous avez bifurqué ce dépôt mais votre copie n’est pas modifiable.
@@ -2164,6 +2165,7 @@ settings.collaboration.write=Écriture
21642165
settings.collaboration.read=Lecture
21652166
settings.collaboration.owner=Propriétaire
21662167
settings.collaboration.undefined=Indéfini
2168+
settings.collaboration.per_unit=Permissions de ressource
21672169
settings.hooks=Webhooks
21682170
settings.githooks=Déclencheurs Git
21692171
settings.basic_settings=Paramètres de base
@@ -2382,6 +2384,7 @@ settings.event_repository=Dépôt
23822384
settings.event_repository_desc=Dépôt créé ou supprimé.
23832385
settings.event_header_issue=Événements de ticket
23842386
settings.event_issues=Ticket
2387+
settings.event_issues_desc=Ticket ouvert, rouvert, fermé, modifié ou supprimé.
23852388
settings.event_issue_assign=Assignation
23862389
settings.event_issue_assign_desc=Ticket assigné ou dé-assigné.
23872390
settings.event_issue_label=Labellisation
@@ -2392,6 +2395,7 @@ settings.event_issue_comment=Commentaire
23922395
settings.event_issue_comment_desc=Commentaire créé, modifié ou supprimé.
23932396
settings.event_header_pull_request=Événements de demande d'ajout
23942397
settings.event_pull_request=Demande d'ajout
2398+
settings.event_pull_request_desc=Demande d’ajout ouverte, rouverte, fermée, modifiée ou supprimée.
23952399
settings.event_pull_request_assign=Assignation
23962400
settings.event_pull_request_assign_desc=Demande d'ajout assignée ou non assignée.
23972401
settings.event_pull_request_label=Labellisation

options/locale/locale_ga-IE.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2384,6 +2384,7 @@ settings.event_repository=Stóras
23842384
settings.event_repository_desc=Stóras a cruthaíodh nó a scriosadh.
23852385
settings.event_header_issue=Imeachtaí Eisiúint
23862386
settings.event_issues=Saincheisteanna
2387+
settings.event_issues_desc=Ceist oscailte, dúnta, athoscailte, eagarthóireachta nó scriosta.
23872388
settings.event_issue_assign=Saincheist Sannaithe
23882389
settings.event_issue_assign_desc=Eisiúint sannta nó neamhshannta.
23892390
settings.event_issue_label=Eisiúint Lipéadaithe
@@ -2394,6 +2395,7 @@ settings.event_issue_comment=Trácht Eisiúna
23942395
settings.event_issue_comment_desc=Trácht eisiúna cruthaithe, curtha in eagar nó a scriosadh.
23952396
settings.event_header_pull_request=Tarraingt Imeachtaí Iarratas
23962397
settings.event_pull_request=Iarratas Tarraingthe
2398+
settings.event_pull_request_desc=Iarratas tarraingthe a osclaíodh, a dúnadh, a hathosclaíodh, a cuireadh in eagar nó a scriosadh.
23972399
settings.event_pull_request_assign=Iarratas Tarraingthe Sannta
23982400
settings.event_pull_request_assign_desc=Iarratas tarraingthe sannta nó neamhshannta.
23992401
settings.event_pull_request_label=Iarratas Tarraingthe Lipéadaithe

routers/private/hook_post_receive.go

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -207,25 +207,19 @@ func HookPostReceive(ctx *gitea_context.PrivateContext) {
207207
return
208208
}
209209

210-
cols := make([]string, 0, 2)
211-
212-
if isPrivate.Has() {
210+
// FIXME: these options are not quite right, for example: changing visibility should do more works than just setting the is_private flag
211+
// These options should only be used for "push-to-create"
212+
if isPrivate.Has() && repo.IsPrivate != isPrivate.Value() {
213+
// TODO: it needs to do more work
213214
repo.IsPrivate = isPrivate.Value()
214-
cols = append(cols, "is_private")
215+
if err = repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "is_private"); err != nil {
216+
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{Err: "Failed to change visibility"})
217+
}
215218
}
216-
217-
if isTemplate.Has() {
219+
if isTemplate.Has() && repo.IsTemplate != isTemplate.Value() {
218220
repo.IsTemplate = isTemplate.Value()
219-
cols = append(cols, "is_template")
220-
}
221-
222-
if len(cols) > 0 {
223-
if err := repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, cols...); err != nil {
224-
log.Error("Failed to Update: %s/%s Error: %v", ownerName, repoName, err)
225-
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{
226-
Err: fmt.Sprintf("Failed to Update: %s/%s Error: %v", ownerName, repoName, err),
227-
})
228-
return
221+
if err = repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "is_template"); err != nil {
222+
ctx.JSON(http.StatusInternalServerError, private.HookPostReceiveResult{Err: "Failed to change template status"})
229223
}
230224
}
231225
}

routers/web/repo/setting/setting.go

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -663,44 +663,37 @@ func handleSettingsPostAdvanced(ctx *context.Context) {
663663
func handleSettingsPostSigning(ctx *context.Context) {
664664
form := web.GetForm(ctx).(*forms.RepoSettingForm)
665665
repo := ctx.Repo.Repository
666-
changed := false
667666
trustModel := repo_model.ToTrustModel(form.TrustModel)
668667
if trustModel != repo.TrustModel {
669668
repo.TrustModel = trustModel
670-
changed = true
671-
}
672-
673-
if changed {
674-
if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
675-
ctx.ServerError("UpdateRepository", err)
669+
if err := repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "trust_model"); err != nil {
670+
ctx.ServerError("UpdateRepositoryColsNoAutoTime", err)
676671
return
677672
}
673+
log.Trace("Repository signing settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
678674
}
679-
log.Trace("Repository signing settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
680675

681676
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
682677
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
683678
}
684679

685680
func handleSettingsPostAdmin(ctx *context.Context) {
686-
form := web.GetForm(ctx).(*forms.RepoSettingForm)
687-
repo := ctx.Repo.Repository
688681
if !ctx.Doer.IsAdmin {
689682
ctx.HTTPError(http.StatusForbidden)
690683
return
691684
}
692685

686+
repo := ctx.Repo.Repository
687+
form := web.GetForm(ctx).(*forms.RepoSettingForm)
693688
if repo.IsFsckEnabled != form.EnableHealthCheck {
694689
repo.IsFsckEnabled = form.EnableHealthCheck
690+
if err := repo_model.UpdateRepositoryColsNoAutoTime(ctx, repo, "is_fsck_enabled"); err != nil {
691+
ctx.ServerError("UpdateRepositoryColsNoAutoTime", err)
692+
return
693+
}
694+
log.Trace("Repository admin settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
695695
}
696696

697-
if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
698-
ctx.ServerError("UpdateRepository", err)
699-
return
700-
}
701-
702-
log.Trace("Repository admin settings updated: %s/%s", ctx.Repo.Owner.Name, repo.Name)
703-
704697
ctx.Flash.Success(ctx.Tr("repo.settings.update_settings_success"))
705698
ctx.Redirect(ctx.Repo.RepoLink + "/settings")
706699
}

0 commit comments

Comments
 (0)