Dieser Text befindet sich gegenwärtig in Bearbeitung, unterliegt ständigen Änderungen und kann dadurch nicht stets akkurat irgendeine freigegebene Version der Software Apache™ Subversion® beschreiben. Das Speichern dieser Seite als Lesezeichen oder andere auf diese Seite zu verweisen, ist keine so gute Idee. Besuchen Sie http://www.svnbook.com/, um stabile Versionen dieses Buchs zu erhalten.
Subversion bietet viele optionale Verhaltensweisen, die der Benutzer kontrollieren kann. Viele dieser Optionen möchte ein Benutzer für alle Subversion-Operationen auswählen. Anstatt die Benutzer jedoch dazu zu zwingen, sich die Kommandozeilenargumente für diese Optionen zu merken, und sie bei jeder Operation anzugeben, verwendet Subversion Konfigurationsdateien, die in einen Subversion-Konfigurations-Bereich ausgelagert sind.
Der Laufzeit-Konfigurations-Bereich von Subversion ist eine zweistufige Hierarchie aus Optionsnamen und deren Werten. Üblicherweise läuft es darauf hinaus, dass es ein Verzeichnis mit Konfigurationsdateien gibt (die erste Stufe), die einfache Textdateien im normalen INI-Format sind, wobei „Abschnitte“ die zweite Stufe liefern. Sie können diese Dateien einfach mit Ihrem Lieblingseditor (etwa Emacs oder vi) bearbeiten. Sie beinhalten Anweisungen, die vom Client gelesen werden, um festzustellen, welche der verschiedenen optionalen Verhaltensweisen die Benutzer bevorzugen.
Beim ersten Aufruf des
svn-Kommandozeilen-Clients legt er einen
anwenderspezifischen Konfigurations-Bereich an. Auf Unix-Systemen
erscheint dieser Bereich als ein Verzeichnis namens
.subversion
im Heimatverzeichnis des
Benutzers. Auf Win32-Systemen erzeugt Subversion einen Ordner
namens Subversion
normalerweise innerhalb
des Bereichs Anwendungsdaten
im
Verzeichnis für das Anwenderprofil (welches, nebenbei bemerkt,
gewöhnlich ein verstecktes Verzeichnis ist). Jedoch ist dieser
Ablageort auf dieser Plattform von System zu System
verschieden und wird durch die Windows-Registrierungsdatenbank
bestimmt.[74] Wir werden uns auf den
anwenderspezifischen Konfigurations-Bereich beziehen, indem wir
dessen Unix-Namen .subversion
verwenden.
Neben dem anwenderspezifischen
Konfigurations-Bereich berücksichtigt Subversion das
Vorhandensein eines systemweiten Konfigurations-Bereichs.
Dieser erlaubt Administratoren, Standardeinstellungen für alle
Benutzer auf einer Maschine vorzunehmen. Beachten Sie, dass
der systemweite Konfigurations-Bereich allein keine zwingende
Verfahrensweise bestimmt – die Einstellungen im
anwenderspezifischen Konfigurations-Bereich heben die
systemweiten auf, und letztendlich bestimmen an das Programm
svn übergebene Kommandozeilenargumente das
Verhalten. Auf Unix-ähnlichen Plattformen wird erwartet, dass
der systemweite Konfigurations-Bereich das Verzeichnis
/etc/subversion
ist; auf
Windows-Maschinen wird nach dem Verzeichnis
Subversion
innerhalb des gemeinsamen
Anwendungsdaten
-Bereichs gesucht (auch
hier, wie in der Windows-Registrierungsdatenbank angegeben).
Anders als beim anwenderspezifischen Bereich versucht
svn nicht, den systemweiten
Konfigurations-Bereich anzulegen.
Der anwenderspezifische Konfigurations-Bereich enthält
gegenwärtig drei Dateien – zwei Konfigurationsdateien
(config
und servers
)
und eine Datei README.txt
, die das
INI-Format beschreibt. Beim Anlegen enthalten die Dateien
Standardwerte für alle unterstützten Optionen von Subversion,
die meisten davon auskommentiert und in Gruppen
zusammengefasst, mit Beschreibungen, wie die Werte das
Verhalten von Subversion beeinflussen. Um ein bestimmtes
Verhalten zu ändern, brauchen Sie nur die entsprechende
Konfigurationsdatei in einen Editor zu laden und den Wert der
passenden Option zu ändern. Falls Sie irgendwann auf die
Standardeinstellungen zurückschalten wollen, können Sie
einfach das Konfigurationsverzeichnis löschen (oder
umbenennen) und dann irgendeinen harmlosen
svn-Befehl ausführen, wie etwa
svn --version
. Ein neues
Konfigurationsverzeichnis mit dem Standardinhalt wird dann
angelegt.
Subversion erlaubt es Ihnen auch, individuelle
Konfigurations-Optionen in der Kommandozeile zu überschreiben,
wenn Sie die Option --config-option
verwenden, die besonders nützlich ist, falls Sie eine
vorübergehende Änderung des Verhaltens herbeiführen möchten.
Weiteren zur richtigen Verwendung dieser Option unter
svn Optionen.
Der anwenderspezifische Konfigurations-Bereich enthält auch
einen Zwischenspeicher mit Authentisierungsdaten. Das
Verzeichnis auth
beinhaltet eine Reihe
Unterverzeichnisse, die Teile zwischengespeicherter
Informationen enthalten, welche von den verschiedenen durch
Subversion unterstützten Authentifizierungsmethoden benutzt
werden. Dieses Verzeichnis wird so erzeugt, dass nur der
Benutzer selbst den Inhalt lesen kann.
Neben dem üblichen INI-basierten Konfigurations-Bereich können Subversion-Clients auf Windows-Plattformen auch die Windows-Registrierungsdatenbank für die Konfigurationsdaten verwenden. Die Namen der Optionen und deren Werte sind die gleichen wie in den INI-Dateien. Die „Datei/Abschnitt-Hierarchie“ wird hierbei beibehalten, jedoch in einer etwas anderen Weise – bei diesem Schema sind Dateien und Abschnitte lediglich Ebenen im Schlüsselbaum der Registrierungsdatenbank.
Für systemweite Konfigurationswerte sucht Subversion unter
dem Schlüssel
HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion
.
Beispielsweise wird die Option
global-ignores
, die sich im Abschnitt
miscellany
der Datei
config
befindet, unter
HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Config\Miscellany\global-ignores
gefunden. Benutzereigene Konfigurationswerte sollten unter
HKEY_CURRENT_USER\Software\Tigris.org\Subversion
gespeichert werden.
Konfigurations-Optionen aus der Registrierungsdatenbank werden vor den entsprechenden datei-basierten Optionen gelesen, so dass die in den Konfigurationsdateien gefundenen Werte die entsprechenden Werte aus der Registrierungsdatenbank überschreiben. Mit anderen Worten: Subversion sucht auf Windows-Systemen nach Konfigurationsinformationen an den folgenden Stellen (niedrigere Nummern haben Vorrang vor höheren Nummern):
Kommandozeilenoptionen
Die anwenderspezifischen INI-Dateien
Die anwenderspezifischen Werte in der Registrierungsdatenbank
Die systemweiten INI-Dateien
Die systemweiten Werte in der Registrierungsdatenbank
Darüber hinaus unterstützt die
Windows-Registrierungsdatenbank keine
„Auskommentierungen“. Trotzdem ignoriert
Subversion alle Optionsschlüssel, die mit einem Doppelkreuz
(#
) beginnen. Das erlaubt Ihnen, eine
Subversion-Option auszukommentieren, ohne gleich den gesamten
Schlüssel aus der Registrierungsdatenbank zu löschen;
hierdurch wird die Wiederherstellung der Option wesentlich
erleichtert.
Der svn-Kommandozeilen-Client versucht
niemals, in die Windows-Registrierungsdatenbank zu schreiben
oder dort einen Standard-Konfigurations-Bereich anzulegen. Sie
können benötigte Schlüssel mit dem Programm
REGEDIT erzeugen. Alternativ können Sie
auch eine .reg
-Datei anlegen (so wie die
in Beispiel 7.1, „Beispieldatei mit Einträgen für die
Registrierungsdatenbank (.reg)“)
und dann im Windows-Explorer auf das Icon dieser Datei
doppelklicken, was bewirkt, dass die Daten mit der
Registrierungsdatenbank zusammengeführt werden.
Beispiel 7.1. Beispieldatei mit Einträgen für die Registrierungsdatenbank (.reg)
REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups] [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\global] "#http-auth-types"="basic;digest;negotiate" "#http-compression"="yes" "#http-library"="" "#http-proxy-exceptions"="" "#http-proxy-host"="" "#http-proxy-password"="" "#http-proxy-port"="" "#http-proxy-username"="" "#http-timeout"="0" "#neon-debug-mask"="" "#ssl-authority-files"="" "#ssl-client-cert-file"="" "#ssl-client-cert-password"="" "#ssl-pkcs11-provider"="" "#ssl-trust-default-ca"="" "#store-auth-creds"="yes" "#store-passwords"="yes" "#store-plaintext-passwords"="ask" "#store-ssl-client-cert-pp"="yes" "#store-ssl-client-cert-pp-plaintext"="ask" "#username"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth] "#password-stores"="windows-cryptoapi" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers] "#diff-cmd"="" "#diff-extensions"="-u" "#diff3-cmd"="" "#diff3-has-program-arg"="" "#editor-cmd"="notepad" "#merge-tool-cmd"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels] [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany] "#enable-auto-props"="no" "#global-ignores"="*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo *.rej *~ #*# .#* .*.swp .DS_Store" "#interactive-conflicts"="yes" "#log-encoding"="" "#mime-types-file"="" "#no-unlock"="no" "#preserved-conflict-file-exts"="doc ppt xls od?" "#use-commit-times"="no" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]
Beispiel 7.1, „Beispieldatei mit Einträgen für die
Registrierungsdatenbank (.reg)“
zeigt den Inhalt einer .reg
-Datei: einige
der am meisten benutzten Konfigurations-Optionen mit deren
Standardwerten. Beachten Sie das Auftreten von systemweiten
(für Netz-Proxy-Optionen) und anwenderspezifischen (u.a. Editoren
und Passwortspeicherung) Einstellungen. Beachten Sie
weiterhin, dass alle Optionen auskommentiert sind. Sie
brauchen nur das Doppelkreuz (#
) vom
Anfang des Optionsnamens zu entfernen und den Wert nach Ihren
Wünschen zu setzen.
In diesem Abschnitt werden wir die besonderen Laufzeit-Konfigurations-Optionen erörtern, die Subversion momentan unterstützt.
Die Datei config
enthält den Rest
der momentan verfügbaren Laufzeitoptionen von Subversion
– diejenigen, die nichts mit dem Netz zu tun haben.
Zum gegenwärtigen Zeitpunkt werden nur wenige Optionen
benutzt, die, in Erwartung künftiger Erweiterungen, jedoch
ebenfalls in Abschnitten zusammengefasst sind.
Der Abschnitt [auth]
enthält
Einstellungen zur Authentifizierung und Autorisierung
gegenüber Subversion-Projektarchiven. Er enthält das
Folgende:
password-stores
Diese Liste aus durch Komma getrennten Elementen
bestimmt, welche der (wenn überhaupt) vom System
bereitgestellten Passwortspeicher von Subversion zur
Zwischenspeicherung von Authentifizierungsdaten in
Erwägung gezogen werden sollen. Der Standardwert ist
gnome-keyring, kwallet, keychain, gpg-agent,
windows-crypto-api
, was für GNOME
Keyring, KDE Wallet, Mac OS X Keychain, GnuPG Agent
bzw. Microsoft Windows Cryptography API steht.
Aufgeführte Speicher, die auf dem System nicht zur
Verfügung stehen, werden ignoriert.
store-passwords
Der Eintrag dieser Option in der Datei
config
ist überholt. Sie steht
nun als Konfigurationseintrag für jeden Server im
Konfigurations-Bereich servers
.
Details unter
„Serverspezifische Konfiguration“
store-auth-creds
Der Eintrag dieser Option in der Datei
config
ist überholt. Sie steht
nun als Konfigurationseintrag für jeden Server im
Konfigurations-Bereich servers
.
Details unter
„Serverspezifische Konfiguration“
Der Abschnitt [helpers]
kontrolliert,
welche externen Anwendungen Subversion zur Erledigung seiner
Aufgaben benutzen soll. Gültige Optionen in diesem Abschnitt
sind:
diff-cmd
Der absolute Pfad zu einem Vergleichswerkzeug, das verwendet wird, wenn Subversion „diff“-Ausgaben erzeugt (wie beim Aufruf des Befehls svn diff). Standardmäßig benutzt Subversion eine interne Vergleichsbibliothek – wenn diese Option gesetzt wird, benutzt es für diese Aufgabe ein externes Programm. Siehe „Verwenden externer Werkzeuge zum Vergleichen und Zusammenführen“ für Details zur Verwendung solcher Programme.
diff-extensions
Ähnlich der Kommandozeilenoption
--extensions
(-x
)
werden hiermit zusätzliche Optionen angegeben, die an
den Mechanismus zum Vergleichen von Dateiinhalten
weitergereicht werden. Die Menge sinnvoller Optionen
hängt davon ab, ob der Client den eingebauten
Vergleichsmechanismus von Subversion verwendet oder
einen externen. Für Details beachten Sie die Ausgabe
von svn help diff
. Der
Standardwert dieser Option ist
-u
.
diff3-cmd
Der absolute Pfad zu einem Dreiwege-Vergleichswerkzeug. Subversion verwendet dieses Programm, um Änderungen des Benutzers mit denjenigen aus dem Projektarchiv zusammenzuführen. Standardmäßig benutzt Subversion eine interne Vergleichsbibliothek – wenn diese Option gesetzt wird, benutzt es für diese Aufgabe ein externes Programm. Siehe „Verwenden externer Werkzeuge zum Vergleichen und Zusammenführen“ für Details zur Verwendung solcher Programme.
diff3-has-program-arg
Dieser Schalter sollte auf true
gesetzt werden, falls das mit der Option
diff3-cmd
angegebene Programm den
Parameter --diff-program
zulässt.
editor-cmd
Bestimmt das Programm, das Subversion verwendet, wenn den Benutzer nach bestimmten Arten textueller Metadaten gefragt wird sowie zur interaktiven Auflösung von Konflikten. Siehe „Verwendung externer Editoren“ für weitere Informationen zur Verwendung von externen Editoren mit Subversion.
merge-tool-cmd
Gibt ein Programm an, das Subversion zur Durchführung von Dreiwege-Zusammenführungs-Operationen Ihrer versionierten Dateien benutzt. Siehe „Verwenden externer Werkzeuge zum Vergleichen und Zusammenführen“ für Details zur Verwendung solcher Programme.
Der Abschnitt [tunnels]
erlaubt Ihnen,
neue Tunnel-Schemas für svnserve und
svn://
Client-Verbindungen zu definieren.
Für weitere Details, siehe „Tunneln über SSH“.
Der Abschnitt [miscellany]
ist für
alles, was nicht woanders hingehört. In diesem Abschnitt
finden Sie:
enable-auto-props
Fordert Subversion auf, Eigenschaften von neu
hinzugefügten oder importierten Dateien zu setzen. Der
Standardwert ist no
also sollte der
Wert auf yes
gesetzt werden, um
diese Funktion zu ermöglichen. Der Abschnitt
[auto-props]
in dieser Datei gibt
an, welche Eigenschaften bei welchen Dateien gesetzt
werden sollen.
global-ignores
Wenn Sie den Befehl svn status
aufrufen, zeigt Subversion unversionierte Dateien und
Verzeichnisse zusammen mit versionierten an, wobei
erstere mit einem ?
markiert werden
(siehe „Verschaffen Sie sich einen Überblick über Ihre Änderungen“). In dieser Anzeige können uninteressante
unversionierte Objekte manchmal lästig sein –
beispielsweise Objektdateien aus einer
Programmübersetzung. Die Option
global-ignores
ist eine durch
Leerzeichen getrennte Liste aus Globs, die die Namen
der Dateien und Verzeichnisse beschreiben, die
Subversion nicht anzeigen soll, sofern sie
unversioniert sind. Der Standardwert ist *.o
*.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
*.rej *~ #*# .#* .*.swp .DS_Store
.
Ebenso wie svn status
ignorieren auch die Befehle svn add
und svn import beim Durchsuchen
eines Verzeichnisses Dateien, deren Namen auf die
Muster der Liste passen. Sie können dieses Verhalten
für einen einzelnen Aufruf einer dieser Befehle
aufheben, indem Sie entweder den Dateinamen
ausdrücklich aufführen oder die Option
--no-ignore
angeben.
Für Informationen über eine feinere Auswahl zu ignorierender Objekte, siehe „Ignorieren unversionierter Objekte“.
interactive-conflicts
Diese boolesche Option bestimmt, ob Subversion
versuchen soll, Konflikte interaktiv aufzulösen. Wenn
der Wert yes
ist (entspricht dem
Standardwert), fordert Subversion den Benutzer auf,
anzugeben, wie die Konflikte zu behandeln sind, wie in
„Lösen Sie etwaige Konflikte auf“ beschrieben.
Anderenfalls wird es den Konflikt einfach markieren
und mit der Bearbeitung weitermachen, wobei die
Konfliktauflösung auf einen späteren Zeitpunkt
verschoben wird.
log-encoding
Diese Variable bestimmt die Zeichensatzkodierung
für Protokollnachrichten. Sie ist eine dauerhafte Form
der Option --encoding
(siehe svn Optionen). Das
Subversion-Projektarchiv speichert Protokollnachrichten
in UTF-8 und geht davon aus, dass Ihre
Protokollnachricht unter Verwendung der natürlichen
Locale Ihres Betriebssystems verfasst wird. Sie
sollten eine unterschiedliche Kodierung angeben, falls
Ihre Protokollnachrichten in irgendeiner anderen
Kodierung geschrieben werden.
mime-types-file
Diese, in Subversion 1.5 neu hinzugekommene,
Option gibt den Pfad einer MIME-Typ-Zuordnungs-Datei
an, etwa die Datei mime.types
,
die vom Apache HTTP Server zur Verfügung gestellt
wird. Subversion verwendet diese Datei, um neu
hinzugefügten oder importierten Dateien MIME-Typen
zuzuordnen. Siehe „Automatisches Setzen von Eigenschaften“ und „Datei-Inhalts-Typ“ für
mehr Informationen zur Erkennung und Behandlung von
Dateiinhaltstypen durch Subversion.
no-unlock
Diese boolesche Option entspricht der Option
--no-unlock
des Befehls svn
commit, die Subversion dazu auffordert,
Sperren auf gerade übertragene Dateien nicht
aufzuheben. Wird diese Laufzeitoption auf
yes
gesetzt, wird Subversion
niemals automatisch Sperren aufheben, und es Ihnen
überlassen, ausdrücklich svn unlock
aufzurufen. Der Standardwert ist
no
.
preserved-conflict-file-exts
Der Wert dieser Option ist eine durch Leerzeichen getrennte Liste von Dateiendungen, die Subversion bei der Erstellung von Konfliktdatei-Namen beibehalten soll. Standardmäßig ist die Liste leer. Diese Option ist neu in Subversion 1.5.
Wenn Subversion Konflikte bei Änderungen an
Dateiinhalten feststellt, delegiert es deren Auflösung
an den Benutzer. Um bei der Auflösung dieser Konflikte
behilflich zu sein, hält Subversion unveränderte
Kopien der verschiedenen in Konflikt stehenden
Dateiversionen in der Arbeitskopie vor. Standardmäßig
haben diese Konfliktdateien Namen, die aus dem
Originalnamen und einer speziellen Endung bestehen,
etwa .mine
oder
.
(wobei REV
REV
eine
Revisionsnummer ist). Unter Betriebssystemen, die das
Standardprogramm zum Öffnen und Bearbeiten einer Datei
aus deren Dateiendung herleiten, ist es ein kleines
Ärgernis, dass es durch das Anhängen dieser besonderen
Endungen nicht mehr so einfach wird, die Datei mit dem
passenden Standardprogramm zu bearbeiten. Wenn
beispielsweise ein Konflikt bei der Datei
ReleaseNotes.pdf
auftaucht,
könnte es sein, dass die Konfliktdateien
ReleaseNotes.pdf.mine
oder
ReleaseNotes.pdf.r4231
genannt
werden. Obwohl Ihr System vielleicht so konfiguriert
ist, dass es Dateien mit der Endung
.pdf
mit Adobes Acrobat Reader
öffnet, gibt es wahrscheinlich keine Einstellung für
ein Programm, das alle Dateien mit der Endung
.r4231
öffnet.
Mithilfe dieser Konfigurationsoption können Sie
dieses Ärgernis allerdings beseitigen. Bei allen
Dateien mit den angegebenen Endungen wird dann nach
wie vor eine besondere Endung angehängt, jedoch wird
dann zusätzlich die Originalendung angefügt.
Angenommen, pdf
wäre eine der
Endungen, die in dieser Liste vorkämen, so würden die
für ReleaseNotes.pdf
erzeugten
Konfliktdateien im obigen Beispiel
ReleaseNotes.pdf.mine.pdf
und
ReleaseNotes.pdf.r4231.pdf
genannt werden. Da jede Datei auf
.pdf
endet, wird das korrekte
Standardprogramm zum Öffnen verwendet.
use-commit-times
Normalerweise besitzen die Dateien Ihrer Arbeitskopie Zeitstempel, die dem Zeitpunkt entsprechen, zu dem sie zuletzt von einem Prozess benutzt wurden, ob von einem Editor oder einem svn-Unterbefehl. Im Allgemeinen passt das für Softwareentwickler, da Buildsysteme oft auf Zeitstempel sehen, um festzustellen, welche Dateien neu übersetzt werden sollen.
In anderen Situationen wäre es manchmal schön,
wenn die Dateien der Arbeitskopie Zeitstempel hätten,
die dem Zeitpunkt entsprächen, zu dem sie das letzte
Mal im Projektarchiv geändert wurden. Der Befehl
svn export versieht die von ihm
erzeugten Bäume stets mit diesen „Zeitstempeln
der letzten Übergabe“. Wenn diese Variable auf
yes
gesetzt wird, vergeben auch die
Befehle svn checkout, svn
update, svn switch und
svn revert die Zeitstempel der
letzten Übergabe an die von Ihnen berührten
Dateien.
Der Abschnitt [auto-props]
kontrolliert
die Fähigkeit des Subversion-Clients, automatisch Eigenschaften
auf Dateien zu setzen, wenn sie hinzugefügt oder importiert
werden. Er enthält eine beliebige Anzahl von
Schlüssel-Wert-Paaren der Form
, wobei PATTERN
= PROPNAME
=VALUE
[;PROPNAME
=VALUE
...]PATTERN
ein Muster
ist, welches auf einen oder mehrere Dateinamen passt, und
der Rest der Zeile eine durch Semikolon getrennte Liste von
Eigenschafts-Zuweisungen ist. (Wenn Sie ein Semikolon für
den Namen oder den Wert Ihrer Eigenschaft benötigen, können
Sie es durch Verdoppelung maskieren.)
$ cat ~/.subversion/config … [auto-props] *.c = svn:eol-style=native *.html = svn:eol-style=native;svn:mime-type=text/html;; charset=UTF8 *.sh = svn:eol-style=native;svn:executable … $ cd projects/myproject $ svn status ? www/index.html $ svn add www/index.html A www/index.html $ svn diff www/index.html … Eigenschaftsänderungen: www/index.html ___________________________________________________________________ Hinzugefügt: svn:mime-type ## -0,0 +1 ## +text/html; charset=UTF8 Hinzugefügt: svn:eol-style ## -0,0 +1 ## +native $
Wenn die Muster bei einer
Datei mehrfach passen, führt das dazu, dass auch die
jeweiligen Eigenschaften gesetzt werden; jedoch ist die
Reihenfolge der Eigenschafts-Vergabe nicht garantiert, so
dass Sie eine Regel nicht durch eine andere
„aufheben“ können. Mehrere Beispiele dieser
automatischen Eigenschafts-Vergabe finden Sie in der Datei
config
. Vergessen Sie schließlich
nicht, enable-auto-props
im Abschnitt
[miscellany]
auf yes
zu
setzen, falls Sie die automatische Vergabe aktivieren
möchten.
Der in Subversion 1.8 eingeführte Abschnitt
[working-copy]
wird zur Konfiguration von
Arbeitskopien verwendet. In diesem Abschnitt gültige Optionen
sind:
exclusive-locking-clients
Ermöglicht dem Client das exklusive SQLite-Sperren
von Arbeitskopien, und verbessert somit die Leistung
von Arbeitskopien auf Netzwerk-Laufwerken.
Indem diese Konfigurations-Variable auf
svn
gesetzt wird, weisen Sie den Subversion
Kommandozeilen-Client an, exklusive Sperren zu
verwenden. Das verringert den Mehraufwand beim
Sperren, bedeutet aber auch, dass nur ein
Subversion-Client gleichzeitig auf die Arbeitskopie
zugreifen kann. Ein weiterer Client, der versucht, auf
die gesperrte Arbeitskopie zuzugreifen, blockiert für
10 Sekunden und bekommt dann einen Fehler. In den
meisten Fällen werden konkurrierende Sperren
bevorzugt, jedoch ist der Mehraufwand für das Sperren
signifikanter, falls sich die Arbeitskopie auf einem
Netzwerklaufwerk statt auf einem lokalen Laufwerk
befindet. Wenn Sie es mit großen Arbeitskopien auf
Netzwerklaufwerken zu tun haben, kann das exklusive
Sperren einen signifikanten Leistungszuwachs bedeuten,
d.h., es kann bis zu zwei oder drei Mal schneller
sein. Diese Option ist neu in Subversion 1.8.
exclusive-locking
Das Setzen dieser Konfigurations-Variablen auf
true
erlaubt exklusive
SQLite-Sperren von Arbeitskopien für alle Subversion
1.8 Clients. Diese Einstellung kann dazu führen, dass
einige Clients nicht mehr richtig arbeiten. Der
Standardwert für diese Option ist
false
. Diese Option ist neu in
Subversion 1.8.
Die Datei servers
enthält
Subversion-Konfigurations-Optionen, die mit Netzschichten zu
tun haben. In dieser Datei gibt es zwei besondere Abschnitte
– [groups]
und
[global]
. Der Abschnitt
[groups]
ist hauptsächlich eine
Querverweistabelle. Die Schlüssel in diesem Abschnitt sind
die Namen anderer Abschnitte dieser Datei; deren Werte sind
Globs – Textsymbole, die
möglicherweise Platzhalter enthalten – die mit dem
Namen der Maschine verglichen werden, an die
Subversion-Anfragen geschickt werden.
[groups] beanie-babies = *.red-bean.com collabnet = svn.collab.net [beanie-babies] … [collabnet] …
Bei Verwendung im Netz probiert Subversion den Namen des
zu erreichenden Servers mit einem Gruppennamen im Abschnitt
[groups]
abzugleichen. Falls das gelingt,
sucht Subversion nach einem Abschnitt in der Datei
servers
, dessen Name dem der
abgeglichenen Gruppe entspricht. Aus diesem Abschnitt wird
dann die eigentliche Netzkonfiguration gelesen.
Der Abschnitt [global]
enthält die
Einstellungen für all die Server, die nicht mit einem der
Globs im Abschnitt [groups]
abgeglichen
werden konnten. Die in diesem Abschnitt verfügbaren Optionen
sind exakt die gleichen, die auch in den anderen
Server-Abschnitten dieser Datei erlaubt sind (außer
natürlich im besonderen Abschnitt
[groups]
):
http-auth-types
Dies ist eine durch Semikolon getrennte Liste von
HTTP-Authentifizierungstypen, die der Client als
akzeptabel erachten wird. Gültige Typen sind
basic
, digest
und negotiate
, mit dem
standardmäßigen Verhalten, das irgendein dieser
Authentifizierungstypen akzeptiert wird. Ein Client,
der darauf besteht, keine Authentifizierungsdaten im
Klartext zu übertragen, könnte beispielsweise
dergestalt konfiguriert werden, dass der Wert dieser
Option digest;negotiate
ist, wobei
basic
in dieser Liste nicht
auftaucht. (Beachten Sie, dass diese Einstellung nur
von Subversions Neon-basierten HTTP-Modul
berücksichtigt wird.)
http-compression
Gibt an, ob Subversion versuchen soll,
Netzanfragen an DAV-fähige Server zu komprimieren. Der
Standardwert ist yes
(obwohl
Kompression nur dann stattfindet, wenn diese Fähigkeit
in die Netzschicht hinein kompiliert worden ist).
Setzen Sie diesen Wert auf no
, um
die Kompression abzuschalten, etwa wenn Sie Fehler bei
Netzübertragungen suchen.
http-library
Die Laufzeit-Konfigurations-Option
http-library
erlaubt es Anwendern,
welche der verfügbaren WebDAV-Zugriffsmodule sie
(allgemein oder pro Server-Gruppe) verwenden möchten.
Vor Version 1.8 hat Subversion ein Paar aus solchen
Modulen angeboten: die ursprüngliche Implementierung
libsvn_ra_neon
(ausgewählt mit dem
Optionswert neon
) und das neuere
libsvn_ra_serf
(ausgewählt durch
serf
). Seit Subversion 1.8 wird nur
noch libsvn_ra_serf
unterstützt.
Jedoch bleibt diese Konfigurations-Option bestehen, da
der Laufzeit-Konfigurations-Bereich Versionen nicht
wahrnimmt. Anwender mit mehreren installierten
Subversion-Versionen könnten immer noch
libsvn_ra_neon
zur Verwendung zum
Zugriff auf Orte mit einer älteren Version von
Subversion freischalten.
http-proxy-exceptions
Eine durch Komma getrennte Liste aus Namensmustern für Projektarchiv-Server, die, ohne einen Proxy-Rechner zu benutzen, direkt angesprochen werden sollen. Die Syntax für die Muster ist die gleiche wie bei Dateinamen in der Unix-Shell. Ein Projektarchiv-Server mit einem zu irgendeinem dieser Muster passenden Namen wird nicht über einen Proxy angesprochen.
http-proxy-host
Der Name des Proxy-Rechners, über den Ihre HTTP-basierten Subversion-Anfragen geleitet werden müssen. Der Standardwert ist leer, was bedeutet, das Subversion HTTP-Anfragen nicht über einen Proxy-Rechner leitet und die Zielmaschine direkt anspricht.
http-proxy-password
Das Passwort, das an den Proxy-Rechner übermittelt werden soll. Der Standardwert ist leer.
http-proxy-port
Die Portnummer, die auf dem Proxy-Rechner verwendet werden soll. Der Standardwert ist leer.
http-proxy-username
Der Anwendername, der an den Proxy-Rechner übermittelt werden soll. Der Standardwert ist leer.
http-timeout
Die Zeitspanne in Sekunden, in der auf eine
Antwort vom Server gewartet werden soll. Falls Sie
Probleme mit einer langsamen Netzverbindung haben, die
zu Auszeiten bei Subversion-Operationen führen,
sollten Sie den Wert dieser Option erhöhen. Verwenden Sie den
Wert 0
in Subversion 1.8 (oder
älteren Versionen, die den Serf-basierten HTTP
Diensteanbieter verwenden), um den Timeout vollständig
abzuschalten.
neon-debug-mask
Eine Ganzzahl, die der Neon HTTP-Bibliothek als
Maske angibt, welche Ausgaben zur Fehlersuche sie
ausgeben soll. Der Standardwert ist
0
, was alle Ausgaben zur
Fehlersuche unterbindet. Vor der Version 1.8
verwendeten die meisten Subversion-Clients Neon (über
das Zugriffsmodul libsvn_ra_neon
)
für die WebDAV/HTTP-Kommunikation zwischen
Subversion-Client und -Server. Die Unterstützung für
libsvn_ra_neon
wurde in
Subversion 1.8 jedoch eingestellt, so dass diese
Option für neuere Subversion-Installationen überholt
ist.
ssl-authority-files
Eine Liste aus durch Semikolon getrennten Pfaden zu Dateien, die Zertifikate der Zertifizierungsinstanzen (oder ZI) beinhalten, die vom Subversion-Client bei HTTPS-Zugriffen akzeptiert werden.
ssl-client-cert-file
Falls ein Wirtsrechner (oder eine Gruppe von Wirtsrechnern) ein SSL-Client-Zertifikat benötigt, werden Sie normalerweise nach dem Pfad zu Ihrem Zertifikat gefragt. Indem Sie diese Variable auf diesen Pfad setzen, kann Subversion automatisch Ihr Client-Zertifikat finden, ohne Sie zu fragen. Es gibt keinen Standard-Ablageort für Zertifikate; Subversion holt es über jeden Pfad, den Sie angeben.
ssl-client-cert-password
Falls Ihre SSL-Client-Zertifikatsdatei mit einem
Kennwort verschlüsselt ist, wird Sie Subversion bei
jeder Benutzung des Zertifikats danach fragen. Sollten
Sie das lästig finden (und Sie nichts dagegen haben,
das Passwort in der Datei servers
zu speichern), können Sie diese Variable mit dem
Kennwort des Zertifikats belegen. Sie werden dann
nicht mehr gefragt.
ssl-pkcs11-provider
Der Wert dieser Option ist der Name des PKCS#11-Lieferanten, von dem ein SSL-Client-Zertifikat gezogen wird (falls der Server danach fragt). Diese Einstellung wird nur von Subversions Neon-basierten HTTP-Modul berücksichtigt, das in Subversion 1.8 entfernt wurde.
ssl-trust-default-ca
Setzen Sie diese Variable auf
yes
, falls Sie möchten, dass
Subversion automatisch den mit OpenSSL mitgelieferten
ZI vertraut.
store-auth-creds
Diese Einstellung ist dieselbe wie
store-passwords
, mit der Ausnahme,
dass die Zwischenspeicherung der
gesamten
Authentifizierungsinformationen unterbunden oder
erlaubt wird: Anwendernamen, Passwörter,
Server-Zertifikate und andere Typen von Zugangsdaten,
die zwischengespeichert werden könnten.
store-passwords
Das weist Subversion an, vom Anwender nach
Authentifizierungsaufforderung eingegebene
Passwörter zwischenzuspeichern oder die
Zwischenspeicherung zu unterbinden. Der Standardwert
ist yes
. Setzen Sie den Wert auf
no
, um die Zwischenspeicherung auf
Platte zu unterbinden. Sie können diese Option für
einen einmaligen Aufruf des Befehls
svn überschreiben, wenn Sie den
Kommandozeilenparameter
--no-auth-cache
verwenden (bei den
Unterbefehlen, die ihn unterstützen). Weitere
Informationen hierzu unter
„Zwischenspeichern von Zugangsdaten“.
Beachten Sie, dass unabhängig von dieser Option
Subversion keine Passwörter im Klartext speichert, es
sei denn, die Option
store-plaintext-passwords
ist auch
auf yes
gesetzt.
store-plaintext-passwords
Diese Variable ist nur auf UNIX-ähnlichen Systemen
wichtig. Sie kontrolliert, was der Subversion-Client
macht, falls das Passwort für den aktuelle
Authentifizierungs-Bereich nur unverschlüsselt auf
Platte in ~/.subversion/auth/
zwischengespeichert werden kann. Sie können sie auf
yes
oder no
setzen, um unverschlüsselte Passwörter zu erlauben
bzw. zu unterbinden. Der Standardwert ist
ask
, was den Subversion-Client dazu
veranlasst, Sie jedes Mal zu fragen, wenn ein
neues Passwort dem
Zwischenspeicherungsbereich unter
~/.subversion/auth/
hinzugefügt
werden soll.
store-ssl-client-cert-pp
Diese Option kontrolliert, ob Subversion vom
Anwender bereitgestellte Passphrasen für SSL
Client-Zertifikate zwischenspeichern soll. Der
Standardwert ist yes
. Setzen Sie
ihn auf no
, um die
Zwischenspeicherung der Passphrasen zu
verhindern.
store-ssl-client-cert-pp-plaintext
Diese Option kontrolliert, ob Subversion beim
Zwischenspeichern einer Passphrase für ein SSL
Client-Zertifikat die Speicherung auf Platte im
Klartext vornehmen darf. Der Standardwert dieser
Option ist ask
, was den
Subversion-Client dazu veranlasst, bei Ihnen
nachzufragen, wenn eine neue
Client-Zertifikat-Passphrase dem Speicherbereich in
~/.subversion/auth/
hinzugefügt
werden soll. Setzen Sie den Wert dieser Option auf
yes
oder no
um
Ihre Präferenz anzugeben und entsprechende Nachfragen
zu vermeiden.
[74] Die Umgebungsvariable
APPDATA
zeigt auf den Bereich
Anwendungsdaten
, so dass Sie stets über
%APPDATA%\Subversion
auf diesen Ordner
zugreifen können.