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

svn:警告:处理的外部定义时出错,svn,Svn,我在用svn定义外部回购时遇到了一个Extange错误。在我的存储库中,我对需要身份验证(svn+ssh)的企业存储库进行外部定义。它在我的机器上运行得很好,但是我在我的机器和svn中都有相同的用户名 当我尝试将此签出复制到另一台具有不同用户名的机器时,所有签出都可以正常工作,直到它到达外部回购。此时,它尝试将外部与计算机的用户名同步,而不是将外部与我的svn用户名同步 我以这种方式设置外部参数: svn propset svn:externals 'dd1 svn+ssh://subversi

我在用svn定义外部回购时遇到了一个Extange错误。在我的存储库中,我对需要身份验证(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
(更多信息请访问:)

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