現在のsvnリポジトリのURLを取得する方法は?


84

誰かが私のために設定した2つのsvnチェックアウトがあります。今、私はこれらの同じファイルを別のコンピューターでチェックする必要がありますが、最初にチェックアウトしなかったため、svn checkoutコマンドを実行するときに使用するURLがわかりません。

svn co WHAT_GOES_HERE?

これらの2つのチェックアウトは私のサーバーの1つに既に存在するので、最初にチェックアウトされたレポのURLを取得する方法はありますか?

回答:


132

チェックアウトしたディレクトリのいずれかで次のコマンドを実行すると、現在のディレクトリのURL、およびリポジトリルートなどの情報を取得できます。

svn info

おそらくスクリプトで使用するために、リポジトリのURLのみを返すコマンドが必要な場合は、次のパラメーターを渡すことができます。

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

--show-item Subversion 1.9+で利用できること注目に値します。古いバージョンでは、次のスニペットを使用して同様の結果を得ることができます。

svn info | grep 'Repository Root' | awk '{print $NF}'

5
Windowsでも同じこと: svn info | findstr / C: "リポジトリルート:"
s3v1

リポジトリの相対パスを取得するには(ルートURLに加えて便利):svn info --show-item relative-url
Elijah Lofgren

12

SVN 1.7の場合、使用する必要がありました

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

これが、より新しいSVNでここに来る他の誰にも役立つことを願っています


受け入れられた答えはまだ有効ですsvn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38
dash17291

4
@ dash17291それは何かが出力されるように「動作」しますが、正しい情報は出力されません。アスカーが望んでいないレポのルートを返します。ルートはリポジトリURLではありません(少なくとも通常はそうではありません)。上記の答えを使用すると、repourl.com / root / branch / branch_nameまたはチェックアウトしたものを取得するrepourl.com/root vs mineを取得します。
JoshStrange

これは、svn 1.8.10を使用した「相対URL」にも一致します。grepを次のように変更する必要がありますgrep "^URL"
Burhan Ali

3

grepの必要はありません。検索にAWKを使用し、文字列を区切るだけです。
svn info | awk '/^URL/{print $2}'

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.