Inhaltsverzeichnis
SubWCRev ist ein Windows-Kommandozeilenprogramm, das dazu verwendet werden kann, den Status einer Subversion-Arbeitskopie zu ermitteln und optional Schlüsselwörter in einer Vorlagendatei zu ersetzen. Dies wird häufig als Teil eines automatisierten Erstellungsprozesses verwendet, um Informationen über die Arbeitskopie in das erstellte Objekt einfließen zu lassen. Beispielsweise kann man damit die Revisionsnummer in einen „Über...“-Dialog einbetten.
SubWCRev liest den Subversion-Status aller Dateien einer Arbeitskopie. Externals werden standardmäßig ausgeschlossen. Es ermittelt die höchste Revisionsnummer sowie deren Zeitstempel. Außerdem wird festgehalten, ob es lokale Änderungen in der Arbeitskopie sowie gemischte Revisionsnummern aus verschiedenen Aktualisierungen gibt. Die Revisionsnummer, der Revisionsbereich und der Änderungsstatus werden auf die Standardausgabe ausgegeben.
SubWCRev.exe wird per Kommandozeile oder Skript aufgerufen und über die Kommandozeilenparameter
SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]
gesteuert.
ArbeitsKopiePfad
ist der Pfad der zu prüfenden Arbeitskopie. Sie können SubWCRev nur auf Arbeitskopien und nicht direkt auf Projektarchive anwenden. Der Pfad kann absolut oder relativ zum aktuellen Arbeitsverzeichnis sein.
Wenn Sie möchten, dass SubWCRev Schlüsselwortersetzungen durchführt, sodass Felder wie Revisionsnummer und URL in einer Textdatei gespeichert werden, müssen Sie eine Schablone QuellVersionDatei
und eine Ausgabedatei ZielVersionDatei
angeben, die die ersetzte Version der Schablone enthält.
Sie können Ausschlussmuster für SubWCRev festlegen, um bestimmte Dateien und Pfade zu ignorieren. Die Muster werden aus einer Datei namens .subwcrevignore
gelesen. Die Datei wird im angegebenen Pfad und in der Wurzel der Arbeitskopie gesucht. Wird sie nicht gefunden, so werden auch keine Dateien oder Pfade ignoriert. Die Datei .subwcrevignore
kann mehrere durch Zeilenumbrüche getrennte Muster enthalten. Die Muster werden relativ zur Wurzel der Arbeitskopie und relativ zur Datei .subwcrevignore
angewendet. Um zum Beispiel sämtliche Dateien im doc
-Ordner der TortoiseSVN-Arbeitskopie zu auszuschließen, würde die Datei .subwcrevignore
die folgenden Zeilen enthalten:
/trunk/doc /trunk/doc/*
Oder unter der Annahme, dass sich die Datei .subwcrevignore
in der Wurzel der von trunk ausgecheckten Arbeitskopie befindet, würden die Muster
doc doc/*
das Gleiche erreichen.
Um sämtliche Bilder auszuschließen, könnten die Muster folgendermaßen aussehen:
*.png *.jpg *.ico *.bmp
Die Ausschlussmuster unterscheiden Groß-/Kleinschreibung, genau wie bei Subversion.
Um eine Datei mit einem führenden Punkt im Windows Explorer anzulegen, geben Sie .subwcrevignore.
ein. Beachten Sie den angehängten Punkt.
Es gibt mehrere Kommandozeilenoptionen, die die Arbeitsweise von SubWCRev beeinflussen. Wenn Sie mehrere Optionen verwenden, müssen diese in einer einzelnen Gruppe angegeben werden, z. B. -nm
, nicht -n -m
.
Tabelle 6.1. Liste der Kommandozeilenoptionen
Wechseln | Beschreibung |
---|---|
-n | Mit dieser Option gibt SubWCRev ERRORLEVEL 7 zurück, wenn die Arbeitskopie lokale Modifikationen enthält. Damit kann das Erzeugen mit nicht übertragenen Änderungen vermieden werden. |
-N | Mit dieser Option gibt SubWCRev ERRORLEVEL 11 zurück, wenn die Arbeitskopie unversionierte Objekte enthält, die nicht ignoriert werden. |
-m | Mit dieser Option gibt SubWCRev ERRORLEVEL 8 zurück, wenn die Arbeitskopie gemischte Revisionen enthält. Damit kann das Erzeugen mit einer nur teilweise aktuellen Arbeitskopie vermieden werden. |
-d | Mit dieser Option gibt SubWCRev ERRORLEVEL 9 zurück, wenn die Zieldatei bereits existiert. |
-f | Mit dieser Option wird SubWCRev die „zuletzt geänderte“ Revision von Ordnern beachten. Die Vorgabe ist, dass nur Dateien zum Ermitteln der Revisionsnummern herangezogen werden. |
-e | Mit dieser Option wird SubWCRev Verzeichnisse überprüfen, die mittels svn:externals eingebunden wurden, wenn diese auf das gleiche Projektarchiv verweisen. Die Vorgabe ist, externe Verweise zu ignorieren. |
-E | Wenn dieser Schalter wie in -e angegeben ist, werden jedoch die Externals mit expliziten Revisionen ignoriert, wenn der Revisionsbereich in ihnen nur die angegebene explizite Revision in den Eigenschaften ist. So werden gemischte Revisionen unterbunden. |
-x | Wenn dieser Schalter angegeben wurde, gibt SubWCRev die Revisionsnummern in HEX aus. |
-X | Mit dieser Option gibt SubWCRev die Revisionsnummern in HEX mit vorangestelltem '0X' aus. |
-F | Mit dieser Option ignoriert SubWCRev sämtliche .subwcrevignore Dateien und schließt alle Dateien ein. |
-q | Mit dieser Option wird SubWCRev die Schlüsselwörter ersetzen, ohne den Status der Arbeitskopie auf die Standardausgabe auszugeben. |
Wenn kein Fehler vorliegt, gibt SubWCRev null zurück. Falls ein Fehler auftritt, wird die Fehlermeldung nach stderr
geschrieben und in der Konsole angezeigt. Die zurückgegebenen Fehlercodes sind:
Tabelle 6.2. Liste der SubWCRev-Fehlercodes
Fehlercode | Beschreibung |
---|---|
1 | Syntaxfehler. Mindestens ein Kommandozeilen-Parameter ist ungültig. |
2 | Die/Der in der Befehlszeile angegebene Datei/Ordner wurde nicht gefunden. |
3 | Die Eingabedatei konnte nicht geöffnet werden oder die Zieldatei konnte nicht erstellt werden. |
4 | Konnte keinen Speicher reservieren. Dies könnte passieren, wenn z. B. die Quelldatei zu groß ist. |
5 | Die Quelldatei kann nicht ordnungsgemäß gescannt werden. |
6 | SVN-Fehler: Subversion gab einen Fehler zurück, als SubWCRev versuchte, die Informationen aus der Arbeitskopie zu ermitteln. |
7 | Die Arbeitskopie enthält lokale Änderungen. Dies erfordert den Schalter -n . |
8 | Die Arbeitskopie enthält gemischte Revisionen. Dies erfordert den Schalter -m . |
9 | Die Ausgabedatei ist bereits vorhanden. Dies erfordert den Schalter -d . |
10 | Der angegebene Pfad ist keine Arbeitskopie oder ein Teil davon. |
11 | Die Arbeitskopie enthält nicht versionierte Dateien oder Ordner. Dies erfordert den Schalter -N . |