@@ -229,12 +229,8 @@ cmd_create() {
229229 fi
230230
231231 # Get repo info
232- local repo_root
233- repo_root=$( discover_repo_root) || exit 1
234-
235- local base_dir prefix
236- base_dir=$( resolve_base_dir " $repo_root " )
237- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
232+ resolve_repo_context || exit 1
233+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
238234
239235 # Get branch name if not provided
240236 if [ -z " $branch_name " ]; then
@@ -437,10 +433,8 @@ cmd_remove() {
437433 exit 1
438434 fi
439435
440- local repo_root base_dir prefix
441- repo_root=$( discover_repo_root) || exit 1
442- base_dir=$( resolve_base_dir " $repo_root " )
443- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
436+ resolve_repo_context || exit 1
437+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
444438
445439 for identifier in $identifiers ; do
446440 # Resolve target branch
@@ -536,10 +530,8 @@ cmd_rename() {
536530 exit 1
537531 fi
538532
539- local repo_root base_dir prefix
540- repo_root=$( discover_repo_root) || exit 1
541- base_dir=$( resolve_base_dir " $repo_root " )
542- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
533+ resolve_repo_context || exit 1
534+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
543535
544536 # Resolve old worktree
545537 local target is_main old_path old_branch
@@ -624,10 +616,8 @@ cmd_go() {
624616 fi
625617
626618 local identifier=" $1 "
627- local repo_root base_dir prefix
628- repo_root=$( discover_repo_root) || exit 1
629- base_dir=$( resolve_base_dir " $repo_root " )
630- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
619+ resolve_repo_context || exit 1
620+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
631621
632622 # Resolve target branch
633623 local target is_main worktree_path branch
@@ -684,10 +674,8 @@ cmd_run() {
684674 exit 1
685675 fi
686676
687- local repo_root base_dir prefix
688- repo_root=$( discover_repo_root) || exit 1
689- base_dir=$( resolve_base_dir " $repo_root " )
690- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
677+ resolve_repo_context || exit 1
678+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
691679
692680 # Resolve target branch
693681 local target is_main worktree_path branch
@@ -763,10 +751,8 @@ cmd_copy() {
763751 fi
764752
765753 # Get repo context
766- local repo_root base_dir prefix
767- repo_root=$( discover_repo_root) || exit 1
768- base_dir=$( resolve_base_dir " $repo_root " )
769- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
754+ resolve_repo_context || exit 1
755+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
770756
771757 # Resolve source path
772758 local src_target src_path
@@ -868,10 +854,8 @@ cmd_editor() {
868854 editor=$( cfg_default gtr.editor.default GTR_EDITOR_DEFAULT " none" defaults.editor)
869855 fi
870856
871- local repo_root base_dir prefix
872- repo_root=$( discover_repo_root) || exit 1
873- base_dir=$( resolve_base_dir " $repo_root " )
874- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
857+ resolve_repo_context || exit 1
858+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
875859
876860 # Resolve target branch
877861 local target worktree_path branch
@@ -944,10 +928,8 @@ cmd_ai() {
944928 # Load AI adapter
945929 load_ai_adapter " $ai_tool "
946930
947- local repo_root base_dir prefix
948- repo_root=$( discover_repo_root) || exit 1
949- base_dir=$( resolve_base_dir " $repo_root " )
950- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
931+ resolve_repo_context || exit 1
932+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
951933
952934 # Resolve target branch
953935 local target worktree_path branch
@@ -1080,10 +1062,8 @@ cmd_clean() {
10801062 log_info " Pruned stale worktree administrative files"
10811063 fi
10821064
1083- local repo_root base_dir prefix
1084- repo_root=$( discover_repo_root) || exit 1
1085- base_dir=$( resolve_base_dir " $repo_root " )
1086- prefix=$( cfg_default gtr.worktrees.prefix GTR_WORKTREES_PREFIX " " )
1065+ resolve_repo_context || exit 1
1066+ local repo_root=" $_ctx_repo_root " base_dir=" $_ctx_base_dir " prefix=" $_ctx_prefix "
10871067
10881068 if [ ! -d " $base_dir " ]; then
10891069 log_info " No worktrees directory to clean"
0 commit comments