Wie bekomme ich die URL des aktuellen SVN-Repos?

83

Ich habe 2 SVN-Kassen, die jemand für mich eingerichtet hat. Jetzt muss ich dieselben Dateien auf einem anderen Computer überprüfen, aber da ich sie anfangs nicht ausgecheckt habe, kenne ich die zu verwendenden URLs beim Ausführen des Befehls svn checkout nicht:

svn co WHAT_GOES_HERE?

Gibt es eine Möglichkeit, die URL des Repos abzurufen, von dem sie ursprünglich ausgecheckt wurden, da diese beiden Auscheckvorgänge bereits auf einem meiner Server vorhanden sind?

Manny
quelle

Antworten:

131

Sie können die URL des Verzeichnisses, in dem Sie sich befinden, sowie das Repository-Stammverzeichnis und andere Informationen abrufen, indem Sie den folgenden Befehl in einem der ausgecheckten Verzeichnisse ausführen:

svn info

Wenn Sie einen Befehl wünschen, der nur die URL des Repositorys zurückgibt, möglicherweise zur Verwendung in einem Skript, können Sie den folgenden Parameter übergeben:

svn info --show-item repos-root-url 

Es ist erwähnenswert, dass --show-item Subversion 1.9+ verfügbar ist . In älteren Versionen können Sie das folgende Snippet verwenden, um ein ähnliches Ergebnis zu erzielen:

svn info | grep 'Repository Root' | awk '{print $NF}'
Vladimir Blaskov
quelle
5
Gleiches gilt für Windows: svn info | findstr / C: "Repository Root:"
s3v1
So ermitteln Sie den relativen Pfad für das Repository (zusätzlich zur Stamm-URL nützlich): svn info --show-item relative-url
Elijah Lofgren
12

Für SVN 1.7 musste ich verwenden

svn info | grep '^URL' | awk '{print $NF}'

Ich hoffe, das hilft allen anderen, die mit einem neueren SVN hierher kommen

JoshStrange
quelle
Die akzeptierte Antwort funktioniert noch für svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38.
Dash17291
4
@ dash17291 es "funktioniert" so wie es etwas druckt aber nicht die richtigen infos. Es gibt die Repo-Wurzel zurück, die der Fragesteller nicht will. Die Wurzel ist nicht die Repo-URL (zumindest normalerweise nicht). Mit der obigen Antwort erhalten Sie repourl.com/root vs mine, wo Sie repourl.com/root/branch/branch_name oder was auch immer Sie ausgecheckt haben.
JoshStrange
Dies entspricht auch "Relative URL" mit svn 1.8.10. Das Grep sollte aufgrep "^URL"
Burhan Ali
3

Sie brauchen nicht zu grübeln, sondern verwenden AWK für die Suche und die Begrenzung der Zeichenfolge
svn info | awk '/^URL/{print $2}'

TristikNZ
quelle