2011-08-10 22 views
6

Widziałem w kilku projektach, że programiści zawierają coś jak $Revision$ w dokumentacji kodu źródłowego. Sądzę, że są to makra lub zmienne środowiskowe dla niektórych narzędzi, ale nie wiem, jak z nimi pracować.numer wersji git w dokumentacji kodu źródłowego

Interesuje mnie dodanie tej funkcji do mojego następnego projektu. Zwykle używam TextMate, git i doxygen. Jakieś sugestie?

Odpowiedz

8

Tak: sugestia: nie rób tego.
Rozszerzanie słów kluczowych można wykonać za pomocą filtru gitattribute, jak przedstawiono w "Git equivalent of subversion's $URL$ keyword expansion", ale wprowadza to metadane w danych, co zwykle powoduje, że scalanie jest znacznie bardziej skomplikowane niż w rzeczywistości.

Możesz zobaczyć w tej (długiej) odpowiedzi na "What are the basic clearcase concepts every developer should know?" całą debatę na temat "Osadzone numery wersji - dobre czy złe?".
Jeśli nie masz dobrego menedżera korespondencji seryjnej, aby zignorować te specjalne wartości, otrzymasz "Piekło Merge".
I z Git, jak opisano w "How does Git solve the merging problem?", scalenie jest dość podstawowe. Bez wymyślnego menedżera łączenia.

+0

Boże - tak! po to jest scm ... wiedząc, kiedy ostatnio plik został zmodyfikowany. Metadanych nie można mieszać z danymi. NSA może wyjaśnić ten problem :-) – Pat

+0

@Pat Widzę, co tu zrobiłeś;) Jeśli przeanalizuję twój ostatni komentarz przez * pryzmat * aktualności, jego znaczenie jest całkiem jasne. – VonC

1

$Revision:$ (wymagane jest ":") jest używane przez RCS i CVS. Niektóre inne systemy mają podobne cechy, ale wydaje się, że bardziej nowoczesne nie.