2013-04-20 110 views
2

在Emacs Lisp函数中,我想知道任意文件夹的VC根目录(如果在源代码管理下),就像vc-print-root-log一样。我试图从VC文件/文件夹之外做到这一点(尽管创建一个临时缓冲区来做到这一点很好)。我目前通过magit有一个只有git的解决方案 - (magit-get-top-dir dir-name)获取Emacs Lisp中的VC根目录

我尝试使用(vc-deduce-backend)和'root命令,但vc-deduce-backend检查的变量似乎只能在现有的vc模式(例如log-view-mode)缓冲区中设置。

有没有一种简单的方法可以从VC中获取此信息?

回答

4

看着自己的vc-print-root-log例如,下面好像是你追求的:

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