ref: 803089a76171db1dd5b891fb6dfa1b7e7f3d50d2
dir: /refstore/files/root_loose_path.go/
package files
import (
"path"
"codeberg.org/lindenii/furgit/ref/refname"
)
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}
}
}