git-Mirrors per Cron aktualisieren

Ich habe ein paar meiner Projekte auf github gelegt; allerdings hätte ich doch gerne die Daten der Repositories auf meinem Server - da bin ich irgendwie eigen :-) Die Sache sieht so aus, daß ich in einem Verzeichnis eine Reihe .git-Verzeichnisse (also bare Repositories) liegen habe; einige davon sind die Mirrors von github, andere sind eigenständige Repositories. Die Mirrors wollte ich per Cronjob täglich aktualisieren. Wie's geht, habe ich hier kurz zusammengeschrieben:

Einen solchen Mirror von einem git-Repo legt man mit folgendem Kommando an:

git clone --mirror url/repo.git

Eine Aktualisierung führt ein einfaches git fetch im jeweiligen Verzeichnis durch.

Damit wären die grundlegenden Zutaten vorhanden. Dieses Skript bekommt als Parameter das Verzeichnis, in dem die .git-Repos liegen; es prüft jedes davon, ob es ein Remote Repository namens origin besitzt - falls ja, aktualisiert es das Repo. Das ganze per Cronjob aufgerufen - et voilà, fertig!

comments powered by Disqus