MCPcopy Create free account
hub / github.com/chainreactors/EvilProxy / relativeToRepo

Method relativeToRepo

internal/store/gitstore.go:592–613  ·  view source on GitHub ↗
(path string)

Source from the content-addressed store, hash-verified

590}
591
592func (s *GitTokenStore) relativeToRepo(path string) (string, error) {
593 repoDir := s.repoDirSnapshot()
594 if repoDir == "" {
595 return "", fmt.Errorf("git token store: repository path not configured")
596 }
597 absRepo := repoDir
598 if abs, err := filepath.Abs(repoDir); err == nil {
599 absRepo = abs
600 }
601 cleanPath := path
602 if abs, err := filepath.Abs(path); err == nil {
603 cleanPath = abs
604 }
605 rel, err := filepath.Rel(absRepo, cleanPath)
606 if err != nil {
607 return "", fmt.Errorf("git token store: relative path: %w", err)
608 }
609 if rel == ".." || strings.HasPrefix(rel, ".."+string(os.PathSeparator)) {
610 return "", fmt.Errorf("git token store: path outside repository")
611 }
612 return rel, nil
613}
614
615func (s *GitTokenStore) checkoutConfiguredBranch(repo *git.Repository, worktree *git.Worktree, authMethod transport.AuthMethod) error {
616 branchRefName := plumbing.NewBranchReferenceName(s.branch)

Callers 4

SaveMethod · 0.95
DeleteMethod · 0.95
PersistAuthFilesMethod · 0.95
PersistConfigMethod · 0.95

Calls 1

repoDirSnapshotMethod · 0.95

Tested by

no test coverage detected