1

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

谢谢 !

4

2 回答 2

1

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

然而,他们也许是更好的方法......

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

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

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

您唯一需要做的就是在您的存储库中设置一个 pre-revprop-change 挂钩。这是一个安全问题,因为您不希望用户随意更改修订属性。主要有三个:svn:log哪个是用户的提交信息,svn:author哪个svn:date是提交日期。由于这些属性没有版本控制,因此无法捕捉到这些属性是否被更改。因此,必须有钩子才能更改修订属性。

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

于 2013-10-10T19:34:19.103 回答
0

使用带有密钥的 ssh 提交不会提示输入密码。还要在这里查看答案:SVN:如何在不输入密码的情况下提交?

于 2013-10-10T19:26:34.960 回答