ref: df1f2fb3daa1acd25c88510f259d5535fb482126
dir: /ref/store/files/root_loose_path.go/
package files
import (
"path"
"codeberg.org/lindenii/furgit/ref/name"
)
func (store *Store) loosePath(name string) refPath {
parsed := refname.ParseWorktree(name)
switch parsed.Type {
case refname.WorktreeCurrent:
return refPath{root: rootGit, path: parsed.BareRefName}
case refname.WorktreeMain, refname.WorktreeShared:
return refPath{root: rootCommon, path: parsed.BareRefName}
case refname.WorktreeOther:
return refPath{
root: rootCommon,
path: path.Join("worktrees", parsed.WorktreeName, parsed.BareRefName),
}
default:
return refPath{root: rootCommon, path: name}
}
}