Neue Manpages rund im Gerrit
Erste Manpages mit wichtigen Informationen erstellt.
diff --git a/doc/wiz/gerrit-account b/doc/wiz/gerrit-account
new file mode 100644
index 0000000..3ac1b67
--- /dev/null
+++ b/doc/wiz/gerrit-account
@@ -0,0 +1,29 @@
+Wie bekomme ich einen Account in gerrit?
+----------------------------------------
+
+1) Ihr habt einen Github- oder Google-Account
+Dann geht ihr auf https://anonymizer.zesstra.de:8443/ und benutzt oben rechts
+"Sign-in".
+Anschliessend geht ihr oben rechts in die Einstellungen eures Accounts oder
+hierhin: https://anonymizer.zesstra.de:8443/#/settings/
+Dort koennt ihr euren SSH-Key hinterlegen und einige andere Einstellungen
+vornehmen. Im Falle des Login via Google koennt ihr (glaube ich) auch euren
+Usernamen einmalig festlegen. In jedem Fall koennt ihr einen Anzeigenamen
+(Full Name) hinterlegen.
+Der als Username bezeichnete ist der, den ihr fuer git+ssh braucht.
+Nach Accounterstellung sagt ihr bitte einem EM oder allen euren RMs Bescheid,
+damit diese euch in die richtigen Gruppen aufnehmen. ;-)
+
+
+2) Ihr habt weder einen Github- noch einen Google-Account
+ (und wollt euch keinen)
+In dem Fall braucht ihr einen gerrit-Admin (zur zeit ich oder Arathorn).
+Dieser kann einen Benutzer anlegen. In diesem Fall koennt ihr gerrit aber
+NICHT ueber die Weboberflaeche benutzen, nur via git + ssh. Auch muss dann
+der Gerrit-Admin euren SSH-Key eintragen.
+
+Und da ich immer noch ein self-signed Zertifikat verwende: es hat den
+SHA256-Fingerprint:
+EC:BF:F3:D1:02:86:5F:00:1A:3A:1D:7C:47:AB:C6:6F:FB:9C:D2:3F:EA:DC:47:
+86:D6:40:94:24:18:A2:67:D7
+
diff --git a/doc/wiz/gerrit-cli b/doc/wiz/gerrit-cli
new file mode 100644
index 0000000..9864753
--- /dev/null
+++ b/doc/wiz/gerrit-cli
@@ -0,0 +1,13 @@
+gerrit: Kommandozeilenbedienung
+
+Will man die Weboberflaeche nicht benutzen, kann man einen groesseren Teil der
+dort machbaren Dinge auch ueber die Kommandozeile durch absetzen von
+ssh-Kommandos erreichen, z.B. gibt
+ ssh mgg gerrit ls-projects
+alle Projekte aus, in denen man zumindest irgendwo Leserechte hat. Gibt man
+dem Kommando ein -t als Argument mit, bekommt man eine Baumstruktur.
+
+Eine vollstaendige Liste mit Erklaerungen spare ich mir hier mal, die ist
+naemlich im Netz zu finden. ;-)
+https://anonymizer.zesstra.de:8443/Documentation/cmd-index.html#user_commands
+
diff --git a/doc/wiz/gerrit-faq b/doc/wiz/gerrit-faq
new file mode 100644
index 0000000..3537959
--- /dev/null
+++ b/doc/wiz/gerrit-faq
@@ -0,0 +1,105 @@
+1) Wo finde ich die Weboberflaeche?
+ https://anonymizer.zesstra.de:8443/
+
+2) Wo ist die Anleitung?
+ https://anonymizer.zesstra.de:8443/Documentation/index.html
+
+3) Wo ist die Anleitung fuer Projekteigentuemer?
+ https://anonymizer.zesstra.de:8443/Documentation/intro-project-owner.html
+
+4) Wie clone ich ein Projekt / Repository
+ git clone ssh://zesstra@anonymizer.zesstra.de:29418/d/anfaenger/...
+ mit SSH-Hostalias mgg:
+ git clone ssh://mgg/d/anfaenger/...
+ Auf der Weboberflaeche werden auch direkte Copy&Paste-Kommandos angezeigt.
+
+5) Wie bekomme ich Aenderungen in gerrit?
+ a) ohne Review
+ Das geht, falls ihr Schreibrechte fuer direkten Push in den Branch
+ habt:
+ git push origin <local_branch>:<remote_branch>
+ git push origin master:master
+ b) mit Review
+ Wenn ihr keine direkten Schreibrechte auf den Branch habt oder wollt,
+ dass eure Aenderung von jemand anderem gelesen wird:
+ git push origin <local_branch>:refs/for/<remote_branch>
+ git push origin master:refs/for/master
+
+ Nur der Zweig 'master' wird zwischen gerrit und dem Mud synchronisiert, alle
+ anderen Zweige bleiben nur in gerrit.
+ Eine ausfuehrlichere Darstellung gibt es in der Doku von gerrit:
+ https://anonymizer.zesstra.de:8443/Documentation/intro-user.html#upload-change
+ Und noch ausfuehrlicher:
+ https://anonymizer.zesstra.de:8443/Documentation/user-upload.html
+
+6) Welche Bedeutung haben die Review-Labels?
+ Wenn ihr Aenderungen ueber den Review-Prozess einreicht, gibt es folgende
+ Labels, die RMs (und andere) vergeben koennen:
+ a) Code-Review
+ -2 Dies darf nicht angeschlossen werden (veto)
+ -1 Ich wuerde vorziehen, es so nicht anzuschliessen
+ 0 keine Meinung / keine Ahnung (Default)
+ +1 Sieht gut fuer mich aus, aber jemand anders muss genehmigen
+ +2 Sieht gut fuer mich aus, anschlussfaehig
+ Jeder Vollmagier kann in /d/ Werte von -1 bis +1 vergeben.
+ Zustaendige RMs (und EM+) koennen Werte von -2 bis +2 vergeben (sprich: sie
+ duerfen auch ein Veto einlegen).
+ Vergibt jemand -2, kann diese Aenderung nicht ins MG gehen, bis diese
+ Meinung geaendert/geloescht wurde.
+ Eine +2 ist noetig, damit eine Aenderung ins MG geschoben werden kann.
+
+ b) Balance-Genehmigung
+ -1 Benoetigt, aber liegt nicht vor
+ 0 Keine benoetigt (Default)
+ +1 Benoetigt und liegt vor
+ Jeder Vollmagier darf alle diese Werte vergeben. -1 blockiert den
+ Anschluss, 0 und +1 geben ihn frei.
+
+7) Wie bekommen ich einen Magier dazu, meine Aenderung zu reviewen?
+ Gute Frage. ;-) Im Ernst: euer RM sollte es von sich aus tun, aber es
+ schadet nix, kurz Bescheid zu geben - speziell, wenn es eilig ist.
+ Ihr koennt auch jemanden zum Review einladen, sowohl auf der Weboberflaeche
+ wie auch per Kommandozeile:
+ https://anonymizer.zesstra.de:8443/Documentation/intro-user.html#adding-reviewers
+ ssh mgg gerrit set-reviewers
+
+8) Wie kann ich die Commits eines Projekt im Web angucken?
+ In der Projektliste dem Link zu gitweb in der ganz rechten Spalte folgen.
+ Oder: https://anonymizer.zesstra.de:8443/gitweb?p=d%2Fanfaenger%2Fennox%2Ftutorial.git;a=summary
+
+9) Wie kann ich Aenderungen in einem Projekt verfolgen?
+ Im gitweb eines Projektes kann man RSS- und Atom-Feeds abonnieren.
+
+10) Kann ich Aenderungen im Review aendern?
+ (Was sind diese Change-IDs?)
+ Klar - das geht, wenn der neue/geaenderte Commit die gleiche sog. Change-ID
+ hat wie der alte.
+ Details:
+ https://anonymizer.zesstra.de:8443/Documentation/user-changeid.html
+
+11) Wie bekomme ich Schreibrechte?
+ Fuer eure eigenen Projekte in /d/ und /players/ bekommt ihr normalerweise
+ automatisch die Rechte als Projekteigentuemer. Damit koennt ihr sogar nicht
+ nur Inhalt pushen, sondern auch Projekteinstellungen (inkl. Zugriffsrechte)
+ aendern. (Warnung: und euch selber aussperren.)
+ Als Projekteigentuemer duerft ihr auch in den meisten Projekten den
+ Review-Prozess umgehen. (Was aber vielleicht nicht immer sinnvoll und
+ manchmal nichtmals einfacher ist.)
+ (BTW: wenn ihr als Projekteigentuemer zuviel Unfug macht und RMs/EMs damit
+ unnoetig Arbeit, koennt ihr diese Rechte verlieren...)
+ Was ihr aber auch als Projekteigentuemer nicht duerft (weil das die
+ Synchronisation mit dem MG zerstoert), ist ein "forced push" in master,
+ d.h. ein push, der die Geschichte von master aendert.
+
+12) Ich bin aber in /d/ebene/<ich>/<dings> nicht Eigentuemer?
+ Dann wurde das Projekt vermutlich mit einer alten Version des
+ Importscriptes angelegt - das hat das leider noch nicht gemacht.
+ In diesem Fall wendet euch an den RM und bittet, euch als
+ Projekteigentuemer aufzunehmen.
+ (Alternativ koennt ihr diese Aenderung tatsaechlich selber vornehmen und
+ dann im Reviewprozess speichern. Der RM kann diese Aenderung mit einem
+ Befehl freigeben.)
+
+13) Ich moechte ein secure/ in meinem Projekt anlegen / loeschen.
+ Schau mal in die Manpage gerrit-secure.
+
diff --git a/doc/wiz/gerrit-migration b/doc/wiz/gerrit-migration
new file mode 100644
index 0000000..3e82ef8
--- /dev/null
+++ b/doc/wiz/gerrit-migration
@@ -0,0 +1,54 @@
+Wie wechselt man von gitolite zu gerrit?
+---------------------------------------
+
+0) ssh-Hostalias einrichten (optional)
+Damit man sich auf der Kommandozeile sowas wie
+ git clone ssh://zesstra@anonymizer.zesstra.de:29418/d/anfaenger/ark/
+ knochentempel
+ ssh zesstra@anonymizer.zesstra.de -p 29418
+abkuerzen kann UND demnaechst nicht alle Repos aendern/neu clonen muss,
+koennt ihr euch in ~/.ssh/config ein Alias einrichten:
+Host mgg
+ Hostname anonymizer.zesstra.de
+ Port 29418
+ User <euer username>
+ IdentityFile ... (optional)
+
+Nun koennt ihr obiges ssh-kommando abkuerzen zu:
+ssh mgg
+und git-kommandos zu sowas:
+git clone mgg/players/zesstra/a a.git
+(Und wenn die gerrit-Instanz umzieht, brauch ihr nur das Hostalias zu
+ aendern.)
+
+1) Account in gerrit anlegen
+s. man gerrit-account
+
+2) in gerrit bestehendes Repo clonen
+ git clone ssh://mgg/<reponame> <reponame>
+ Und optional in neuem Repo:
+ git config user.name <magier> und git config user.email <mail>
+
+3) Zweige von bestehendem Repo nach gerrit importieren
+ Wenn ihr in eurem alten Repo andere Zweige als master habt, koennt
+ ihr sie uebernehmen:
+ cd <bestehendes repo>
+ git push ssh://mgg/<repo> <zweig>:refs/heads/<zweig>
+ (git push ssh://mgg/<repo> *:* - aber vorsicht mit master!)
+ siehe 1)
+
+4) bestehendes Repo von gitolite nach gerrit wechseln
+ und Repo existiert in gerrit noch nicht
+ Ihr legt im Mud im Verzeichnis die Datei gerrit-create-project an und
+ schreibt "create" in die erste Zeile.
+ Zur vollen Stunde wird das Projekt/Repository in gerrit LEER angelegt.
+ Anschliessend koennt ihr alle gewuenschten Zweige wie in 2) in das
+ neue Repo pushen (inkl. master). Sobald master gepusht wurde, wird das
+ neue Repo mit dem Mud synchronisiert.
+ Zum Schluss clont ihr noch das das neue Repo wie in 1)
+
+Nachdem ihr das erste Mal in das Repo von gerrit gepusht habt, solltet ihr
+nicht mehr in das Repo von gitolite (git@mg.mud.de) pushen. Ihr koennt das
+verhindern, indem ihr dieses Kommando benutzt:
+ssh git@mg.mud.de writable <repo> off
+
diff --git a/doc/wiz/gerrit-projekte b/doc/wiz/gerrit-projekte
new file mode 100644
index 0000000..74e3407
--- /dev/null
+++ b/doc/wiz/gerrit-projekte
@@ -0,0 +1,26 @@
+Erstellung neuer Projekte / Repos in Gerrit
+-------------------------------------------
+
+Neue Projekte werden wie bisher aus dem Mud erstellt. Dies darf jeder, der
+Schreibrechte in dem Verzeichnis m Mud besitzt.
+Zur vollen Stunde werden Projekte fuer alle Verzeichnisse erzeugt, welche eine
+Datei gerrit-create-project enthalten. Dies ist unterschiedlich, je nachdem,
+was in der ersten Zeile dieser Datei steht:
+ import: Das Projekt wird erzeugt und der Inhalt des Verzeichnisses
+ aus dem Mud importiert.
+ create: Das Projekt wird LEER erzeugt und nichts importiert. Dies
+ ist dann nuetzlich, wenn man eine bestehen Historie aus einem
+ anderen git-Repo uebernehmen will. Diese kann man dann in das
+ neue, leer Repo pushen. Erst danach erfolgt auch die
+ Synchronisation mit dem Mud. (Tip: beim push sollte master
+ den gleichen Inhalt haben wie im Mud liegt.)
+
+Erzmagier haben zusaetzlich die Moeglichkeit, Projekte ohne Zeitverzoegerung
+ueber die Weboberflaeche oder den Befehl
+ssh mgg gerrit create-project ...
+anzulegen.
+
+Nur ueber die Anlage durch einen EM lassen sich Verzeichnisse ausserhalb von
+/d/, /p/service und /players/ sowie Verzeichnisse fuer nicht-existente Magier
+erzeugen.
+
diff --git a/doc/wiz/gerrit-scripts b/doc/wiz/gerrit-scripts
new file mode 100644
index 0000000..2e7ecd9
--- /dev/null
+++ b/doc/wiz/gerrit-scripts
@@ -0,0 +1,15 @@
+support scripts for gerrit in MG
+
+These are not included in the public mudlib, but may be
+provided on request.
+
+gerrit-create-project: called from gerrit, creates sync repo
+ and imports stuff from mud
+gerrit-import: called by cron, creates new projects for dirs
+ with gerrit-create-project files
+gerrit-autocommit: called by cron, calls gerrit-sync2lib for
+ every gerrit repo
+gerrit-sync2lib: called by gerrit and gerrit-autocommit, syncs
+ between gerrit repos and mudlib
+gerrit.env: set environment variables for gerrit scripts
+
diff --git a/doc/wiz/gerrit-secure b/doc/wiz/gerrit-secure
new file mode 100644
index 0000000..2810aa3
--- /dev/null
+++ b/doc/wiz/gerrit-secure
@@ -0,0 +1,34 @@
+gerrit: secure-Verzeichnisse
+----------------------------
+
+Normalerweise sind Projekte in /d/ durch alle Vollmagier lesbar.
+Da git/gerrit sich nicht fuer secure/ interessiert, muessen Projekte mit
+secure/ leider anders behandelt werden: nur der eigentlich Eigentuemer, der
+zustaendige RM sowie W+ koennen sie lesen (nur nur secure/, sondern das
+komplette Repo).
+
+Ihr koennt sie genauso wie alle anderen Verzeichnisse importieren/anlegen. Das
+Script, was das tut, stellt automatisch die Benutzerrechte anders ein als bei
+normalen /d/-Verzeichnissen, sobald irgendein Unterverzeichnis den Namen
+"secure" hat.
+
+Ihr solltet euch zusammen mit dem RM ueberlegen, ob man wegen eines secure/
+das ganze Projekt fuer viele unlesbar machen muss oder ob ihr evtl. ein
+einzelnes Projekt nur fuer das secure/ anlegt.
+
+Ich moechte ein secure/ in meinem Projekt anlegen.
+-------------------------------------------------
+Dann solltest Du vorher die Projektkonfiguration so aendern, dass nicht
+mehr jeder lesen darf.
+- Stelle sicher, dass der RM, Du selbst und die Erzmagier das Recht
+ "Owner" auf refs/* haben.
+- Erbe die Rechte nicht mehr von d/<region>, sondern All-Projects
+Im Zweifelsfall lass Dich im MG erst beraten.
+
+Ich moechte ein secure/ loeschen.
+--------------------------------
+Sehr gut!
+- Erbe in Deinem Projekt die Rechte nicht mehr von All-Projects, sondern
+ d/<region>
+Im Zweifelsfall lass Dich im MG erst beraten.
+