在Emacs Lisp中获取版本控制根

5
在Emacs Lisp函数中,我想要知道任意文件夹(如果在源代码控制下)的VC根目录,就像vc-print-root-log一样。我试图从VC文件/文件夹之外进行这个操作(虽然创建临时缓冲区来执行此操作也可以)。我目前有一个通过magit实现的仅适用于git的解决方案 - (magit-get-top-dir dir-name)
我尝试使用(vc-deduce-backend)和“root command”,但是vc-deduce-backend检查的变量似乎只设置在现有的VC模式(例如log-view-mode)缓冲区中。
是否有一种简单的方法从VC中获取此信息?
1个回答

6

看了你提供的 vc-print-root-log 的例子,以下是你想要的内容:

(require 'vc)
(let ((path "~/.emacs.d/el-get/"))
  (vc-call-backend (vc-responsible-backend path) 'root path))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接