blob: 1738d921a2b25000bc00018c684ca3d96739b06c [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001Synchronisation zwischen git-Repositories und Mud
2=================================================
3
4I. Push von aussen ins Mud.
5
Zesstra8cad02c2016-09-01 22:25:25 +02006Am Ende es Pushes wird ein Script gestartet, was folgendes macht:
MG Mud User88f12472016-06-24 23:31:02 +02007
81) Wenn fuer die Synchronisation mit dem Mud aktiv ist, wird mit der Mudlib
9 gesynct. Wenn nicht: Ende
102) Zunaechst wird in einem lokalen Clone des git-Repositories ein temporaerer
11 Branch zum Mergen von Aenderungen aus dem Mud angelegt (auto-mud-sync),
12 welcher bei dem Tag last-auto-mud-sync startet und dieser Branch
13 ausgecheckt.
143) Mit Hilfe von rsync werden alle Aenderungen aus der Mudlib hereinkopiert.
154) Wenn Aenderungen existieren, wird ein neuer Commit auf dem Branch gemacht.
165) Anschliessend wird Branch master ausgecheckt.
176) Wenn es Aenderungen gab, die in 4) commitet wurden, wird jetzt der Branch
18 auto-mud-sync mit diesem Commit in master gemergt.
19 Kommt es hierbei zu Konflikten, werden die _automatisch_ zugunsten des
20 Standes der git-Repositories aufgeloest, d.h. es gehen ggf. Aenderungen aus
21 dem Mud verloren. Es kann hierbei daher passieren, dass von 8 im Mud
22 geaenderten Zeilen nur 6 uebernommen werden, weil 2 Zeilen in Konflikt mit
23 den Aenderungen im git-Repository stehen. Daher ist es wichtig, das
24 Ergebnis dieses Merges im Nachhinein zu pruefen und ggf. zu korrigieren!
257) Falls es Aenderungen gab, wird jetzt der in 7) erstellte Merge-Commit ins
26 git-Repository gepusht.
278) Der jetzt gemergte Stand wird per rsync ins Mud kopiert.
289) Das Tag last-auto-mud-sync wird aktualisiert.
29
30
31II. Automatischer regelmaessiger Commit vom Mud
32
Zesstra8cad02c2016-09-01 22:25:25 +020033Jeden Tag um 05:11 wird via cronjob und das Script ~/scripts/gerrit-autocommit
34fuer jedes Repo in ~/gerrit/ das unter I. beschriebene Script
35~/scripts/gerrit-sync2lib ausgefuehrt.
MG Mud User88f12472016-06-24 23:31:02 +020036
37
38III. Import von Verzeichnissen aus dem Mud
39
40Zu jeder vollen Stunde wird in allen Verzeichnissen unter /d/, /p/ und
Zesstra8cad02c2016-09-01 22:25:25 +020041/players/ die Datei 'gerrit-create-project' gesucht. Alle Verzeichnisse, in denen
42diese existiert, werden in gerrit importiert und gleichzeitig auch ein Clone
43in ~/gerrit/ erstellt, d.h. dass die Synchronisationsmassnahmen
MG Mud User88f12472016-06-24 23:31:02 +020044unter I. und II. fuer dieses neue git-Repository aktiv sind.
45
MG Mud User88f12472016-06-24 23:31:02 +020046