]> git.eshelyaron.com Git - emacs.git/commitdiff
Move the expansion of abbreviated names to vc-git.el
authorDmitry Gutov <dgutov@yandex.ru>
Mon, 30 Aug 2021 23:47:31 +0000 (02:47 +0300)
committerDmitry Gutov <dgutov@yandex.ru>
Mon, 30 Aug 2021 23:47:31 +0000 (02:47 +0300)
* 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.

lisp/vc/vc-git.el
lisp/vc/vc.el

index 1cd200cd1346ea60d7f7b82739598d8d404e4df7..a5431abb40cb8f68e27efd6b4c92c253eb9fca08 100644 (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."
index 38204ef91c8c86d936093efc421fc5a2c2aea5d2..8036be390a95c24cc9fb48411f90720a37294a59 100644 (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