The non-file buffers which can use VC commands are those that have
their 'default-directory' under VC.
-*** 'M-n' now works in minibuffer prompts of VC commands.
-Typing 'M-n' in the minibuffer that prompts for a VC directory in VC
-commands now retrieves directories of previously used VC projects.
-
*** New command 'vc-dir-root' uses the root directory without asking.
*** New commands 'vc-dir-mark-registered-files' (bound to '* r') and
;; 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) (vc-known-roots) t
+ (vc-root-dir) nil t
nil))
(if current-prefix-arg
(intern
(set-buffer-modified-p nil)
t))
-(declare-function project-try-vc "project")
-(defun vc-known-roots ()
- "Return a list of known vc roots."
- (seq-filter #'project-try-vc (project-known-project-roots)))
-
(defun vc-find-root (file witness)
"Find the root of a checked out project.
The function walks up the directory tree from FILE looking for WITNESS.
rootdir working-revision)
(if backend
(setq rootdir (vc-call-backend backend 'root default-directory))
- (setq rootdir (read-directory-name "Directory for VC root-diff: "
- nil (vc-known-roots)))
+ (setq rootdir (read-directory-name "Directory for VC root-diff: "))
(setq backend (vc-responsible-backend rootdir))
(if backend
(setq default-directory rootdir)
rootdir)
(if backend
(setq rootdir (vc-call-backend backend 'root default-directory))
- (setq rootdir (read-directory-name "Directory for VC revision log: "
- nil (vc-known-roots)))
+ (setq rootdir (read-directory-name "Directory for VC revision log: "))
(setq backend (vc-responsible-backend rootdir))
(unless backend
(error "Directory is not version controlled")))