Inhaltsverzeichnis
Da alle Befehle von TortoiseSVN über Kommandozeilenparameter beeinflusst werden können, haben Sie die Möglichkeit automatische Prozessen mit Batch Skripten zu erstellen oder Dialoge aus anderen Programmen (z.B. Ihrem Lieblingseditor) heraus aufzurufen.
Beachten Sie, dass TortoiseSVN eine graphische Anwendung ist und dass diese Automatisierungsanleitung Ihnen erklärt, wie man die Dialoge von TortoiseSVN zur Abfrage von Benutzereingaben verwendet. Wenn Sie ein Skript schreiben wollen, das keine Eingaben erfordert, sollten Sie dafür das offizielle Subversion Kommandozeilenprogramm verwenden.
Das TortoiseSVN GUI Programm heißt TortoiseProc.exe. Alle Befehle werden in der Form /command:abcd angegeben, wobei abcd der - erforderliche - Befehlsname ist. Die meisten Befehle benötigen zumindest einen Parameter, der in der Form /path:"some\path" übergeben wird. In der folgenden Tabelle bezieht sich der Befehl auf den /command:abcd Parameter und der Pfad auf den /path:"some\path" Parameter.
Da einige Befehle eine Liste von Zielpfaden akzeptieren (z.B. Übertragen mehrerer Dateien), kann der /path Parameter mehrere, durch * getrennte Pfade enthalten.
TortoiseSVN verwendet Temporärdateien, um Parameter zwischen der Shell-Erweiterung und dem Hauptprogramm zu übergeben. Ab der Version 1.5.0 von TortoiseSVN, entfällt der /notempfile Parameter und muss nicht mehr angegeben werden.
Der Fortschrittsdialog, der für Übertragungen, Aktualisierungen und viele weitere Aktionen verwendet wird, bleibt normalerweise geöffnet nachdem die Aktion beendet ist bis der Anwender die Schaltfläche betätigt. Dieses Verhalten kann durch Auswahl der entsprechenden Option in den Einstellungen verändert werden. Die Verwendung dieser Einstellung wird den Dialog, unabhängig davon ob der Befehl aus dem TortoiseSVN Kontextmenü oder aus einer Batchdatei heraus aufgerufen wurde, schließen.
Um einen anderen Ort für die Konfigurationsdatei anzugeben, verwenden Sie den /configdir:"path\to\config\dir" Parameter. Dies überschreibt alle Vorgaben, auch die aus der Registrierung.
Um den Fortschrittsdialog am Ende einer Aktion automatisch zu schließen, ohne die Standardeinstellung zu berücksichtigen, können Sie den /closeonend Parameter übergeben.
/closeonend:0 Den Dialog nicht automatisch schließen.
/closeonend:1 Schließen, wenn keine Fehler aufgetreten sind.
/closeonend:2 Schließen, wenn keine Fehler und keine Konflikte aufgetreten sind.
/closeonend:2 Schließen, wenn keine Fehler, Konflikte und Zusammenführungen aufgetreten sind.
/closeonend:2 Schließen, wenn keine Fehler, Konflikte und Zusammenführungen bei lokalen Operationen aufgetreten sind.
Die untenstehende Tabelle listet alle Befehle, die mittels TortoiseProc.exe ausgeführt werden können. Wie oben beschrieben, müssen sie in der Form /command:abcd aufgerufen werden. In der Tabelle wird der /command Präfix weggelassen, um Platz zu sparen.
Tabelle D.1. Liste der Befehle und Parameter
| Befehl | Beschreibung |
|---|---|
| :about | Öffnet den „Über TortoiseSVN“-Dialog. Dies ist das Standardverhalten, wenn kein Befehl angegeben wird. |
| :log | Öffnet den Log-Dialog. Der /path definiert die Datei oder den Ordner, für den das Log angezeigt werden soll. Drei weitere Optionen können angegeben werden: /startrev:xxx, /endrev:xxx und /strict |
| :checkout | Öffnet den „Auschecken“-Dialog. /path legt das Zielverzeichnis fest und /url definiert die URL von der ausgecheckt werden soll. |
| :import | Öffnet den „Import“-Dialog. Der /path bezeichnet das Verzeichnis mit den zu importierenden Daten. |
| :update | Aktualisiert die Arbeitskopie in /path zur HEAD Revision. Bei Angabe von /rev wird ein Dialog angezeigt, in dem der Anwender angeben kann, zu welcher Revision aktualisiert werden soll. Um die Anzeige des Dialogs zu vermeiden, geben Sie eine Revisionsnummer an /rev:1234. Weitere Optionen sind /nonrecursive und /ignoreexternals. |
| :commit | Öffnet den Übertragen-Dialog. Der /path gibt das Zielverzeichnis oder die Liste der zu übertragenden Dateien an. Sie können mit Hilfe des /logmsg Parameters eine Logmeldung übergeben oder, falls Sie das nicht per Kommandozeile tun wollen, /logmsgfile:path verwenden, wobei path auf eine Datei zeigt, die die Logmeldung enthält. Falls Sie ein Fehlerverfolgungssystem nutzen, können Sie das Eingabefeld für die Fehler-ID mittels /bugid:"Hier liegt der Fehler" vorbelegen. |
| :add | Fügt die Datei(en) in /path der Versionskontrolle hinzu. |
| :revert | Macht lokale Änderungen in der Arbeitskopie rückgängig. Der /path gibt die Objekte an. |
| :cleanup | Räumt die Hinterlassenschaften unterbrochener oder fehlgeschlagener Operationen auf und entsperrt die Arbeitskopie in /path. |
| :resolve | Markiert den Konflikt der in /path angegebenen Datei als gelöst. Bei Angabe von /noquestion wird der Konflikt ohne Rückfrage aufgelöst. |
| :repocreate | Erstellt ein Projektarchiv in /path |
| :switch | Öffnet den „Wechseln Zu“-Dialog. Der /path bezeichnet das Zielverzeichnis. |
| :export | Exportiert die Arbeitskopie in /path in ein anderes Verzeichnis. Wenn /path auf ein nicht versioniertes Verzeichnis zeigt, wird ein Dialog angezeigt, der eine URL erfragt, die in das in /path angegebene Verzeichnis exportiert wird. |
| :merge | Öffnet den Zusammenführen-Dialog. Der /path bezeichnet das Zielverzeichnis. |
| :mergeall | Öffnet den „Alle Zusammenführen“-Dialog. Der /path bezeichnet das Zielverzeichnis. |
| :copy | Öffnet den Verzweigen/Markieren-Dialog. Der /path gibt die Arbeitskopie an. Der /url ist die Ziel URL. Sie können mit dem /logmsg Parameter eine Logmeldung übergeben oder, falls Sie das nicht per Kommandozeile tun wollen, /logmsgfile:path verwenden, wobei path auf eine Datei zeigt, die die Logmeldung enthält. |
| :settings | Öffnet den Einstellungsdialog |
| :remove | Entfernt die Datei(en) in /path aus der Versionskontrolle. |
| :rename | Benennt die Datei in /path um. Der neue Dateiname wird über einen Dialog abgefragt. Um die Frage nach dem Umbenennen ähnlicher Dateien in einem Schritt zu umgehen, übergeben Sie /noquestion. |
| :diff | Startet das externe, in den TortoiseSVN Einstellungen angegebene Vergleichsprogramm. Der /path spezifiziert die erste Datei. Bei Angabe von /path2, werden diese beiden Dateien verglichen. Ohne Angabe von /path2, wird die Datei in /path mit ihrer BASE Revision verglichen. Um die Revisionsnummern vorzugeben, verwenden Sie /startrev:xxx und /endrev:xxx. Wenn /blame, aber nicht /path2 angegeben ist, wird der Vergleich durchgeführt, indem zunächst die Dateien in den gegebenen Revisionen annotiert werden. |
| :showcompare |
Abhängig von den URLs und den zu vergleichenden Revisionen wird entweder ein Standard-Diff (falls die Die Optionen |
| :conflicteditor | Startet den in der TortoiseSVN Einstellungen angegebenen Konflikteditor mit der konfliktbehafteten Datei in /path. |
| :relocate | Zeigt den „Umplatzieren“-Dialog. Der /path bezeichnet die umzuplatzierende Arbeitskopie. |
| :help | Öffnet die Hilfedatei |
| :repostatus | Öffnet den „Prüfe auf Änderungen“-Dialog. Der /path bezeichnet die Arbeitskopie. |
| :repobrowser | Startet den Projektarchivbetrachter mit der URL der in /path oder /path angegebenen Arbeitskopie. Mit der Option /rev:xxx kann die vom Projektarchivbetrachter anzuzeigende Revision festgelegt werden. Ohne /rev:xxx, wird die HEAD Revision angezeigt. Falls /path auf eine URL zeigt, wird durch /projectpropertiespath:path/to/wc der Pfad festgelegt, aus dem die Projekteigenschaften gelesen und angewendet werden. |
| :ignore | Fügt alle Objekte in /path zur Liste der ignorierten Dateien hinzu, das heißt für alle Objekte wird die svn:ignore Eigenschaft gesetzt. |
| :blame |
Öffnet den Annotieren-Dialog mit der in Wenn die Optionen Wenn die Option Die Optionen |
| :cat | Speichert eine Datei von einer /path angegebenen Arbeitskopie oder URL an der in /savepath:path spezifizierten Stelle. Eine Revision kann in /revision:xxx angegeben werden, um eine Datei in einer bestimmten Revision zu holen. |
| :createpatch | Erzeugt eine Patchdatei für den in /path angegebenen Pfad. |
| :revisiongraph | Zeigt den Revisionsgraphen für den in /path angegebenen Pfad. |
| :lock | Sperrt eine oder alle Dateien in einem Verzeichnis. Der „Sperren“-Dialog wird angezeigt, damit der Anwender einen Kommentar für die Sperre eingeben kann. /path |
| :unlock | Entsperrt eine oder alle Dateien in einem Verzeichnis. /path |
| :rebuildiconcache | Rekonstruiert den Windows Symbolspeicher. Verwenden Sie diese Funktion nur, wenn die Windows Symbole beschädigt sind. Ein nicht vermeidbarer Seiteneffekt dieser Aktion ist, dass die Desktopsymbole neu arrangiert werden. /noquestion |
| :properties | Zeigt den Eingenschaftsdialog für den in /path angegebenen Pfad. |
Beispiele (die auf einer Zeile eingegeben werden sollten):
TortoiseProc.exe /command:commit
/path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
/logmsg:"test log message" /closeonend:0
TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0
TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
/startrev:50 /endrev:60 /closeonend:0