2013-04-20 72 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))