#5691From:Nil Alexandrov
To:Ewgenij Matuhin
Date:13-03-2021 19:46:08
Subj:Замена $Id строк при переходе на GIT
* Originally in ru.unix.ftn
* Crossposted in ru.binkd
Hello, 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
* Origin: Киловатт центр первый галина сергей харитон (2:5015/46)
SEEN-BY: 5015/46 5020/1042 6090/1
PATH: 5015/46 5020/1042 6090/1