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"
如果有人想知道爲什麼是必要的,以檢測混帳分支名這個更復雜的邏輯,這是因爲這段代碼在多種環境中執行,並在其中一些(持續集成系統,如詹金斯和Travis可能使用稀疏簽出)你不能使用git分支命令。幸運的是,這些環境確實在環境變量中公開分支名稱。
如果Makefile是版本庫的一部分,直接編輯特定於代碼的代碼到Makefile中可能會更簡單。 – chepner
目前還不清楚「將此端口移植到Makefile」是什麼意思。你的意思是,你想重寫上面的shell代碼作爲makefile代碼嗎?或者你的意思是,你想從一個makefile中調用包含上述代碼的腳本?或者是其他東西? – MadScientist
http://stackoverflow.com/questions/589276/how-can-i-use-bash-syntax-in-makefile-targets?rq=1 – xxfelixxx