2011-12-06 14 views

Odpowiedz

9

można wywołać komendę git od wewnątrz skryptu:

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

zależności od środowiska może chcesz użyć pełnej ścieżki do pliku binarnego git i ewentualnie określić GIT_DIR poprzez zmienną środowiskową lub --git-dir .

+0

Nauczyłem się czegoś nowego dzisiaj, dzięki! Nie wiedziałem, że możesz użyć cudzysłowów dla poleceń powłoki. –

+0

Nie użyłem tego, więc nie mogę polecić go z doświadczenia, ale możesz użyć [grit] (https://github.com/mojombo/grit), jeśli chcesz czegoś więcej OO. –

+0

Aaron, uważany za żwir, ale to bardziej skomplikowane rozwiązanie niż moje proste użycie. –

1

Zakładam, że chcesz umieścić gdzieś wersję aplikacji w swoim kodzie HTML? Warunkiem jest, że wdrażasz repozytorium z Capistrano w sposób domyślny (przesyłasz repozytorium, nie wysyłając pliku archiwum).

Możesz dodać kod do inicjalizatora Rails jako outlined here. Takie podejście spowoduje uzyskanie SHA1 z ostatniego zatwierdzenia i udostępnienie go jako zmiennej środowiskowej.

Innym sposobem, aby to zrobić, to mieć cię zadanie Capistrano wygenerować plik statyczny w katalogu publicznym z commit SHA w nim. Możesz dołączyć do tego pliku inne informacje, które wydają się przydatne.

+0

Z capistrano 3, po prostu przeczytaj plik REVISION, w bieżącym folderze. – barbacan

15

Jak @meagar powiedział, użyj odwrócone, pojedyncze apostrofy, aby wykonać polecenie powłoki z poziomu aplikacji, ale można znaleźć te dwa polecenia bardziej przydatne:

Pełna hash:

git rev-parse HEAD 

pierwsze 7 znaków hash :

git rev-parse --short HEAD 
Powiązane problemy