Basado en la dirección de David, resolví esto creando un inicializador "git_info.rb". Coloque este archivo en el directorio de sus rieles Inicializadores
El contenido de la git_info.rb son:
GIT_BRANCH = `git status | sed -n 1p`.split(" ").last
GIT_COMMIT = `git log | sed -n 1p`.split(" ").last
Luego, en el pie de página, puede utilizar esta salida (sintaxis HAML):
#rev_info
= "branch: #{GIT_BRANCH} | commit: #{GIT_COMMIT}"
Es posible que desee establecer el color de la fuente de #rev_info de la misma manera que el color de fondo, de modo que el texto esté visible solo cuando lo resalte con el cursor.
Acabo de probar esto, y aunque funciona en modo de desarrollo, parece que la rama se sobreescribe con "implementar" la implementación post capistrano. ¿Capistrano debe crear su propia rama local llamada "implementación" en la implementación?
Por defecto, agregamos 'set: copy_exclude," .git/* "' en nuestro capistano deploy.rb para mantener esos datos extra fuera del sitio. Entonces, mientras lo anterior funciona en desarrollo, no hay ningún repo de git para la producción. Sin embargo, capistrano (y heroku, por cierto) crean un archivo REVISION que se agrega a la implementación para que pueda usar la etiqueta SHA desde allí cuando eso exista. – jwadsack
¿Por qué no utilizar 'git describe' en su lugar –