0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-12-14 20:54:21 +01:00

add extra transaction wrap

This was already called from within a transaction, but never
know about future callers
This commit is contained in:
Adam Majer 2025-09-07 20:36:09 +02:00
parent 7e7ac0dbf2
commit 24c91d8248

View File

@ -104,11 +104,13 @@ func GetForksByUserAndOrgs(ctx context.Context, user *user_model.User, repo *Rep
// ReparentFork sets the fork to be an unforked repository and the forked repo becomes its fork // ReparentFork sets the fork to be an unforked repository and the forked repo becomes its fork
func ReparentFork(ctx context.Context, forkedRepoID, srcForkID int64) error { func ReparentFork(ctx context.Context, forkedRepoID, srcForkID int64) error {
if _, err := db.GetEngine(ctx).Table("repository").ID(srcForkID).Cols("fork_id", "is_fork").Update(&Repository{ForkID: forkedRepoID, IsFork: true}); err != nil { return db.WithTx(ctx, func(ctx context.Context) error {
return err if _, err := db.GetEngine(ctx).Table("repository").ID(srcForkID).Cols("fork_id", "is_fork").Update(&Repository{ForkID: forkedRepoID, IsFork: true}); err != nil {
} return err
if _, err := db.GetEngine(ctx).Table("repository").ID(forkedRepoID).Cols("fork_id", "is_fork", "num_forks").Update(&Repository{ForkID: 0, NumForks: 1, IsFork: false}); err != nil { }
return err if _, err := db.GetEngine(ctx).Table("repository").ID(forkedRepoID).Cols("fork_id", "is_fork", "num_forks").Update(&Repository{ForkID: 0, NumForks: 1, IsFork: false}); err != nil {
} return err
return nil }
return nil
})
} }