Inhaltsverzeichnis
Da alle Befehle von TortoiseSVN über Kommandozeilenparameter beeinflusst werden können, haben Sie die Möglichkeit, automatische Prozesse 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 Parameter /command:abcd
und der Pfad auf den Parameter /path:"some\path"
.
Es gibt einen besonderen Befehl, der den Parameter /command:abcd
nicht benötigt, sondern stattdessen den Projektmonitor startet, wenn nichts auf der Befehlszeile übergeben wird. Mit der Option /tray
startet der Projektmonitor verborgen als Symbol im Windows-Benachrichtigungsbereich.
Da einige Befehle eine Liste von Zielpfaden akzeptieren (z. B. Übertragen mehrerer Dateien), kann der Parameter /path
mehrere, durch *
getrennte Pfade enthalten.
Sie können auch eine Datei angeben, die eine durch Zeilenumbrüche getrennte Liste von Pfaden enthält. Die Datei muss im UTF-16-Format ohne eine BOM sein. Um eine solche Datei anzugeben, verwenden Sie /pathfile
anstelle von /path
. Damit TortoiseSVN die Datei nach Beendigung des Befehls löscht, übergeben Sie den Parameter /deletepathfile
. Wenn Sie /deletepathfile
nicht angeben, müssen Sie die Datei anschließend selbst löschen.
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 Parameter /configdir:"path\to\config\dir"
. 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 Parameter /closeonend
ü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 Konflikte aufgetreten sind.
/closeonend:3
Schließen, wenn keine Fehler, Konflikte und Zusammenführungen aufgetreten sind.
. Um den Fortschrittsdialog für lokale Operationen zu schließen, wenn keine Fehler, Konflikte und Zusammenführungen aufgetreten sind, übergeben Sie den Parameter /closeforlocal
.
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 Präfix /command
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. Die Option An svn date revision can be in one of the following formats:
|
:checkout |
Öffnet den Auschecken-Dialog. Wenn Sie |
:import | Öffnet den Import-Dialog. Der /path gibt das Verzeichnis mit den zu importierenden Daten an. Sie können mit dem /logmsg eine Logmeldung übergeben oder, wenn Sie das nicht per Kommandozeile tun wollen, /logmsgfile:path verwenden, wobei path auf eine Datei zeigt, die die Logmeldung enthält. |
:update | Aktualisiert die Arbeitskopie in /path auf HEAD. Mit der Option /rev wird ein Dialog angezeigt, in dem vom Anwender die Zielrevision abgefragt wird. Um den Dialog zu vermeiden, geben Sie in /rev:1234 die Revisionsnummer an. Weitere Optionen sind /nonrecursive , /ignoreexternals und /includeexternals . Der /stickydepth sorgt dafür, dass die angegebene Tiefe bestehen bleibt und eine dünn besetzte Arbeitskopie angelegt wird. Mit /skipprechecks werden alle Prüfungen vor einer Aktualisierung übersprungen. Dadurch werden auch die Schaltfläche Zeige Log und das Kontextmenü für Vergleiche nach der Aktualisierung deaktiviert. |
:commit | Öffnet den Übertragen-Dialog. Der /path gibt das Zielverzeichnis oder die Liste der zu übertragenden Dateien an. Sie können mit Hilfe des Parameters /logmsg eine Logmeldung übergeben oder, wenn Sie das nicht per Kommandozeile tun wollen, /logmsgfile:path verwenden, wobei path auf eine Datei zeigt, die die Logmeldung enthält. Wenn 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 | Bereinigt die Arbeitskopie in /path nach unterbrochenen oder abgebrochenen Operationen und entsperrt sie. Außerdem muss /cleanup übergeben werden, um das Bereinigen tatsächlich durchzuführen. Mittels /noui sorgen Sie dafür, dass der Ergebnisdialog, der entweder eine Fehlermeldung oder den Erfolg des Bereinigens anzeigt, nicht angezeigt wird. /noprogressui deaktiviert darüber hinaus den Fortschrittsdialog. /nodlg den Dialog, in dem der Anwender wählen kann, was genau bereinigt werden soll. Die verfügbaren Optionen können mittels /cleanup zum Bereinigen, /breaklocks zum Aufbrechen aller Sperren, /revert zum Zurücknehmen nicht übertragener Änderungen, /delunversioned , /delignored , /refreshshell , /externals , /fixtimestamps und /vacuum übergeben werden. |
: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. /path legt das Zielverzeichnis fest und /url definiert die URL, zu der gewechselt werden soll. |
: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. Wenn Sie den Schlüssel /blockpathadjustments angeben, wird die automatische Anpassung des Exportpfades blockiert. |
:dropexport | Exportiert die Arbeitskopie in /path in das in /droptarget angegebene Verzeichnis. Dieser Export verwendet nicht den Dialog, sondern wird direkt ausgeführt. Mit der Option /overwrite legen Sie fest, dass vorhandene Dateien ohne Rückfrage überschrieben werden. Die Option /autorename bedeutet, dass exportierte Dateien im Konfliktfall umbenannt werden, damit vorhandene Dateien nicht überschrieben werden. Option /extended hat die Parameter localchanges , mit dem nur lokal veränderte Objekte exportiert werden, und unversioned , mit dem zusätzlich alle nicht versionierten Objekte exportiert werden. |
:dropvendor | Kopiert den Ordner in /path rekursiv in das in /droptarget angegebene Verzeichnis. Neue Dateien werden automatisch hinzugefügt. Fehlende Dateien werden in der Zielarbeitskopie entfernt, um sicherzustellen, dass Quelle und Ziel identisch sind. Geben Sie /noui an, um den Bestätigungsdialog zu überspringen, und /noprogressui , um auch die Anzeige des Fortschrittsdialogs zu deaktivieren. |
:merge | Öffnet den Zusammenführen-Dialog. Der /path definiert den Zielordner. Zum Zusammenführen eines Revisionsbereichs stehen die folgenden Optionen zur Verfügung: /fromurl:URL , /revrange:string . Zum Zusammenführen zweier Bäume stehen folgende Optionen zur Verfügung: /fromurl:URL , /tourl:URL , /fromrev:xxx und /torev:xxx . |
: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. Wenn die URL mit einem ^ beginnt, wird sie relativ zur Wurzel des Projektes betrachtet. Sie können die Option Wechselt die Arbeitskopie zum neuen Zweig / zur neuen Marke gleich aktivieren, indem Sie den Parameter /switchaftercopy mit übergeben. Um die Option Zwischenordner erstellen zu aktivieren, können Sie den Parameter /makeparents mit übergeben. Sie können mit dem Parameter /logmsg eine Logmeldung übergeben oder, wenn 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. Wenn die Datei obendrein Eigenschaftsänderungen hat, wird das Vergleichsprogramm auch für jede geänderte Eigenschaft gestartet. Um das zu vermeiden, übergeben Sie den Parameter /ignoreprops . Um die Revisionsnummern vorzugeben, verwenden Sie /startrev:xxx und /endrev:xxx sowie für die optionale fixe Revision /pegrevision:xxx . Wenn /blame , aber nicht /path2 angegeben ist, wird der Vergleich durchgeführt, indem zunächst die Dateien in den gegebenen Revisionen annotiert werden. Der Parameter /line:xxx gibt die Zeile an, in die beim Anzeigen des Vergleichs gesprungen werden soll. |
:shelve | Stellt die gewählten Pfade in einer neuen Ablage zurück. Parameter/shelfname:name legt den Namen der Ablage fest. Eine optionale Logmeldung kann mit /logmsg:message angegeben werden. Mit der Option /checkpoint werden die lokalen Änderungen beibehalten. |
:unshelve | Wendet die Ablage mit dem Namen /shelfname:name auf den Pfad der Arbeitskopie an. Standardmäßig wird die neueste Version der Ablage verwendet, aber Sie können mit /version:X eine Version auswählen. |
:showcompare |
Abhängig von den URLs und den zu vergleichenden Revisionen wird entweder ein Standard-Diff (wenn die Option Die Optionen Falls die angegebene URL obendrein Eigenschaftsänderungen hat, wird das Vergleichsprogramm auch für jede geänderte Eigenschaft gestartet. Um das zu vermeiden, übergeben Sie den Parameter Wenn ein Standard-Diff angefordert wird, kann eine optionale |
: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 Auf Änderungen prüfen-Dialog. /path legt die Arbeitskopie fest. Wenn /remote angegeben wird, kontaktiert der Dialog beim Start das Projektarchiv, als ob der Anwender auf Projektarchiv prüfen geklickt hätte. |
:repobrowser |
Startet den Projektarchivbetrachter in der URL der Arbeitskopie, die in Eine zusätzliche Option Wenn Wenn |
:ignore | Fügt alle Objekte in /path zur Ignorierliste 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 | Erstellt eine Patchdatei für den in /path angegebenen Pfad. Um den Dialog "Speichern unter" zu überspringen, können Sie den Pfad /savepath:path angeben, in dem die Patchdatei direkt gespeichert werden soll. Übergeben Sie /noview , um zu verhindern, dass der Standard-Diff-Betrachter die Patchdatei anzeigt. Wenn ein Standard-Diff angefordert wird, kann eine Option Quelltextformatierung angegeben werden, die die Zusammenführen-Info-Eigenschaften in einem benutzerfreundlicheren Format anzeigt. |
:revisiongraph |
Zeigt den Revisionsgraphen für den in Um ein Bild des Revisionsgraphen für einen bestimmten Pfad zu erstellen, ohne den Graphen im Fenster anzuzeigen, übergeben Sie mittels Da der Revisionsgraph viele Optionen hat, die sein Aussehen beeinflussen, können Sie diese auch verwenden, wenn Sie das Ausgabebild erzeugen. Übergeben Sie die Optionen mittels |
:lock | Sperrt eine oder alle Dateien im in /path angegebenen Verzeichnis. Der Sperren-Dialog wird angezeigt, damit der Anwender einen Kommentar für die Sperre eingeben kann. |
:unlock | Entsperrt eine oder alle Dateien in einem in /path angegebenen Verzeichnis. |
: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 Eigenschaftsdialog für den in Für versionierte Eigenschaften ist für diesen Befehl eine Arbeitskopie erforderlich. Revisionseigenschaften können angezeigt/geändert werden, wenn Um den Dialog direkt für eine bestimmte Eigenschaft zu öffnen, übergeben Sie den Namen der Eigenschaft in der Form |
:sync |
Exportiert oder importiert die Einstellungen wie angegeben oder abhängig davon, ob die aktuellen oder die exportierten Einstellungen neuer sind. Wenn mittels Der Parameter Wenn weder die Option Mit der Option Mit der Option Der Parameter |
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