svnpath - gibt die SVN-URL mit Unterstützung für Markierungen und
Zweige aus.
svnpath
svnpath tags
svnpath branches
svnpath trunk
svnpath ist dafür gedacht, in einer Arbeitskopie von Subversion
ausgeführt zu werden.
In der einfachsten Aufrufform gibt
svnpath ohne Parameter die SVN-URL
für das zu dieser Arbeitskopie gehörende Depot aus.
Falls ein Parameter angegeben wurde, versucht
svnpath stattdessen die URL
auszugeben, die für Markierungen, Zweige oder den Hauptzweig benutzt
würde. Dies wird nur funktionieren, falls es auf der obersten
Verzeichnisebene ausgeführt wird, welche Gegenstand des Markierens oder
Verzweigens ist.
Falls Sie zum Beispiel markieren möchten, was in Subversion als Version
1.0 eingecheckt wurde, könnten Sie einen Befehl wie diesen verwenden:
svn cp $(svnpath) $(svnpath tags)/1.0
Dies ist viel einfacher, als »svn info« zu benutzen, um die
Depot-URL nachzuschlagen und sie manuell zu ändern, um die URL
abzuleiten, die für die Markierung verwendet wird und etwas wie das
folgende zu tippen:
svn cp svn+ssh://my.server.example/svn/project/trunk svn+ssh://my.server.example/svn/project/tags/1.0
svnpath benutzt eine einfache Entscheidungsregel für Konvertierungen
zwischen den Hauptzweig-, Markierungs- und Nebenzweigpfaden. Es ersetzt das
erste Auftreten von
trunk,
tags oder
branches durch den
Namen, nach dem Sie suchen. Dies wird für die Layouts der typischsten
Subversion-Depots gut funktionieren.
Falls Sie ein untypisches Layout verwenden und es nicht funktioniert,
können Sie eine
~/.svnpath-Datei hinzufügen. Diese Datei
ist Perl-Code, der den Pfad in $url ändern kann. Für diese Datei
benutzte der Autor beispielsweise
#!/usr/bin/perl
# Svnpath persönliche Datei zum Überschreiben
# Für d-i arbeite ich manchmal an einem vollständigen d-i-Baumzweig.
# Entfernen Sie dies vom Pfad, um reguläre Markierungen und
# Zweigverzeichnisse zu erhalten.
$url=~s!d-i/(rc|beta)[0-9]+/!!;
$url=~s!d-i/sarge/!!;
1
GPL Version 2 oder später
Joey Hess <
[email protected]>