如何获取当前 svn repo 的 url?

Man*_*nny 91 linux command-line-interface svn

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

svn co WHAT_GOES_HERE?
Run Code Online (Sandbox Code Playgroud)

由于这 2 个结帐已存在于我的一台服务器上,有没有办法获取最初从中结帐的 repo 的 url?

Vla*_*kov 142

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

svn info
Run Code Online (Sandbox Code Playgroud)

如果您想要一个仅返回存储库 URL 的命令,也许用于脚本,那么您可以传递以下参数:

svn info --show-item repos-root-url 
Run Code Online (Sandbox Code Playgroud)

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

svn info | grep 'Repository Root' | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)

  • Windows 也一样:**svn info | findstr /C:"存储库根目录:"** (5认同)

Jos*_*nge 13

对于 SVN 1.7 我不得不使用

svn info | grep '^URL' | awk '{print $NF}'
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助任何带着更新的 SVN 来到这里的人

  • @dash17291 它“有效”,因为它打印出一些东西但不是正确的信息。它返回回购根,这不是提问者想要的。根不是 repo url(至少通常不是)。有了上面的答案,您将获得 http://repourl.com/root vs 我的,您将获得 http://repourl.com/root/branch/branch_name 或您已签出的任何内容。 (4认同)