Argumentos de depuración dinámica en Visual Studio
Tengo un programa que acepta el nombre de una rama de git como parámetro, por lo que una ejecución normal podría verse así:
tool.exe --branch My-Feature-Branch
Cuando estoy depurando en Visual Studio, me gustaría que utilice la rama de git actual.
Sé que puedo obtener el nombre de la rama actual con el comando git rev-parse --abbrev-ref HEAD
. Sin embargo, si lo uso en los argumentos de comando de depuración, siempre obtengo un valor nulo.
Argumentos de comando que he intentado:
--branch $(git rev-parse --abbrev-ref HEAD)
--branch "$(git rev-parse --abbrev-ref HEAD)"
--branch (git rev-parse --abbrev-ref HEAD) <- VS se queja de que rev-parse no es un comando
--branch $(git -C C:/repo/root rev-parse --abbrev-ref HEAD)
davy.ai
Para utilizar la rama de Git actual como parámetro durante la depuración en Visual Studio, puedes probar el siguiente enfoque:
--branch "$(shell git rev-parse --abbrev-ref HEAD)"
Este enfoque utiliza el comando
shell
para ejecutar el comandogit
y obtener el nombre de la rama actual. La sintaxis$(...)
se utiliza para ejecutar el comando y devolver la salida como una cadena. El argumento de línea de comandos resultante está encerrado entre comillas dobles para asegurarse de que se trate como un único argumento.Ten en cuenta que este enfoque asume que
git
está en la ruta del sistema y se puede ejecutar desde la línea de comandos. Si este no es el caso, es posible que debas proporcionar la ruta completa del ejecutable degit
.