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-Konfigurationsbereich ausgelagert sind.
Der Konfigurationsbereich 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 (mit „Abschnitten“, die 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
benutzereigenen Konfigurationsbereich 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 Benutzerprofil (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.
[47]
Wir werden uns auf den benutzereigenen Konfigurationsbereich
beziehen, indem wir dessen Unix-Namen
.subversion
verwenden.
Neben dem benutzereigenen Konfigurationsbereich
berücksichtigt Subversion das Vorhandensein eines systemweiten
Konfigurationsbereichs. Dieser erlaubt Administratoren,
Standardeinstellungen für alle Benutzer auf einer Maschine
vorzunehmen. Beachten Sie, dass der systemweite
Konfigurationsbereich allein keine zwingende Verfahrensweise
bestimmt – die Einstellungen im benutzereigenen
Konfigurationsbereich heben die systemweiten auf, und
letztendlich bestimmen an das Programm svn
übergebene Kommandozeilenargumente das Verhalten. Auf
Unix-ähnlichen Plattformen wird erwartet, dass der systemweite
Konfigurationsbereich 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 benutzereigenen Bereich versucht
svn nicht, den systemweiten
Konfigurationsbereich anzulegen.
Der benutzereigene Konfigurationsbereich 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.
Der benutzereigene Konfigurationsbereich 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 Konfigurationsbereich 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.
Konfigurationsoptionen aus der Registrierungsdatenbank werden vor den entsprechenden dateibasierten 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 benutzereigenen INI-Dateien
Die benutzereigenen 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 Rautezeichen
(#
) 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.
Niemals versucht der
svn-Kommandozeilen-Client, in die
Windows-Registrierungsdatenbank zu schreiben oder dort einen
Standard-Konfigurationsbereich 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-proxy-host"="" "#http-proxy-port"="" "#http-proxy-username"="" "#http-proxy-password"="" "#http-proxy-exceptions"="" "#http-timeout"="0" "#http-compression"="yes" "#neon-debug-mask"="" "#ssl-authority-files"="" "#ssl-trust-default-ca"="" "#ssl-client-cert-file"="" "#ssl-client-cert-password"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auth] "#store-passwords"="yes" "#store-auth-creds"="yes" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\helpers] "#editor-cmd"="notepad" "#diff-cmd"="" "#diff3-cmd"="" "#diff3-has-program-arg"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\tunnels] [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany] "#global-ignores"="*.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store" "#log-encoding"="" "#use-commit-times"="" "#no-unlock"="" "#enable-auto-props"="" [HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\auto-props]
Das vorangegangene Beispiel zeigt den Inhalt einer
.reg
-Datei: einige der am meisten benutzten
Konfigurationsoptionen mit deren Standardwerten. Beachten Sie
das Auftreten von systemweiten (für Netz-Proxy-Optionen) und
benutzereigenen (u.a. Editoren und Passwortspeicherung)
Einstellungen. Beachten Sie weiterhin, dass alle Optionen
auskommentiert sind. Sie brauchen nur das Rautezeichen
(#
) vom Anfang des Optionsnamens zu
entfernen und den Wert nach Ihren Wünschen zu setzen.
In diesem Abschnitt werden wir die besonderen Laufzeit-Konfigurationsoptionen erörtern, die Subversion momentan unterstützt.
Die Datei servers
enthält
Subversion-Konfigurationsoptionen, 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-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-port
Die Portnummer, die auf dem Proxy-Rechner verwendet werden soll. Der Standardwert ist leer.
http-proxy-username
Der Benutzername, der an den Proxy-Rechner übermittelt werden soll. Der Standardwert ist leer.
http-proxy-password
Das Passwort, das 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. Der
Standardwert ist 0
, der der
zugrunde liegenden HTTP-Bibliothek, Neon, auffordert,
deren Standardwert zu benutzen.
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
Subversion stellt ein Paar aus Modulen für den
Projektarchiv-Zugriff zur Verfügung, die das
WebDAV-Netzprotokoll verstehen. Das mit Subversion
1.0 ausgelieferte Original ist
libsvn_ra_neon
(obwohl es damals
libsvn_ra_dav
hieß). Neuere
Subversion-Versionen liefern auch
libsvn_ra_serf
mit, das eine
unterschiedliche Implementierung verwendet und darauf
zielt, einige der neueren HTTP-Konzepte zu
unterstützen.
Zum gegenwärtigen Zeitpunkt wird
libsvn_ra_serf
noch als
experimentell betrachtet, obwohl es in gewöhnlichen
Fällen ziemlich gut funktioniert. Um das
Experimentieren zu fördern, stellt Subversion die
Laufzeit-Konfigurationsoption
http-library
zur Verfügung, die es
Benutzern ermöglicht, festzulegen (generell oder pro
Server-Gruppe), welche WebDAV-Zugriffsmodule sie
bevorzugen – neon
oder
serf
.
http-auth-types
Eine durch Semikolon getrennte Liste von
Authentifizierungsmethoden, die von den Neon-basierten
WebDAV-Projektarchiv-Zugriffsmodulen unterstützt werden.
Gültige Elemente dieser Liste sind
basic
, digest
und negotiate
.
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. Für weitergehende
Informationen über Subversions Verwendung von Neon
siehe Kapitel 8, Subversion integrieren.
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-trust-default-ca
Setzen Sie diese Variable auf
yes
, falls Sie möchten, dass
Subversion automatisch den mit OpenSSL mitgelieferten
ZI vertraut.
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.
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:
store-passwords
Ordnet an, ob Subversion vom Benutzer nach
Authentisierungsaufforderungen eingegebene
Passwörter zwischenspeichern soll oder nicht. 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 Aufruf des Befehls
svn aufheben, indem Sie den
Parameter --no-auth-cache
auf der
Kommandozeile angeben (für diejenigen Unterbefehle,
die ihn unterstützen). Für weitergehende
Informationen, siehe „Zwischenspeicherung der Client-Zugangsdaten“.
store-auth-creds
Diese Einstellung ist die gleiche wie
store-passwords
, außer dass sie die
Zwischenspeicherung aller
Authentisierungsinformationen erlaubt:
Benutzernamen, Passwörter, Server-Zertifikate und alle
möglichen anderen Typen speicherbarer
Berechtigungsnachweise.
Der Abschnitt helpers
kontrolliert,
welche externen Anwendungen Subversion zur Erledigung seiner
Aufgaben benutzen soll. Gültige Optionen in diesem Abschnitt
sind:
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.
diff-cmd
Der absolute Pfad zu einem Vergleichsprogramm, 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 Vergleichs- und Zusammenführungsprogramme“ für Details zur Verwendung solcher Programme.
diff3-cmd
Der absolute Pfad zu einem Dreiwege-Vergleichsprogramm. 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 Vergleichs- und Zusammenführungsprogramme“ 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.
merge-tool-cmd
Gibt ein Programm an, das Subversion zur Durchführung von Dreiwege-Zusammenführungs-Operationen Ihrer versionierten Dateien benutzt. Siehe „Verwenden externer Vergleichs- und Zusammenführungsprogramme“ 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:
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 #*# .*.rej *.rej .*~ *~ .#*
.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“.
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.
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.
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.
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.
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.
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
„Konflikte auflösen (Änderungen anderer einarbeiten)“ beschrieben.
Anderenfalls wird es den Konflikt einfach markieren
und mit der Bearbeitung weitermachen, wobei die
Konfliktauflösung auf einen späteren Zeitpunkt
verschoben wird.
no-unlock
Diese boolesche Option entspricht der Option
--no-unlock
des Befehls svn
commit, die Subversion dazu auffordert,
Sperren auf gerade übergebene 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
.
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 PATTERN =
PROPNAME=VALUE[;PROPNAME=VALUE ...]
, wobei
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 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.
[47] Die Umgebungsvariable APPDATA
zeigt
auf den Bereich Anwendungsdaten
, so
dass Sie stets über
%APPDATA%\Subversion
auf diesen
Ordner zugreifen können.