Move the expansion of abbreviated names to vc-git.el

* lisp/vc/vc-git.el (vc-git--literal-pathspec):
Perform the expansion of abbreviated file names here instead
(bug#39452).

* lisp/vc/vc.el (vc-root-diff, vc-print-root-log):
Undo the recent change.
This commit is contained in:
Dmitry Gutov 2021-08-31 02:47:31 +03:00
parent a1887cc5e6
commit d2ad64b7a5
2 changed files with 10 additions and 6 deletions

View file

@ -245,7 +245,11 @@ included in the completions."
(defun vc-git--literal-pathspec (file)
"Prepend :(literal) path magic to FILE."
;; Good example of file name that needs this: "test[56].xx".
(and file (concat ":(literal)" (file-local-name file))))
(let ((lname (file-local-name file)))
;; Expand abbreviated file names.
(when (file-name-absolute-p lname)
(setq lname (expand-file-name lname)))
(and file (concat ":(literal)" lname))))
(defun vc-git--literal-pathspecs (files)
"Prepend :(literal) path magic to FILES."

View file

@ -2055,9 +2055,9 @@ saving the buffer."
;; here, this way the *vc-diff* buffer is setup correctly, so
;; relative file names work.
(let ((default-directory rootdir))
(vc-diff-internal
t (list backend (list (expand-file-name rootdir)) working-revision) nil nil
(called-interactively-p 'interactive))))))
(vc-diff-internal
t (list backend (list rootdir) working-revision) nil nil
(called-interactively-p 'interactive))))))
;;;###autoload
(defun vc-root-dir ()
@ -2603,8 +2603,8 @@ with its diffs (if the underlying VCS supports that)."
(setq backend (vc-responsible-backend rootdir))
(unless backend
(error "Directory is not version controlled")))
(setq default-directory (expand-file-name rootdir))
(vc-print-log-internal backend (list default-directory) revision revision limit
(setq default-directory rootdir)
(vc-print-log-internal backend (list rootdir) revision revision limit
(when with-diff 'with-diff))))
;;;###autoload