Die offensichtlichste Art und Weise, Daten in Subversion zu
bekommen, ist es, Dateien unter Versionskontrolle zu stellen,
Änderungen an diesen Dateien zu übergeben usw. Aber neben
versionierten Dateidaten leben auch andere Informationen in
Ihrem Subversion-Projektarchiv. Einige dieser Informationen –
Protokollnachrichten, Kommentare zu Sperren und einige
Eigenschafts-Werte – sind textueller Natur und werden
ausdrücklich von Benutzern geliefert. Die meisten dieser
Informationen können dem Subversion-Kommandozeilen-Client mit
den Optionen --message
(-m
)
und --file
(-F
) bei den
entsprechenden Unterbefehlen mitgegeben werden.
Jede dieser Optionen hat ihre Vor- und Nachteile. Wenn Sie
beispielsweise eine Übergabe machen, funktioniert
--file
(-F
) prima, falls Sie
bereits eine Datei mit der Protokollnachricht vorbereitet haben.
Wenn Sie es jedoch nicht gemacht haben, können Sie
--message
(-m
) verwenden, um
eine Protokollnachricht auf der Kommandozeile mitzugeben. Leider
kann es knifflig werden, mehr als einen Einzeiler auf der
Kommandozeile anzugeben. Benutzer verlangen mehr Flexibilität
– auf Wunsch das Verfassen mehrzeiliger, formfreier
Protokollnachrichten.
Subversion unterstützt das, indem es Ihnen erlaubt, einen externen Texteditor anzugeben, den es bei Bedarf startet, um Ihnen einen leistungsfähigeren Mechanismus zur Eingabe dieser textuellen Metadaten zu geben. Es gibt mehrere Möglichkeiten, Subversion mitzuteilen, welchen Editor Sie benutzen möchten. Subversion überprüft die folgenden Dinge in der angegebenen Reihenfolge, wenn es solch einen Editor starten möchte:
--editor-cmd
Kommandozeilenoption
SVN_EDITOR
Umgebungsvariable
editor-cmd
Option der Laufzeitkonfiguration
VISUAL
Umgebungsvariable
EDITOR
Umgebungsvariable
Möglicherweise ein Standardwert, der in die Subversion-Bibliotheken eingebaut wurde (nicht in offiziell gebauten Versionen)
Der Wert aller dieser Optionen oder Variablen ist der Anfang einer Kommandozeile, die von der Shell ausgeführt werden soll. Subversion hängt an diese Kommandozeile ein Leerzeichen und den Pfadnamen einer temporären Datei, die editiert werden soll. Um einen Editor also mit Subversion verwenden zu können, muss er so aufgerufen werden können, dass dessen letzter Kommandozeilenparameter eine zu editierende Datei ist, die er beim Sichern überschreibt; und im Erfolgsfall ist ein Rückgabewert von Null zu liefern.
Wie beschrieben, können externe Editoren bei allen
übergebenden Unterbefehlen (wie svn commit
oder import, svn mkdir
oder delete wenn ein URL-Ziel angegeben wird
usw.) zur Eingabe von Protokollnachrichten verwendet werden, und
Subversion versucht, den Editor automatisch zu starten, sofern
Sie nicht eine der Optionen --message
(-m
) oder --file
(-F
) angeben. Der Befehl svn
propedit ist fast ausschließlich für die Verwendung
eines externen Editors gebaut worden. Seit Version 1.5, benutzt
Subversion auch den konfigurierten externen Editor, wenn der
Benutzer es auffordert, einen Editor zur interaktiven
Konfliktauflösung zu starten. Seltsamerweise scheint keine
Möglichkeit zu bestehen, einen externen Editor zur Eingabe von
Kommentaren für Sperren zu verwenden.