题 如何获取当前svn回购的网址?


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

svn co WHAT_GOES_HERE?

由于我的一台服务器上已经存在这两个签出,是否有办法获取最初从中检出的repo的url?


75
2017-09-11 22:07






答案:


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

svn info

如果您想要一个只返回存储库URL的命令,可能是在脚本中使用,那么您可以传递以下参数:

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

值得一提的是 --show-item  可在Subversion 1.9+中找到。在旧版本中,您可以使用以下代码段来实现类似的结果:

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

125
2017-09-11 22:20



Windows也是如此: svn info | findstr / C:“存储库根目录:” - s3v1
获取存储库的相对路径(除根URL之外有用):svn info --show-item relative-url - Elijah Lofgren


对于SVN 1.7,我不得不使用

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

我希望这可以帮助其他人来到这里使用更新的SVN


11
2017-09-28 19:09



接受的答案仍然有效 svn, version 1.7.9 (r1462340) compiled Apr 13 2013, 14:22:38。 - dash17291
@ dash17291它“工作”,因为它打印出一些东西,但没有正确的信息。它返回的repo root不是提问者想要的。根不是repo url(至少通常不是)。有了上面的答案,你会得到 repourl.com/root 和我的地方你会得到的 repourl.com/root/branch/branch_name 或者你检查过的任何东西。 - JoshStrange
这也使用svn 1.8.10匹配“Relative URL”。 grep应该改为 grep "^URL" - Burhan Ali


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


2
2017-11-04 20:24