SVN信息库停止与svn + ssh一起使用(但在服务器上本地工作) [英] Svn repository stopped working with svn+ssh (but works locally on the server)

查看:113
本文介绍了SVN信息库停止与svn + ssh一起使用(但在服务器上本地工作)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个svn信息库,我曾经使用svn + ssh协议进行检出.其中包含一些EXTERNALS,它们使用svn + ssh URL进行引用.

I had an svn repository that I used to checkout with the svn+ssh protocol. It has some EXTERNALS in it that refer to itself with the svn+ssh URL.

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

I was off this project for a while until today. When I try to access the svn+ssh url (that used to work some months ago) I get the message svn: No repository found in 'svn+ssh://my-correct.hostname.com/the/right/path/to/the/repository. I double checked, and both the path and the hostname are correct.

我尝试使用file:// URL在托管回购协议的计算机上将其检出,但它成功完成,直到必须检出EXTERNALS为止,并在其中失败并显示No repository消息.我在本地和远程使用了同一用户.

I tried to check it out on the machine hosting the repo using a file:// URL, and it succeeded until it had to checkout the EXTERNALS, where it failed with the No repository message. I used the same user locally and remotely.

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

Where should I look for logs/debug information to solve this issue?

推荐答案

我找到了解决方法.我在这里写它以供将来参考.

I found my way through. I'm writing it here for future reference.

原来有一位同事在未通知的情况下修改了该文件.然而,找到问题的根源比理想的要困难得多.

It turns out a fellow colleague modified that file without notifying. Yet finding the cause of the problem was more difficult than ideal.

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

Long story short: even if I used the url svn+ssh://my-correct.hostname.com/the/right/path/to/the/repository the real path looked up on the server was /var/svn/the/right/path/to/the/repository. A wrong path indeed. But I think that the steps I did to find this might be useful to others, so I'll report them here.

首先,我(在服务器上)将/usr/bin/svnserve移至/usr/bin/svnserve.orig,并用以下内容放置我自己的svnserve:

First I moved (on the server) /usr/bin/svnserve to /usr/bin/svnserve.orig and put my own svnserve with these contents:

#!/bin/bash
strace -o /tmp/svntrace /usr/bin/svnserve.orig $@ | tee /tmp/svnserve-out

然后我再次运行结帐,然后服务器上的/tmp/svntrace尾部有我排查该问题所需的所有信息.

Then I run my checkout again, and after that /tmp/svntrace on the server had in its tail all the info I needed to troubleshoot the problem.

似乎在文件/var/svn/svnwrapper.sh中,使用-r选项设置了svn的新根目录.删除后,所有内容都像魅力一样.

It seems that in the file /var/svn/svnwrapper.sh a new root for svn was set with the -r option. After removing that all worked like a charm.

我仍然不知道发生了什么(过去曾经有用,我几乎可以肯定我没有做任何更改).

I still can't understand what happened (it used to work in the past and I'm almost sure I didn't change anything).

这篇关于SVN信息库停止与svn + ssh一起使用(但在服务器上本地工作)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆