Follow

Ich habe mir für meine Bachelorarbeit einen post-update -hook eingerichtet, der nach einem Commit das erzeugte PDF in die ownCloud kopieren soll.
Wenn ich das Skript von Hand ausführe, funktioniert alles. Leider tut es das nicht bei einem Commit (und Push).

Es beinhaltet nicht mehr als das:

#!/bin/sh
exec cp -u src/bachelorarbeit.pdf ~/Documents/HAW/.

Unter src liegen dabei die LaTeX-Dateien und auch das erzeugte PDF.

Jemand ne Idee, was ich verkehrt mache? 🤔

@Aarkon vielleicht hat dein git user nicht die Permissions. Vlt kannst du sowas wie

>> Postupdate.log

hinter das Kommando hängen. Oder ist dein Repo auf dem Server bare? Liegt es auf einem Server oder wird es lokal ausgeführt?

@rayendumeldust Das Repo liegt im GitLab meiner Hochschule. Nach meinem Verständnis wird das Skript doch einfach von dem User aufgerufen, der den Commit ausführt, oder? Einen eigenen User für git habe ich jedenfalls nicht. 😉

@Aarkon und wo möchtest du das Skript ausführen? Bei dir auf dem Computer nachdem du einen Commit gemacht hast?

@rayendumeldust Genau, soll lokal laufen.
Nach dem Commit soll das „Produkt“ meiner Bemühungen stets in meiner ownCloud landen, damit ich z.B. auf dem Telefon stets eine aktuelle Version abrufen kann, ohne im git herumzufummeln.

@Aarkon achso jetzt habe ich es verstanden. Wenn ich die Doku richtig lese dann musst du post-commit benutzen. Der Post Update wird nur auf einem Server ausgeführt. Und dann ist alles anders.

@rayendumeldust Interessant! Dafür gibt es überhaupt kein Sample. Ich versuchs gleich mal.

@Aarkon dein Hook sollte einfach so funktionieren. Nur umbenennen

@rayendumeldust @jaltek @Strubbl Das wars: post-commit hätte der Hook heißen müssen. Dafür gabs nur kein Sample. Jetzt tuts. 😀

@Aarkon
Irgendeine Fehlermeldung?
Oder versucht mal den Pfad auszuschreiben (statt "~" vielleicht "/home/deinname")?

@jaltek Keine Fehlermeldung, und auch kein Erfolg durch explizieren des Pfades.

@Aarkon Aber das Script selbst ist brav ausführbar und funktioniert (ohne git)?

@Aarkon
mach mal bitte ein
cp -uv (verbose) und vielleicht noch einen "echo foobar", um zu sehen ob es überhaupt aufgerufen wird.

@jaltek Hm. Anscheinend wird das Skript überhaupt nicht getriggert. 🤔

@Aarkon @jaltek Warum nutzt du exec vor dem cp?
Ist exec ein von "sh" unterstützter Befehl?

@Strubbl @Aarkon "exec" ersetzt nur die aktuelle shell und ist kein "sh" Befehl.

man exec

Sign in to participate in the conversation
\m/ Metalhead.club \m/

Metalhead.club is a Mastodon instance hosted in Germany and powered by 100% green energy. Mastodon is a free and decentralized alternative to well-established social microblogging platforms like Twitter. This instance is especially addressing Metal fans, but of course everybody is welcome to use metalhead.club. :-)

If you're using this Mastodon instance, please consider a single donation or monthly, recurring donations via LiberaPay to keep this instance metalling hard :-) Either via LiberaPay: Donate via LiberaPay ... or other means: https://thomas-leister.de/en/donate/