| @@ -2164,20 +2164,25 @@ initializing." | |||||
| (interactive) | (interactive) | ||||
| (let* ((id (tabulated-list-get-id)) | (let* ((id (tabulated-list-get-id)) | ||||
| (path (plist-get id :worktree))) | (path (plist-get id :worktree))) | ||||
| (when path | |||||
| (if (file-directory-p path) | |||||
| (dired path) | |||||
| (error "Directory not found: %s" path))))) | |||||
| (cl-assert path nil "No worktree info at point") | |||||
| (cl-assert (file-directory-p path) t "Directory not found") | |||||
| (dired path))) | |||||
| (defun git-worktree-mode-move () | (defun git-worktree-mode-move () | ||||
| "Move worktree at point to a new location." | "Move worktree at point to a new location." | ||||
| (interactive) | (interactive) | ||||
| (let* ((id (tabulated-list-get-id)) | (let* ((id (tabulated-list-get-id)) | ||||
| (path (plist-get id :worktree))) | (path (plist-get id :worktree))) | ||||
| (when path | |||||
| (if (file-directory-p path) | |||||
| (dired path) | |||||
| (error "Directory not found: %s" path))))) | |||||
| (cl-assert path nil "No worktree info at point") | |||||
| (cl-assert (file-directory-p path) t "Directory not found") | |||||
| (let ((new (read-file-name (format "New name for worktree %s: " | |||||
| path)))) | |||||
| (with-temp-buffer | |||||
| (git-worktree--call-process "worktree" | |||||
| "move" | |||||
| path | |||||
| (expand-file-name new))) | |||||
| (revert-buffer)))) | |||||
| (defvar git-worktree-mode-map | (defvar git-worktree-mode-map | ||||
| (let ((map (make-sparse-keymap))) | (let ((map (make-sparse-keymap))) | ||||