svn:警告:处理的外部定义时出错



我在用svn定义外部repo时遇到一个extrange错误。在我的存储库中,我对需要身份验证的企业存储库(svn+ssh)进行了外部定义。它在我的机器上运行得很好,但我的机器和svn中都有相同的用户名。

当我试图将此签出复制到另一台具有不同用户名的机器中时,所有签出都能正常工作,直到它到达外部回购。此时,为了将外部与我的svn用户名同步,它尝试将外部与机器的用户名同步。

我以这种方式设置外部:

svn propset svn:externals 'dd1 svn+ssh://subversion.example.int/var/subversion/dd1/trunk' .
svn commit

我不能用和用户名定义外部,因为每个人都有自己的用户/密码

有什么想法吗?谢谢

已解决。

问题在于svn+ssh之间的组合。Ssh为svn提供用户名。您可以通过编写svn来强制使用用户名+ssh://username@svn.server.com/trunk,但使用默认用户名进行外部获取(因为这是一个不同的svn身份验证过程)。

解决方案是编写一个配置文件(~/.ssh/config)并在内部写入:

Host subversion.example.int
User svn_user

(更多信息,请访问:http://www.eall.com.br/blog/?p=105)

这样就可以在机器的用户和服务器的用户之间创建一个别名。在此之前,外部总是通过svn_user而不是machine_user询问您(只要您不更改外部表单subversion.example.int)

最新更新