5

在 Emacs Lisp 函数中,我想知道任意文件夹的 VC 根目录(如果在源代码控制下),就像 vc-print-root-log 一样。我正在尝试从 VC 文件/文件夹之外执行此操作(尽管创建一个临时缓冲区来执行此操作会很好)。我目前通过 magit - 有一个仅 git 的解决方案(magit-get-top-dir dir-name)

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

有没有一种简单的方法可以从 VC 中解决这个问题?

4

1 回答 1

5

查看您自己的示例vc-print-root-log,以下似乎是您所追求的:

(require 'vc)
(let ((path "~/.emacs.d/el-get/"))
  (vc-call-backend (vc-responsible-backend path) 'root path))
于 2013-04-21T02:24:12.033 回答