在没有提示输入密码的情况下在subversion中作为不同用户提交的方法

时间:2013-10-10 19:15:49

标签: svn

我们正在开发一个系统,在提交分支之前进行自动化开发人员构建和测试,以便分支始终处于良好状态。普通帐户从开发人员那里获取补丁并构建,测试然后提交它。整个过程发生在一个单独的机器池中。问题是,是否有一种方法可以将代码作为不同的用户提交而不需要svn提示输入密码。我们使用subversion 1.6和http访问方法。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用--username--password参数来传递用户名和密码。

然而,他们可能是更好的方式...

我认为运行测试并进行提交的系统可以在没有密码的情况下自行提交(或者使用--password参数,因为它知道自己的密码。)

您可以让系统将更改提交为自身,然后通过更改特定修订版本上的svn:author修订版属性来修改提交用户的名称。

$ svn ps --revprop -r $revision svn:author $patch_submitter $repository_url

您唯一需要做的就是在存储库中设置pre-revprop-change挂钩。这是一个安全问题,因为您不希望用户不顾一切地更改修订版本属性。主要有三个:svn:log是用户的提交消息svn:authorsvn:date是提交日期。由于没有这些属性的版本控制,如果这些属性发生了变化,就无法捕获。因此,钩子必须在那里更改修订属性。

然而,设置一个钩子并不难。只需检查想要进行更改的用户是否是补丁系统。

答案 1 :(得分:0)

使用带密钥的ssh提交不会提示输入密码。另请查看答案:SVN: How to commit without entering password?