我正在使用svn定义外部仓库时出现外部错误.在我的存储库中,我对需要身份验证的企业存储库(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)