Hier ist mein Post erhalten Haken:Wie kann ich Gitolite Post-Receive-Hook machen, um den vollständigen Pfad zur modifizierten Datei anzuzeigen?
#!/bin/bash
while read oldrev newrev ref; do
git diff --name-only oldrev..newrev
git --work-tree=/tmp checkout HEAD -- plugin.yml
echo -e "Test complete maybe..." | tee >(exec logger)
done
Und hier ist die Ausgabe:
Und wenn ich durch OLDREV ersetzen oldrev..newrev - Newrev, der Ausgang ist:
Ich brauche Ordner, in denen diese Datei (plugin.yml) geändert wurde. Vielen Dank.
Ja, dies sollte $ oldrev und $ newrev innerhalb der Schleife sein. Weitere Beispiele finden Sie unter https://www.cyberciti.biz/faq/unix-linux-iterate-over-a-variable-range-of-numbers-in-bash/ oder https://www.cyberciti.biz/faq/bash-for-loop/ – VonC
JA, es zeigt es: D Und die letzte Frage: Wie kann ich diesen Pfad in die Variable setzen? Vielleicht test = $ {git diff - nur-name oldrev..newrev}? –
Ja, außer es ist test = $(), nicht $ {}. Siehe "Befehlsersetzung" unter https://unix.stackexchange.com/a/4570/7490 – VonC