>From 85a9df8a15b32dc7d884efa74e53c6d20fabaee6 Mon Sep 17 00:00:00 2001 From: Jonathan Ganc Date: Fri, 17 Mar 2017 22:35:46 -0400 Subject: [PATCH] Fix default-directory for vc-git (Bug#2606) --- lisp/vc/vc-git.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index 1a3f1bf..6f20a8d 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -244,8 +244,12 @@ (defun vc-git-state (file) ;; This assumes that status is known to be not `unregistered' because ;; we've been successfully dispatched here from `vc-state', that ;; means `vc-git-registered' returned t earlier once. Bug#11757 - (let ((diff (vc-git--run-command-string - file "diff-index" "-p" "--raw" "-z" "HEAD" "--"))) + + ;; `default-directory' determines where vc-git-... looks for the + ;; local git repository + (let* ((default-directory (file-name-directory file)) + (diff (vc-git--run-command-string + file "diff-index" "-p" "--raw" "-z" "HEAD" "--"))) (if (and diff (string-match ":[0-7]\\{6\\} [0-7]\\{6\\} [0-9a-f]\\{40\\} [0-9a-f]\\{40\\} \\([ADMUT]\\)\0[^\0]+\0\\(.*\n.\\)?" diff)) -- 2.9.3