¿Cómo puedo obtener el directorio raíz del repositorio git actual? Podría correr shell-command-to-stringen algo así git rev-parse --show-toplevel. ¿Hay una mejor manera? ¿ magitO cualquier otro git front-end expone esta información?
                9
            
  
            
git rev-parse --show-toplevellugar degit rev-parse --git-dir?Respuestas:
En Magit, esto está disponible como
magit-toplevel(pero estoy de acuerdo con @ abo-abo en que tiene sentido usarlovc-root-dir).fuente
vc-root-dirEs seguramente el más genérico. Sin embargo, no puedo hacer que funcione de esa forma como mencioné en los comentarios sobre la respuesta de @ abo-abo. Pero este funcionó directamente. ¡Gracias!Es necesario
vc-root-dir. Funciona por más que git.fuente
vc-root-dir. Lo único que está cerca esvc-root-diff. Y en unavcbúsqueda relacionada, encuentro esto .vces demasiado viejo? Tengo el incorporado con emacs 24.3. No veovc-rootenvc.elo conaproposetc. Mirandovc.el, veo cosas como(setq rootdir (vc-call-backend...)). Y de hecho,(vc-call-backend 'Git 'root default-directory)funciona.vc-root-dirsolo está en el baúl en esta etapa. Ciertamente no está en 24.4. Presumiblemente estará disponible en Emacs 25.Como se menciona por abo-abo, en Emacs 25, hay una función llamada
vc-root-dirque hace lo que necesita de una manera independiente del backend. Para versiones anteriores de Emacs, el siguiente es un reemplazo adecuado:Como mencionó Kyle, Magit proporciona la función
magit-get-top-dir, que simplemente llamagit rev-parse --show-cdupe interpreta el resultado.fuente
vc-root-diff, lo intentévc-deduce-backend. De alguna manera, eso regresanilen mi git-repo. Sin embargo,vc-responsible-backend default-directoryvuelveGit.vc, entoncesvc-deduce-backendregresanil. ¿Eso lo explica?ielmy esperabavc-deduce-backendusarlodefault-directory. ¡Gracias!vc-root-dirlugar devc-root-diff?