Вот бывает что надо при сборке развесистого проекта брать информацию о id коммита, ветке и прочих радостях жизни.
Мы сделали так:
Так вот, так делать не надо. Потому что если захочется собирать проект чем-нибудь типа Teamcity, попадаешь на то, что все такие нормальные системы не выдёргивают полноценное дерево, а только последнюю ревизию, из-за чего всё вышенаписанное ломается.
Посему был приделан костыль такого вида:
Теперь если эти параметры передаются в makefile из системы сборки(а она их знает), то обращений к гиту(которые по понятным причинам обламываются) не будет.
Знал бы где где костыль сломается, инвалидное кресло бы припас.
Мы сделали так:
COMMIT=`git show --pretty=oneline|head -c 40` BUILDN=`git log --pretty=format:'' | wc -l` BRANCH=`git branch|grep '*'|awk '{print $2}'`
Так вот, так делать не надо. Потому что если захочется собирать проект чем-нибудь типа Teamcity, попадаешь на то, что все такие нормальные системы не выдёргивают полноценное дерево, а только последнюю ревизию, из-за чего всё вышенаписанное ломается.
Посему был приделан костыль такого вида:
ifndef COMMIT COMMIT=`git show --pretty=oneline|head -c 40` endif ifndef BUILDN BUILDN=`git log --pretty=format:'' | wc -l` endif ifndef BRANCH BRANCH=`git branch|grep '*'|awk '{print $2}'` endif
Теперь если эти параметры передаются в makefile из системы сборки(а она их знает), то обращений к гиту(которые по понятным причинам обламываются) не будет.
Знал бы где где костыль сломается, инвалидное кресло бы припас.
Комментариев нет:
Отправить комментарий