1
私はすでに現在のgitブランチ名を検出しているいくつかのbashコードを持っており、これをMakefileに移植したいと思います。Makefile内部からgitブランチ名を検出する方法は?
if [ -z ${GIT_BRANCH+x} ]; then
if [ ! -z ${BRANCH_NAME+x} ]; then
export GIT_BRANCH=${BRANCH_NAME}
else
export GIT_BRANCH=$(git branch | sed -n '/\* /s///p')
fi
fi
echo "INFO:>Branch:>$GIT_BRANCH"
このより複雑なロジックはGitのブランチ名を検出するために必要とされる理由は、誰かがこのコードは複数のコンテキストで、そのかもしれジェンキンスとトラヴィスのようなそれらのいくつか(継続的インテグレーション・システムで実行されているため、それはだ、不思議場合スパースチェックアウトを使用する)git branchコマンドを使用することはできません。幸いなことに、これらの環境では、環境変数にブランチ名が公開されます。
Makefileがリポジトリの一部である場合、ブランチ固有のコードをMakefileに直接編集するほうが簡単かもしれません。 – chepner
"これをMakefileに移植する"という意味ははっきりしません。上記のシェルコードをmakefileコードとして書き直したいのですか?それとも、makefileの中から上記のコードを含むスクリプトを起動したいのですか?または、他の何か? – MadScientist
http://stackoverflow.com/questions/589276/how-can-i-use-bash-syntax-in-makefile-targets?rq=1 – xxfelixxx