]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/vc/vc-dir.el (vc-dir-root): New command (bug#12492, bug#34949).
authorJuri Linkov <juri@linkov.net>
Sun, 29 Mar 2020 00:08:05 +0000 (02:08 +0200)
committerJuri Linkov <juri@linkov.net>
Sun, 29 Mar 2020 00:08:05 +0000 (02:08 +0200)
* lisp/vc/vc-hooks.el (vc-menu-map): Change menu command from
'vc-dir' to 'vc-dir-root'.

etc/NEWS
lisp/vc/vc-dir.el
lisp/vc/vc-hooks.el

index 870d39f7eef7409468ad1ef79e472060b80f98eb..4b477e5def60371277cf6b3ac953d81006b6224c 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -111,6 +111,10 @@ details of marking the file at the end of the region.
 *** State changing VC operations are supported in 'dired-mode' on files
 (but still not on directories).
 
+** Change Logs and VC
+
+*** New command 'vc-dir-root' uses the root directory without asking.
+
 ** Gnus
 
 ---
index 38b4937e8544932eabb732682a4a53714520c7f7..b760e1706769407e8d57ddad528930981448e14a 100644 (file)
@@ -1286,6 +1286,16 @@ state of item at point, if any."
        (setq model (vc-checkout-model vc-dir-backend only-files-list))))
     (list vc-dir-backend files only-files-list state model)))
 
+;;;###autoload
+(defun vc-dir-root ()
+  "Run `vc-dir' in the repository root directory without prompt.
+If the default directory of the current buffer is
+not under version control, prompt for a directory."
+  (interactive)
+  (let ((root-dir (vc-root-dir)))
+    (if root-dir (vc-dir root-dir)
+      (call-interactively 'vc-dir))))
+
 ;;;###autoload
 (defun vc-dir (dir &optional backend)
   "Show the VC status for \"interesting\" files in and below DIR.
@@ -1309,7 +1319,7 @@ These are the commands available for use in the file status buffer:
     ;; When you hit C-x v d in a visited VC file,
     ;; the *vc-dir* buffer visits the directory under its truename;
     ;; therefore it makes sense to always do that.
-    ;; Otherwise if you do C-x v d -> C-x C-f -> C-c v d
+    ;; Otherwise if you do C-x v d -> C-x C-f -> C-x v d
     ;; you may get a new *vc-dir* buffer, different from the original
     (file-truename (read-directory-name "VC status for directory: "
                                        (vc-root-dir) nil t
index 345a28d3f1d42ea85c67c948b8ccaecb1f259c59..2ca9d3e620c4675c6547b55e64e28a0d8d82c611 100644 (file)
@@ -972,9 +972,9 @@ In the latter case, VC mode is deactivated for this buffer."
     (bindings--define-key map [vc-ignore]
       '(menu-item "Ignore File..." vc-ignore
                  :help "Ignore a file under current version control system"))
-    (bindings--define-key map [vc-dir]
-      '(menu-item "VC Dir"  vc-dir
-                 :help "Show the VC status of files in a directory"))
+    (bindings--define-key map [vc-dir-root]
+      '(menu-item "VC Dir"  vc-dir-root
+                  :help "Show the VC status of the repository"))
     map))
 
 (defalias 'vc-menu-map vc-menu-map)