Diese Dokumentation wurde zur Beschreibung der Serie 1.6.x von Subversion erstellt. Falls Sie eine unterschiedliche Version von Subversion einsetzen, sei Ihnen dringend angeraten, bei http://www.svnbook.com/ vorbeizuschauen und stattdessen die zu Ihrer Version von Subversion passende Version dieser Dokumentation heranzzuiehen.

svnserve – Maßgeschneideter Subversion-Server

svnserve gestattet den Zugriff auf Subversion-Projektarchive über das spezielle Netzprotokoll von Subversion.

Sie können svnserve als selbständigen Server-Prozess laufen lassen (für Clients, die das Zugriffsverfahren svn:// verwenden); Sie können ihn bei Bedarf von einem Dämon wie inetd oder xinetd starten lassen (ebenfalls für svn://), oder Sie können ihn bei Bedarf durch sshd für das Zugriffsverfahren svn+ssh:// starten lassen.

Egal, welches Zugriffsverfahren verwendet wird: sobald der Client ein Projektarchiv ausgewählt hat, indem er dessen URL überträgt, liest svnserve eine Datei namens conf/svnserve.conf im Projektarchiv-Verzeichnis, um spezifische Einstellungen wie etwa die zu verwendende Authentifizierungs-Datenbank und die anzuwendenden Autorisierungsrichtlinien zu ermitteln. Siehe „svnserve, ein maßgefertigter Server“ zu Details der Datei svnserve.conf.

svnserve-Optionen

Im Gegensatz zu den bisher beschriebenen Kommandos besitzt svnserve keine Unterbefehle – es wird ausschließlich über Optionen gesteuert.

--daemon (-d)

Veranlasst svnserve, im Dämon-Modus zu laufen. svnserve verschwindet in den Hintergrund und akzeptiert und bedient TCP/IP-Verbindungen über den svn-Port (standardmäßig 3690).

--foreground

In Verbindung mit -d wird svnserve veranlasst, im Vordergrund zu bleiben. Dies ist hauptsächlich nützlich für die Fehlersuche.

--inetd (-i)

Veranlasst svnserve, die Dateideskriptoren stdin und stdout zu verwenden, was passend ist, falls der Dämon von inetd gestartet wird.

--help (-h)

Gibt eine Zusammenfassung der Aufrufsyntax und beendet sich anschließend.

--listen-host HOST

Veranlasst svnserve, an der durch HOST spezifizierten Schnittstelle auf Verbindungen zu warten; das kann entweder ein Rechnername oder eine IP-Adresse sein.

--listen-once (-X)

Veranlasst svnserve, eine Verbindung über den svn-Port anzunehmen, sie zu bedienen und sich dann zu beenden. Dies ist hauptsächlich nützlich für die Fehlersuche.

--listen-port PORT

Veranlasst svnserve, Verbindungen über PORT anzunehmen, falls es im Dämon-Modus läuft. (Dämonen unter FreeBSD horchen standardmäßig nur auf tcp6 – dies teilt ihnen mit, dass sie auch auf tcp4 horchen sollen.)

--log-file FILENAME

Veranlasst svnserve die Datei FILENAME (falls nötig) anzulegen und für die operative Protokollausgaben von Subversion nach Art von mod_dav_svn zu verwenden. Für Einzelheiten, siehe „Protokollierung auf hohem Niveau“.

--pid-file FILENAME

Veranlasst svnserve, seine Prozess-ID in die Datei FILENAME zu schreiben, die schreibbar sein muss für die Benutzerkennung unter der svnserve läuft.

--root (-r) ROOT

Stellt das virtuelle Wurzelverzeichnis für Projektarchive ein, die von svnserve bedient werden. Der Pfadname in von Clients übergebenen URLs wird relativ zu dieser Wurzel interpretiert und kann dieses Wurzelverzeichnis auch nicht verlassen.

--threads (-T)

Veranlasst svnserve wenn es im Dämon-Modus läuft, für jede Verbindung einen Thread statt einen Prozess zu starten (z.B., falls es unter Windows läuft). Der Prozess svnserve geht beim Start dennoch in den Hintergrund.

--tunnel (-t)

Veranlasst svnserve, im Tunnelmodus zu laufen, der wie der inetd-Modus funktioniert (beide Modi bedienen eine Verbindung über stdin/stdout und beenden sich dann), mit der Ausnahme, dass angenommen wird, dass die Verbindung im Voraus mit dem Anwendernamen der aktuellen UID authentifiziert worden ist. Diese Option wird für Sie automatisch vom Client übergeben, wenn ein Tunnel-Agent wie ssh verwendet wird. Das bedeutet, dass für Sie kaum die Notwendigkeit besteht, jemals diese Option an svnserve zu übergeben. Falls Sie sich einmal dabei erwischen, auf der Kommandozeile svnserve --tunnel zu tippen und sich fragen, was als nächstes zu tun ist, siehe „Tunneln über SSH“.

--tunnel-user NAME

In Verbindung mit der Option --tunnel teilt diese Option svnserve mit, dass es davon ausgehen soll, dass NAME der authentifizierte Benutzer ist statt der UID des svnserve-Prozesses. Dies ist nützlich für Benutzer, die zwar ein einzelnes Systemkonto über SSH verwenden möchten, dabei aber unterschiedliche Identitäten für die Übergabe beibehalten möchten.

--version

Gibt Versionsinformationen und eine Auflistung aller vom Client unterstützten Module für den Zugriff auf ein Subversion-Projektarchiv aus und beendet sich.