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

svn co WHAT_GOES_HERE?


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

#1 楼

通过在任何检出的目录中运行以下命令,可以获取您所在目录的URL以及存储库根目录和其他信息:

svn info


如果您想要一个仅返回存储库URL的命令(也许供脚本使用),则可以传递以下参数:

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


这是值得的注意--show-item在Subversion 1.9+中可用。在较旧的版本中,可以使用以下代码段来达到类似的结果:

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


评论


Windows的相同之处:svn信息| findstr / C:“存储库根目录:”

– s3v1
2012年10月11日9:53



要获取存储库的相对路径(除根URL外还有用):svn info --show-item relative-url

–伊莱贾·洛夫格伦(Elijah Lofgren)
17-10-11在20:42

#2 楼

对于SVN 1.7,我不得不使用

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


我希望这对其他使用新版SVN的人有所帮助

评论


接受的答案仍适用于编译于2013年4月13日14:22:38的svn版本1.7.9(r1462340)。

–dash17291
13年5月18日在21:14

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

–JoshStrange
13年5月20日在13:19

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

– Burhan Ali
15年8月3日,11:29

#3 楼

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