Ich habe ein Git-Repo (Gitosis), in dem jeder Entwickler einen Hauptzweig hat. Ich habe ein Skript im Post-Update-Hook, das die Hauptwebsite neu erstellt und Websites für jeden Entwickler bei jedem PUSH testet.
Ich möchte nur die Site neu erstellen, die dem festgeschriebenen Zweig entspricht, weiß aber nicht, wie ich den Namen des festgeschriebenen Zweigs ermitteln kann. Kann jemand helfen?
Antwort1
Jedes Argument für das Post-Update ist der Name eines Verweises, der durch den Push aktualisiert wurde, und ein Zweig ist ein Verweis, dessen Name so aussieht. refs/heads/<branch>
Ein Skript, das das gewünschte Ergebnis liefert, würde also ungefähr so aussehen:
#!/bin/sh
for ref in "$@"
do
case "$ref" in
refs/heads/*) /path/to/rebuild-site `basename $ref`;;
esac
done