|
|
|
@ -6,7 +6,6 @@ package git
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
"fmt"
|
|
|
|
|
"path"
|
|
|
|
|
"strings"
|
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
@ -17,6 +16,7 @@ import (
|
|
|
|
|
"code.gitea.io/gitea/models/unit"
|
|
|
|
|
user_model "code.gitea.io/gitea/models/user"
|
|
|
|
|
"code.gitea.io/gitea/modules/setting"
|
|
|
|
|
"code.gitea.io/gitea/modules/util"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// LFSLock represents a git lfs lock of repository.
|
|
|
|
@ -34,11 +34,7 @@ func init() {
|
|
|
|
|
|
|
|
|
|
// BeforeInsert is invoked from XORM before inserting an object of this type.
|
|
|
|
|
func (l *LFSLock) BeforeInsert() {
|
|
|
|
|
l.Path = cleanPath(l.Path)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func cleanPath(p string) string {
|
|
|
|
|
return path.Clean("/" + p)[1:]
|
|
|
|
|
l.Path = util.CleanPath(l.Path)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// CreateLFSLock creates a new lock.
|
|
|
|
@ -53,7 +49,7 @@ func CreateLFSLock(ctx context.Context, repo *repo_model.Repository, lock *LFSLo
|
|
|
|
|
return nil, err
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lock.Path = cleanPath(lock.Path)
|
|
|
|
|
lock.Path = util.CleanPath(lock.Path)
|
|
|
|
|
lock.RepoID = repo.ID
|
|
|
|
|
|
|
|
|
|
l, err := GetLFSLock(dbCtx, repo, lock.Path)
|
|
|
|
@ -73,7 +69,7 @@ func CreateLFSLock(ctx context.Context, repo *repo_model.Repository, lock *LFSLo
|
|
|
|
|
|
|
|
|
|
// GetLFSLock returns release by given path.
|
|
|
|
|
func GetLFSLock(ctx context.Context, repo *repo_model.Repository, path string) (*LFSLock, error) {
|
|
|
|
|
path = cleanPath(path)
|
|
|
|
|
path = util.CleanPath(path)
|
|
|
|
|
rel := &LFSLock{RepoID: repo.ID}
|
|
|
|
|
has, err := db.GetEngine(ctx).Where("lower(path) = ?", strings.ToLower(path)).Get(rel)
|
|
|
|
|
if err != nil {
|
|
|
|
|