X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/88134ff704593d7f7214c5c80c78450134367983..306b37a63112bf26cac29474116490376537f04f:/contrib/stgit.el diff --git a/contrib/stgit.el b/contrib/stgit.el index 7e0c10d..c4ed958 100644 --- a/contrib/stgit.el +++ b/contrib/stgit.el @@ -444,8 +444,6 @@ at point." "-C"))) (ewoc (ewoc-create #'stgit-file-pp nil nil t))) (setf (stgit-patch-files-ewoc patch) ewoc) - (when (eq patchsym :work) - (setq stgit-work-ewoc ewoc)) (with-temp-buffer (apply 'stgit-run-git (cond ((eq patchsym :work) @@ -878,13 +876,14 @@ If PATCHSYM is a keyword, returns PATCHSYM unmodified." (goto-char (point-min)) (diff-mode)))) -(defun stgit-move-change-to-index (file status) +(defun stgit-move-change-to-index (file) "Copies the workspace state of FILE to index, using git add or git rm" - (let ((op (if (file-exists-p file) "add" "rm"))) + (let ((op (if (or (file-exists-p file) (file-symlink-p file)) + '("add") '("rm" "-q")))) (stgit-capture-output "*git output*" - (stgit-run-git op "--" file)))) + (apply 'stgit-run-git (append op '("--") (list file)))))) -(defun stgit-remove-change-from-index (file status) +(defun stgit-remove-change-from-index (file) "Unstages the change in FILE from the index" (stgit-capture-output "*git output*" (stgit-run-git "reset" "-q" "--" file))) @@ -897,11 +896,9 @@ If PATCHSYM is a keyword, returns PATCHSYM unmodified." (error "No file on the current line")) (let ((patch-name (stgit-patch-name-at-point))) (cond ((eq patch-name :work) - (stgit-move-change-to-index (stgit-file-file patched-file) - (stgit-file-status patched-file))) + (stgit-move-change-to-index (stgit-file-file patched-file))) ((eq patch-name :index) - (stgit-remove-change-from-index (stgit-file-file patched-file) - (stgit-file-status patched-file))) + (stgit-remove-change-from-index (stgit-file-file patched-file))) (t (error "Can only move files in the working tree to index"))))) (stgit-refresh-worktree)