如何获取当前svn库的URL?


83

我有2个SVN Checkout,有人为我设置了。现在,我需要在另一台计算机上检查这些相同的文件,但是由于我最初没有将它们检出,所以我不知道运行svn checkout命令时要使用的网址:

svn co WHAT_GOES_HERE?

由于这两个检出已存在于我的一台服务器上,是否有办法获取最初从中检出它们的存储库的URL?

Answers:


131

通过在任何检出的目录中运行以下命令,可以获取所在目录的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的相同之处
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 2013年

4
@ dash17291,它“正常工作”,因为它可以打印出一些内容,但信息不正确。它返回存储库根目录,而不是发件人想要的。根不是回购网址(至少通常不是)。有了以上答案,您将获得repourl.com/root vs我的,在那里您将获得repourl.com/root/branch/branch_name或任何您已签出的内容。
JoshStrange

这也使用svn 1.8.10匹配“相对URL”。grep应该更改为grep "^URL"
Burhan Ali

3

无需grep,只需使用AWK进行搜索并分隔字符串
svn info | awk '/^URL/{print $2}'

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.