Um ein SVN-Server als ein Deamon auszuführen, ist nur ein Startscript nötig.
Nachfolgendes Script führt die gleiche Aufgabe aus wie der Manuelle Aufruf
svnserve -d -r /var/svn
Voraussetzungen
- Hier wird davon ausgegangen das der SVN-Server Funktionsfähig Eingerichtet ist.
- Falls nicht siehe nachfolgenden Link, so wird auch ein SVN Server mitinstalliert SvnX_und_SVN_unter_Apples_Mountain_Lion_OS_X_10.8.0.
- Für nachfolgende Aktionen in einem Terminal ist ein Sudo (mit Adminpasswort) erforderlich.
Script
Ein Deamonscript erstellen
sudo emacs /Library/LaunchDaemons/org.apache.subversion.svnserve.plist
org.apache.subversion.svnserve.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.apache.subversion.svnserve</string> <key>ProgramArguments</key> <array> <string>svnserve</string> <string>--daemon</string> <string>--root=/var/svn</string> </array> <key>RunAtLoad</key> <true/> </dict> </plist>
Der Eintrag <string>–root=/var/svn</string> beschreibt den Ort wo die Repository liegt oder liegen soll.
In diesem Fall in dem Verzeichnis /var/svn
Speichern mit ctrl+x und ctrl+c und dann mit y bestätigen.
Script starten
Ändere den Besitzer auf root
sudo chown root /Library/LaunchDaemons/org.apache.subversion.svnserve.plist
Passe die Dateirechte an.
sudo chmod 644 /Library/LaunchDaemons/org.apache.subversion.svnserve.plist
Laden des Scripts
sudo launchctl load /Library/LaunchDaemons/org.apache.subversion.svnserve.plist
Startet das Script
sudo launchctl start org.apache.subversion.svnserve
FERTIG, nun sollte das Skript laufen und bei jedem Neustart den SVN-Server starten.
Zusätze
Stoppt das Script
sudo launchctl stop org.apache.subversion.svnserve
Entlädt das Script
sudo launchctl unload /Library/LaunchDaemons/org.apache.subversion.svnserve.plist
Anzeigen einer Liste, was alles unter „org“ im launchd eingetragen ist.
sudo launchctl list |grep org
Infos über svnserve
ps auxww | fgrep svnserve
Verzeichniserklärung
~/Library/LaunchAgents ..........→ Userskript, wird ausgeführt, wenn sich $USER anmeldet. Owner = $USER /Library/LaunchAgents .......... → Wird bei jedem User bei der Anmeldung ausgeführt. Owner = root /Library/LaunchDaemons ......... → Wird beim Systemstart ausgeführt. Owner = root /System/Library/LaunchAgents ... → Sollte nicht verwendet werden! /System/Library/LaunchDaemons .. → Sollte nicht verwendet werden!