2011-12-06 10 views

Respuesta

9

puede invocar el comando git desde dentro de la secuencia de comandos:

commit = `git show --pretty=%H` 
puts commit 

Dependiendo de su entorno es posible que desee utilizar la ruta completa al binario git, y posiblemente especificar el GIT_DIR a través de una variable de entorno o --git-dir .

+0

¡Aprendí algo nuevo hoy, gracias! No sabía que podría usar comillas para comandos de shell. –

+0

No lo he usado, así que no puedo recomendarlo por experiencia, pero puedes usar [grit] (https://github.com/mojombo/grit) si quieres algo que sea más OO. –

+0

Aaron, considerado grano, pero esa es una solución más complicada que mi simple uso. –

1

Supongo que quiere incluir la versión de la aplicación en su HTML en alguna parte? El requisito previo es que implemente su repositorio con Capistrano de la manera predeterminada (está cargando el repositorio, no enviando un archivo).

Puede agregar un código al inicializador de Rails como outlined here. Ese enfoque obtendrá el SHA1 del último compromiso y lo hará disponible como una variable de entorno.

La otra forma de hacerlo es hacer que la tarea de Capistrano genere un archivo estático en el directorio público con el SHA de confirmación en él. Puede incluir otra información en este archivo que parece útil.

+0

Con capistrano 3, simplemente lea el archivo REVISIÓN, en la carpeta actual. – barbacan

15

Como @meagar Dicho esto, utilizar acentos abiertos para ejecutar el comando shell desde dentro de su aplicación, pero es posible que estos dos comandos más útiles:

de hash completo:

git rev-parse HEAD 

7 primeros caracteres del picadillo :

git rev-parse --short HEAD 
Cuestiones relacionadas