MCPcopy Create free account
hub / github.com/cli/cli / ResolveWorktreeTarget

Function ResolveWorktreeTarget

pkg/cmd/pr/shared/worktree.go:24–41  ·  view source on GitHub ↗

ResolveWorktreeTarget validates path and determines whether it is the root of an existing linked worktree for the current repository.

(client *git.Client, path string)

Source from the content-addressed store, hash-verified

22// ResolveWorktreeTarget validates path and determines whether it is the root
23// of an existing linked worktree for the current repository.
24func ResolveWorktreeTarget(client *git.Client, path string) (WorktreeTarget, error) {
25 target := WorktreeTarget{Path: path}
26 if err := ensureWorktreePathSafe(path); err != nil {
27 return target, err
28 }
29
30 reuse, err := resolveWorktreeTarget(client, path)
31 if err != nil {
32 return target, err
33 }
34 if !reuse {
35 if err := ensureWorktreePathEmpty(path); err != nil {
36 return target, err
37 }
38 }
39 target.Reuse = reuse
40 return target, nil
41}
42
43// WorktreeCheckoutCommands returns the commands needed to place branch in
44// target. startPoint must be a remote branch suitable for --track.

Callers 3

checkoutRunFunction · 0.92

Calls 3

ensureWorktreePathSafeFunction · 0.85
resolveWorktreeTargetFunction · 0.85
ensureWorktreePathEmptyFunction · 0.85

Tested by 2