emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-27 3a5129a 1/3: vc-hg-dir-status-files: Fix when DIR is not reposi


From: Dmitry Gutov
Subject: emacs-27 3a5129a 1/3: vc-hg-dir-status-files: Fix when DIR is not repository root
Date: Tue, 11 Feb 2020 17:29:56 -0500 (EST)

branch: emacs-27
commit 3a5129a1c963d66a1b2e6db27e1063d171e8ae0c
Author: Dmitry Gutov <address@hidden>
Commit: Dmitry Gutov <address@hidden>

    vc-hg-dir-status-files: Fix when DIR is not repository root
    
    * lisp/vc/vc-hg.el (vc-hg-dir-status-files):
    Make sure it works correctly in a subdirectory of the repo root.
    Bind default-directory to DIR and add 're: -I .' to the arguments
    (bug#39380).
---
 lisp/vc/vc-hg.el | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el
index c9a2cb4..a91e1f5 100644
--- a/lisp/vc/vc-hg.el
+++ b/lisp/vc/vc-hg.el
@@ -1352,14 +1352,14 @@ REV is the revision to check out into WORKFILE."
 ;; Follows vc-exec-after.
 (declare-function vc-set-async-update "vc-dispatcher" (process-buffer))
 
-(defun vc-hg-dir-status-files (_dir files update-function)
+(defun vc-hg-dir-status-files (dir files update-function)
   ;; XXX: We can't pass DIR directly to 'hg status' because that
   ;; returns all ignored files if FILES is non-nil (bug#22481).
-  ;; If honoring DIR ever becomes important, try using '-I DIR/'.
-  (vc-hg-command (current-buffer) 'async files
-                 "status"
-                 (concat "-mardu" (if files "i"))
-                 "-C")
+  (let ((default-directory dir))
+    (vc-hg-command (current-buffer) 'async files
+                   "status" "re:" "-I" "."
+                   (concat "-mardu" (if files "i"))
+                   "-C"))
   (vc-run-delayed
     (vc-hg-after-dir-status update-function)))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]