Тема: логи НotdogEd
Показать сообщение отдельно
  #18  
Старый 13.03.2021, 21:12
Nil Alexandrov
Guest
 
Сообщений: n/a
По умолчанию Замена $Id строк при переходе на GIT

Nil Alexandrov написал(а) к Ewgenij Matuhin в Mar 21 19:46:16 по местному времени:

* Originally in ru.unix.ftn
* Crossposted in ru.binkd
Нello, Ewgenij!

Saturday March 13 2021 13:29, from Ewgenij Matuhin -> Evgeny Chevtaev:

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

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

1. Средствами git. Создать файл .gitattributes со следующими строчками
*.h ident
*.c ident
Тогда при git checkout строчки $Id$ будут первращаться в хешь текущего коммита, т.е. одна и таже цифра для всех файлов и внутри не будет имени файла.

2. Сгенерировать .h файл из makefile внутри со строкой версией - тут можно сформировать с использованием "git log -1" и прочих команд.
Этот .h файл можно будет включать в разные .c файлы.

Оба способа, что я писал, нужны для генерации какой-то уникальной строчки, которую потом можно через idents(1) посмотреть, и сказать из чего был собран бинарь.
Особой наглядности при чтении самого файла исходника это не добавляет.

Best Regards, Nil
--- GoldED+/LNX 1.1.5
Ответить с цитированием