Obtener la raíz de VC en Emacs Lisp

En una function Emacs Lisp, quiero saber la raíz VC de una carpeta arbitraria (si está bajo el control de fuente), lo mismo que lo hace algo como vc-print-root-log. Estoy tratando de hacerlo desde fuera del file / carpeta de VC (aunque crear un buffer temporal para hacer esto estaría bien). Actualmente tengo una solución de solo git a través de magit(magit-get-top-dir dir-name) .

Intenté usar (vc-deduce-backend) y el 'command raíz, pero las variables que vc-deduce-backend checks parecen solo establecerse en el modo vc existente (por ejemplo, log-view-mode) los búferes.

¿Hay una manera simple de sacar esto de VC?

En cuanto a su propio ejemplo de vc-print-root-log , lo siguiente es lo que busca:

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