Возможный дубликат:
Показать только текущую ветку в Git
Я перемещаю свой монотонный DVCS в git. В моей настройке сборки у меня qmake получает текущую ревизию и текущую ветку (потому что они построены на buildbot), чтобы ее можно было использовать в качестве определения.
exists(_MTN):DEFINES += BUILDREVISION=\\\"$$system(mtn automate get_base_revision_id)\\\"
else:DEFINES += BUILDREVISION=\\\"NOT \
BUILT \
FROM \
SOURCE \
REPOSITORY\\\"
# Check which branch we are building
exists(_MTN):DEFINES += BUILDBRANCH=\\\"$$system(mtn au get_option branch)\\\"
else:DEFINES += BUILDBRANCH=\\\"UNKNOWN\\\"
В git я могу:
exists(.git):DEFINES += BUILDREVISION=\\\"$$system(git rev-parse HEAD)\\\"
else:DEFINES += BUILDREVISION=\\\"NOT \
BUILT \
FROM \
SOURCE \
REPOSITORY\\\"
# Check which branch we are building
exists(.git):DEFINES += BUILDBRANCH=\\\"$$system(git show-branch --current)\\\"
else:DEFINES += BUILDBRANCH=\\\"UNKNOWN\\\"
Мои проблемы заключаются в том, что "git show-branch --current" содержит сообщение фиксации и символ новой строки в нем, что моему компилятору не нравится. Как сделать git более лаконичным?