Предполагая, что вы используете gem settingslogic
для настроек приложения, укажите это в инициализаторах:
git_log = `git log -1 --pretty="format:%H %ci"`
if git_log =~ /^([\d\w]+?)\s(.+)$/
Settings[:git_revision] = $1
Settings[:git_update] = $2.strip
end
У вас будет последний SHA git commit в Settings.git_revision
и дата фиксации в Settings.git_update
.
Дополнительно вы можете получить последний тег:
git_tag = `git describe --tags --abbrev=0`
Settings[:git_tag] = git_tag.strip if git_tag
Будет доступно в Settings.git_tag
.
Обновление:
Я выпустил маленький рубиновый камень git-revision . С ним вы можете просто сделать:
"commit: #{Git::Revision.commit} date: #{Git::Revision.date}"