Тема: логи НotdogEd
Показать сообщение отдельно
  #19  
Старый 14.03.2021, 19:02
Michael Dukelsky
Guest
 
Сообщений: n/a
По умолчанию Замена $Id строк при переходе на GIT

Michael Dukelsky написал(а) к Nil Alexandrov в Mar 21 17:49:52 по местному времени:

Привет, Nil!

13 March 2021 19:46, Nil Alexandrov послал(а) письмо к Ewgenij Matuhin:

EM>> я перед сборкой делаю:
EM>> echo "char cvs_date[]=\"`git log -1 --date=format:%Y-%m-%d
EM>> --pretty=%ad`\";">cvsdate.h

NA> Я на работе много репозиториев перевёл из P4 в GIT, и все эти $Id$
NA> естественно поломались. Я вижу два варианта, как $Id$ просунуть в GIT.

Здесь идёт речь вот о чём. Как и во многих других проектах в Нusky номер версии состоит из трёх компонентов: vermajor.ver_minor.ver_patch. В Нusky когда-то решили использовать дату последнего коммита в качестве verpatch. Эту дату записывают в файл cvsdate.h, содержащий одну строчку:

char cvs_date[]="2021-03-14";

Хотелось бы как-то автоматизировать запись этой даты. Евгений предложил хороший способ, как сделать это. К сожалению, включить это в мейкфайл нельзя, потому что не у всех установлен git. Кто-то загружает готовый тарбол.

Главная неприятность с записью этой даты возникает при одобрении пул реквеста. Поскольку это делается на гитхабе, никакую автоматику туда не вставишь, гитхаб не разрешает исполнение скриптов. Нужно создавать отдельный коммит с новой датой. Во-первых, коммит, просто обновляющий дату, это некрасиво. И, во-вторых, легко забыть сделать такой коммит.

Кто бы посоветовал, как автоматизировать запись даты?

Желаю успехов, Nil!
За сим откланиваюсь, Michael.

... node (at) f1042 (dot) ru
--- GoldED+/LNX 1.1.5-b20180707
Ответить с цитированием