Svn存储库停止使用svn + ssh(但在服务器上本地工作)

sil*_*iot 5 svn ssh svn-externals

我有一个svn存储库,我曾经用svn + ssh协议签出.它有一些EXTERNALS,用svn + ssh URL引用自己.

我离开这个项目一段时间直到今天.当我尝试访问svn + ssh url(几个月前曾经工作过)时,我收到了消息svn: No repository found in 'svn+ssh://my-correct.hostname.com/the/right/path/to/the/repository.我仔细检查过,路径和主机名都是正确的.

我尝试使用file://URL 在托管repo的计算机上检查它,并且它成功,直到它必须签出EXTERNALS,其中No repository消息失败.我在本地和远程使用相同的用户.

我应该在哪里查找日志/调试信息来解决此问题?

sil*_*iot 1

我找到了出路。我写在这里供以后参考。

编辑:事实证明,一位同事在没有通知的情况下修改了该文件。然而找到问题的原因却比理想的情况要困难。

长话短说:即使我使用了 url,svn+ssh://my-correct.hostname.com/the/right/path/to/the/repository在服务器上查找的真实路径也是/var/svn/the/right/path/to/the/repository。确实是一条错误的道路。但我认为我为找到此问题所做的步骤可能对其他人有用,因此我将在这里报告它们。

首先,我将(在服务器上) /usr/bin/svnserve 移动到 /usr/bin/svnserve.orig 并将我自己的 svnserve 包含以下内容:

#!/bin/bash
strace -o /tmp/svntrace /usr/bin/svnserve.orig $@ | tee /tmp/svnserve-out
Run Code Online (Sandbox Code Playgroud)

然后我再次运行结账,之后/tmp/svntrace服务器上就有了我解决问题所需的所有信息。

似乎在文件中/var/svn/svnwrapper.sh使用该选项设置了 svn 的新根-r。删除后,一切都像魅力一样。

我仍然无法理解发生了什么(它过去曾经有效,我几乎确定我没有改变任何东西)。