Sie befinden sich hier: start » de » Interne Dokumentation » DokuWiki-Erweiterungen (WvdS) » Git Plugin

Git Plugin

Git zeigt Git-Repositories, die lokal auf dem Server liegen, im Wiki an: ein Verzeichnis bekannter Repositories, ein streng lesender Zugriff auf git, Quellcode-Einbettung über die Marke {{source>git:…}} sowie ein Browser für Commits und Branches. Geschrieben wird nie. Gedacht ist das Paket für Autoren, die Quellcode auf einer Seite zeigen, und für Verwalter, die Repositories freigeben.

Erste Schritte

Häufige Aufgaben

Was Sie wollen Für wen Wo Sie das tun Anleitung
ein lokales Repository freigeben Verwaltung Konfigurationsmanager Konfiguration
Quellcode aus einem Repository auf einer Seite zeigen Autor Marke {{source>git:repo:ref:pfad}} Zweck
Commits und Branches durchsehen Leser do=wkdogit Zweck
verstehen, warum nur gelesen wird alle Wie die Ausführung abgesichert ist
ein Repository aus Azure DevOps zeigen Autor ADO-Git
wissen, was dieses Paket nicht leistet alle Grenzen

Zweck

Zeigt lokal auf dem Server liegende Git-Repositories im Wiki: eine Registrierung bekannter Repos, ein Commit- und Branch-Browser, Quelltext über die Schublade von Source Viewer Plugin und Verknüpfungen zwischen Arbeitselementen und Quellstellen.

Angemeldeter Dienst (siehe Core Plugin): git.runner; dazu der Quell-Anbieter git:.

Nicht verwechseln mit wkdoadogit. Die beiden beantworten verschiedene Fragen:
  • dieses Plugin: „was steht in diesem Klon auf diesem Server„ — es ruft ein git-Binary auf lokalen Pfaden auf, streng lesend.
  • wkdoadogit: „wer darf was mit dem echten, entfernten Repo“ — es spricht ADO über REST an und stellt einen git-Proxy nach außen.

Beide dürfen nebeneinander laufen.


Wie die Ausführung abgesichert ist

Der Ausführungspfad ist die empfindliche Stelle: hier ruft Wiki-Code ein externes Programm auf. Die Härtung ist deshalb mehrschichtig und nicht abschaltbar:

  • Nur argv, keine Shell. Es gibt keine Kommandozeile, die sich durch einen Dateinamen mit Sonderzeichen verbiegen ließe.
  • Verb-Positivliste. Nur ausdrücklich erlaubte git-Unterbefehle laufen; alles andere wird abgelehnt, statt gefiltert zu werden.
  • Wächter für Ref, Pfad und Repo. Ein Ref oder Pfad, der nicht der erwarteten Form entspricht, kommt nicht bis zum Aufruf.
  • Zeitgrenze und Mengenkappung je Aufruf.
  • Nur die Objektdatenbank, nie der Arbeitsbaum — es wird nichts ausgecheckt und nichts geschrieben.

Konfiguration

Einstellung Vorgabe Bedeutung
git_binary leer absoluter Pfad zu git. Leer = abgeschaltet
git_repo_root leer Wurzel, unterhalb derer Repos registriert/benutzt werden dürfen
git_timeout_ms 5000 Zeitgrenze je Aufruf
max_bytes 262144 Obergrenze beim Lesen eines Blobs
max_lines 1000 Zeilenobergrenze
browse_page 50 Commits je Browserseite (Lastbremse)
git_repo_root leer heißt „keine zusätzliche Pfadeinschränkung„, nicht „alles gesperrt“. Wer nur git_binary setzt und das Wurzelfeld leer lässt, öffnet die Registrierung für jeden Pfad, den der Webserver-Prozess lesen kann. In Produktion beide Felder setzen.
Auf dieser Instanz ist git_binary nicht gesetzt, das Plugin also inaktiv. Es wurde installiert, weil es zur Familie gehört und der git:-Anbieter im Vertrag von Source Viewer Plugin vorgesehen ist — in Betrieb genommen wurde es nicht.

Grenzen

  • Streng lesend. Kein Commit, kein Push, kein Checkout. Schreibende Wege laufen über wkdoadogit.
  • Die Oberfläche zeichnet ihre Überschriften noch selbst und nicht über den geteilten Dokumentenkopf aus wkfluentui; die Umstellung steht aus.

Paketangaben

Plugin: wkdogit
Namespace: lib/plugins/wkdogit/
Autor: Wolfgang van der Stille Wolfgang.van.der.Stille@gmail.com (The White Knight Labs)
Lizenz: GPL 2

de/wiki/dwe/wkdogit/start.txt · Zuletzt geändert: von 0.0.0.0