Ви не перший, хто задумався про "номер редакції" в Git , але "wc
" є досить небезпечним, оскільки фіксація може бути стерта або видалена, а історія переглянута.
"Ревізійний номер" був особливо важливим для Subversion, оскільки він був необхідний у випадку злиття (SVN1.5 та 1.6 були покращені на цьому фронті).
Ви можете закінчити попередній запуск, який міститиме номер ревізії в коментарі, з алгоритмом, який не передбачає пошуку всієї історії гілки, щоб визначити правильне число.
Bazaar насправді придумав такий алгоритм , і це може бути хорошою відправною точкою для того, що ви хочете зробити.
(Як вказується у відповіді Бомбе , Git насправді має власний алгоритм, заснований на останньому тезі, плюс кількість комітів плюс трохи ключа SHA-1). Ви повинні побачити (і висловити позицію) його відповідь, якщо вона працює для вас.
Щоб проілюструвати ідею Аарона , ви також можете додати хеш Git фиксації у файл "інформація" програми, який ви поширюєте разом із додатком.
Таким чином, поле about буде виглядати так:
Номер програми є частиною комісії, але "інформація" програми "генерується" під час упаковки, фактично пов'язуючи номер складання додатка з ідентифікатором технічної редакції .