Ich habe bereits einige Bash-Code, der den aktuellen Git-Zweig-Namen erkennt, und ich möchte dies in Makefile portieren.Wie erkennt man Git-Zweig-Namen aus einem Makefile?
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"
Falls jemand fragt, warum diese komplexere Logik erforderlich ist, um git Zweignamen zu erkennen, das ist, weil dieser Code in mehreren Kontexten ausgeführt wird und in einigen von ihnen (Continuous Integration Systeme wie Jenkins und Travis, dass kann Verwenden Sie sparse Checkouts) Sie können den git-Verzweigungsbefehl nicht verwenden. Glücklicherweise stellen diese Umgebungen die Verzweigungsnamen in einer Umgebungsvariablen zur Verfügung.
Wenn das Makefile Teil des Repositorys ist, ist es möglicherweise einfacher, den branchspezifischen Code direkt im Makefile zu bearbeiten. – chepner
Es ist nicht klar, was Sie mit "Port dies zu Makefile" meinen. Wollen Sie den obigen Shell-Code als Makefile-Code umschreiben? Oder wollen Sie ein Skript aufrufen, das den obigen Code aus einem Makefile enthält? Oder etwas anderes? – MadScientist
http://stackoverflow.com/questions/589276/how-cani-i-use-bash-syntax-in-makefile-targets?rq=1 – xxfelixxx