首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVN服务器上的‘SVN签出’将导致回购程序因301错误而中断。

SVN服务器上的‘SVN签出’将导致回购程序因301错误而中断。
EN

Server Fault用户
提问于 2010-10-06 14:59:36
回答 1查看 910关注 0票数 3

我们有一个nginx服务器,它代理标准的Apache+SVN设置。nginx设置是一个非常简单的代理:

代码语言:javascript
复制
server {
    server_name svn.ourdomain.tld;
    location / {
        proxy_pass http://localhost:8080;
    }
}

Apache的设置如下:

代码语言:javascript
复制
<Location />
    DAV svn
    SVNParentPath /var/svn
    AuthType Basic
    AuthName "Authentication Required"
    AuthUserFile /var/svn/.auth
    Require valid-user
</Location>

...which允许我们使用类似于http://svn.ourdomain.tld/repo的东西访问存储库。我们已经运作了两年了,没有问题。

最近,我们发现我们需要在服务器本身上检出一个存储库,但是每当我们这样做的时候,它似乎破坏了回购。从那时起,它将只响应一个301 Moved Permanently错误。

我们试过:

  • svn co file:///path/to/repo
  • svn co svn://localhost/repo
  • svn co svn://svn.ourdomain.tld/repo
  • svn co svn+ssh://localhost/repo
  • svn co svn+ssh://svn.ourdomain.tld/repo
  • svn co http://localhost/repo
  • svn co http://svn.ourdomain.tld/repo

还尝试绕过nginx,得到相同的错误:

  • svn co http://localhost:8080/repo
  • svn co http://svn.ourdomain.tld:8080/repo

从另一台机器进行的签出按预期运行,直到我们尝试在服务器上签出,然后它拒绝使用相同的301错误。

更令人困惑的是,这个存储库服务器还承载了我们的哈德森CI服务器,它可以每小时提取和构建我们的项目。这使我们怀疑是svn客户端导致了通信错误。

同样令人困惑的是,删除然后使用svnadmin重新创建回购没有重置错误-回购仍然是不可用的,即使它是“新的”!重新启动apache和subversion (svnserve)对此或原始错误没有任何影响。

版本信息:

  • 操作系统:64位CentOS 4.2,2.6.27内核
  • svn客户端: 1.4.2 (服务器和远程客户端相同)
  • svn服务器: 1.4.2
  • httpd: 2.2.3

更新:

在回购服务器上运行时,svn export也会发生这种情况。从其他任何一个盒子/客户端运行,没有问题。下面是工作流程,以帮助澄清错误:

  1. [~repo-server~]# svnadmin create {repo}; chown -Rf www:www {repo}
  2. [remote-client]# svn checkout http://svn.ourdomain.tld/repo
  3. [remote-client]# svn add file; svn ci -m ''
  4. [~repo-server~]# cd /var/www; svn export file:///path/to/repo/trunk ourproject
  5. [remote-client]# svn update失败,错误为301

我还可以确认,这个框的主机名在这里没有影响,这是非常奇怪的:无论是否将svn.ourdomain.tld添加到/etc/hosts中,它仍然会中断--我们认为这可能是本地主机路由的一个问题,但情况似乎并非如此。

我们是否遗漏了文档中的一些内容,即当服务器位于同一个框上时,您不能签出回购协议?当我们在本地结帐时,我们怎样才能防止回购变得腐败?

EN

回答 1

Server Fault用户

发布于 2010-10-06 15:11:10

svn不处理HTTP重定向(这就是301错误),查看重定向指向的位置(wget,wireshark),从那里签出。

另外,这也是apache特有的问题,虚拟主机配置可能会破坏它。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/188189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档