1
0
Fork 0
mirror of https://codeberg.org/forgejo/forgejo.git synced 2025-08-06 18:35:23 +02:00

Move repoWorkPool outside rename/transfer repository (#9086)

* Move repoWorkPool outside rename/transfer repository

* fix import

* Fix test
This commit is contained in:
Lunny Xiao 2019-12-06 12:00:50 +08:00 committed by GitHub
parent 9ff5b75559
commit 77730db257
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 40 additions and 54 deletions

View file

@ -6,8 +6,6 @@ package models
import (
"strings"
"code.gitea.io/gitea/modules/log"
)
// RepoRedirect represents that a repo name should be redirected to another
@ -31,36 +29,22 @@ func LookupRepoRedirect(ownerID int64, repoName string) (int64, error) {
}
// NewRepoRedirect create a new repo redirect
func NewRepoRedirect(ownerID, repoID int64, oldRepoName, newRepoName string) error {
func NewRepoRedirect(ctx DBContext, ownerID, repoID int64, oldRepoName, newRepoName string) error {
oldRepoName = strings.ToLower(oldRepoName)
newRepoName = strings.ToLower(newRepoName)
sess := x.NewSession()
defer sess.Close()
if err := sess.Begin(); err != nil {
if err := deleteRepoRedirect(ctx.e, ownerID, newRepoName); err != nil {
return err
}
if err := deleteRepoRedirect(sess, ownerID, newRepoName); err != nil {
errRollback := sess.Rollback()
if errRollback != nil {
log.Error("NewRepoRedirect sess.Rollback: %v", errRollback)
}
return err
}
if _, err := sess.Insert(&RepoRedirect{
if _, err := ctx.e.Insert(&RepoRedirect{
OwnerID: ownerID,
LowerName: oldRepoName,
RedirectRepoID: repoID,
}); err != nil {
errRollback := sess.Rollback()
if errRollback != nil {
log.Error("NewRepoRedirect sess.Rollback: %v", errRollback)
}
return err
}
return sess.Commit()
return nil
}
// deleteRepoRedirect delete any redirect from the specified repo name to