mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	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
This commit is contained in:
		@@ -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 {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user