From ce9dee5a1e8ae670c97621bca409d8cf43a90102 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Wed, 22 Mar 2023 04:02:49 +0800 Subject: Introduce path Clean/Join helper functions (#23495) Since #23493 has conflicts with latest commits, this PR is my proposal for fixing #23371 Details are in the comments And refactor the `modules/options` module, to make it always use "filepath" to access local files. Benefits: * No need to do `util.CleanPath(strings.ReplaceAll(p, "\\", "/"))), "/")` any more (not only one before) * The function behaviors are clearly defined --- models/git/lfs_lock.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'models/git') diff --git a/models/git/lfs_lock.go b/models/git/lfs_lock.go index 178fa72f09..261c73032a 100644 --- a/models/git/lfs_lock.go +++ b/models/git/lfs_lock.go @@ -34,7 +34,7 @@ func init() { // BeforeInsert is invoked from XORM before inserting an object of this type. func (l *LFSLock) BeforeInsert() { - l.Path = util.CleanPath(l.Path) + l.Path = util.PathJoinRel(l.Path) } // CreateLFSLock creates a new lock. @@ -49,7 +49,7 @@ func CreateLFSLock(ctx context.Context, repo *repo_model.Repository, lock *LFSLo return nil, err } - lock.Path = util.CleanPath(lock.Path) + lock.Path = util.PathJoinRel(lock.Path) lock.RepoID = repo.ID l, err := GetLFSLock(dbCtx, repo, lock.Path) @@ -69,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 = util.CleanPath(path) + path = util.PathJoinRel(path) rel := &LFSLock{RepoID: repo.ID} has, err := db.GetEngine(ctx).Where("lower(path) = ?", strings.ToLower(path)).Get(rel) if err != nil { -- cgit v1.2.3